短剧创作
AIK 短剧创作平台的项目、剧本、资产、分镜和素材接口
AIK 短剧创作平台以项目组织剧本、角色、场景、道具与分镜。所有请求使用本平台 API Key 或平台会话鉴权;同一账户更换密钥不会改变项目归属。
本版本开放项目草稿与素材管理,创作工具默认关闭。完成配置后,Agent 与人工模式可按步骤提交剧本/分镜解析、资产图片、角色音色、分镜视频,以及合并视频和剪映草稿导出。以项目能力接口的 enabled、price 与 options 为准;未配置能力返回 503 configuration_required,不会预扣费用,price: null 不表示免费。
工具目录
工具的 model_type 均为 tool。解析与导出返回结构化文本,导出结果设计为文件清单;图片、音频和视频使用各自的媒体类型。
| 模型值 | 用途 | 计量单位 | 当前状态 |
|---|---|---|---|
aik-dramart-script-parse | 剧本解析 | 次 | 配置后开放 |
aik-dramart-storyboard-parse | 分镜解析 | 次 | 配置后开放 |
aik-dramart-image-generate | 资产图生成 | 张 | 配置后开放 |
aik-dramart-voice-generate | 音色生成 | 次 | 配置后开放 |
aik-dramart-video-generate | 分镜视频生成 | 秒 | 配置后开放 |
aik-dramart-export | 片段、合并视频、剪映草稿 | 次 | 配置后开放 |
角色音色
在角色资产中保存 voice_prompt(最多 2000 字)和可选 voice_trial_text(最多 20 个计数单位,连续英文字母/数字计一单位,其余非空白字符逐字计数,总长度不超过 2000)。通过报价与任务接口提交 aik-dramart-voice-generate,resource_ids 指向角色,单次 count 为 1。报价单位为 call,每项数量为 1,不按试听音频时长收费;价格以项目能力和服务端报价为准。
成功候选的 media_type 为 audio,包含平台 file_id、生成时的 prompt 与 trial_text。使用素材内容接口试听或下载,在角色的 voice_candidate_id 中明确选用;清空该字段不会删除历史候选。只有归档完成后才结算成功;重复幂等提交不会重复扣费,提交不确定时查询原任务,不能自动重提。
视频能力的 limits.voice_references 为 true 时,分镜生成会使用所引用角色的 voice_candidate_id;最多引用 limits.max_voice_references 个角色音色(当前上限 10)。音色必须是当前项目、对应角色的已完成生成候选,并同时选定有效的角色形象。失效、跨项目或未完成的引用不能提交生成。复用已有音色只收取本次视频费用,不重复收取音色生成费。
视频引用还要求音色已完成文件检查;当前支持 MP3/WAV,每个文件不超过 15 MiB,时长为 2–30 秒,提交时按当前能力限制再次校验。不以文件名或声明的类型代替检查。缺少检查结果或超出限制时,该项任务返回 status: failed、error: voice_reference_unsupported、billing_status: not_charged,不会预扣本次视频费用,也不会新增候选。请更换合格音色,或清除角色的 voice_candidate_id 后重新报价提交;原音色候选仍保留。
提交时冻结角色、音色候选及形象关联,后续修改或清空音色选择不会改变运行中的任务。视频候选通过 voice_references 返回生成时使用的公开 resource_id、name 和 candidate_id,供历史回溯。音色库、本地上传及音频库尚未开放。
创建与读取项目
curl "https://your-domain.example/v1/drama/projects" \-H "Authorization: Bearer $API_KEY" \-H "Content-Type: application/json" \-H "Idempotency-Key: my-drama-project-001" \-d '{"name":"新的短剧","settings":{"mode":"manual","aspect_ratio":"9:16","resolution":"480p","style":"现代都市通用"},"synopsis":"","outline":"","episodes":[],"assets":[],"shots":[]}'当前项目设置接受 mode: manual 或 mode: agent,以及 480p、720p、1080p 分辨率。style 使用下表中的名称,空值表示现代都市通用;未知风格返回 422 settings_unsupported,不会创建待同步的无效版本。创建相同内容时重用 Idempotency-Key 返回同一项目;相同标识用于不同内容返回 409 idempotency_conflict。创建只保存草稿,不自动解析或生成。
| 分类 | 风格名称 |
|---|---|
| 真人 | 现代都市通用、电影感、古韵写实雅致风、美式真人通用、宫斗权谋冷峻风、国产悬疑冷调风、古偶唯美柔光、韩剧都市柔光、美式复古好莱坞、90年代中国农村电影 |
| 3D | 3D国风、3D仙侠、CG风格、3D卡通、CG赛博朋克 |
| 2D | 2D日漫、2D韩漫都市、2D韩漫、2D乙女、2D国漫、工笔画 |
自定义风格使用 style: "自定义",并提供 custom_style: {"name":"黑白胶片","prompt":"低饱和胶片颗粒","cover_id":"du_…"}。名称为 2–12 字(连续英文/数字计一字),提示词必填且不超过 500 字;cover_id 可省略,提供时必须引用当前项目已上传的图片。封面用于展示,提示词用于图片/视频生成并随任务冻结,不影响已经提交的任务。创作风格在创建项目后只读,不能再切换;自定义设置按项目保存。
剧本确认前还可修改以下 settings 字段。图片模型当前固定为 G Image 2.5 Sunburst(1K),是否可用以项目 capabilities 为准;配置选择不会直接触发扣费。
| 字段 | 选项 | 缺省值 |
|---|---|---|
asset_generation_mode | manual 自主配置、auto 智能生成 | manual |
image_model | g-image-2.5-sunburst(当前固定) | g-image-2.5-sunburst |
script_type | screenplay AI短剧、narration AI解说剧 | screenplay |
storyboard_style | 1.6、1.5.1、1.5、1.0 | 1.6 |
分镜解析使用 settings.storyboard_model 和 settings.storyboard_split_duration,在首次确认设定前保存,确认后锁定。候选模型值为 seedance-2.5、seedance-2.5-draft、seedance-2.0、seedance-2.0-fast、seedance-2.0-mini、wan-3.0;以当前项目分镜解析能力的 options 为实际可选范围,勿直接使用视频生成目录中的其他模型值。各项 durations 已按项目分辨率和执行能力过滤,通常2.5/样片/Wan支持15、20、30秒,2.0/Fast/Mini支持15秒。报价和提交仍会复核组合,分镜解析按次收费。
产品内分镜解析 Skill
以下为 sfwd Web 会话接口,前缀 /api/drama/storyboard-skills,不属于 API Key 网关的 /v1 路径。个人仅本人可见,团队与公司成员按资产库权限访问;创建者及对应组织管理员可维护。所有修改均校验会话与请求来源。
| 方法 | 相对路径 | 请求与用途 |
|---|---|---|
| GET / POST | / | 读取可见列表/创建;创建字段为 name、scope(personal/team/tenant)、teamId(团队必填)、scriptType(screenplay/narration)、description、prompt |
| GET / PATCH / DELETE | /{id} | 详情含草稿与版本;编辑提交原 revision;DELETE 归档 |
| POST | /{id}/publish | {revision};正文及剧本类型摘要须有成功测试,发布新不可变版本 |
| POST | /{id}/unpublish | 下线,保留草稿与历史版本 |
| POST | /{id}/tests/quote | {request_id,revision,script},UUID 固定一次测试,剧本最多1000字;准备环境后返回报价 |
| POST | /{id}/tests/{test_id} | {quote_id},用户确认报价后提交;重复请求恢复原任务 |
| GET | /{id}/tests/{test_id} | 仅原测试者恢复状态及安全结果,不暴露计费凭证与上游标识 |
列表的 selectable=1&project_id=…&script_type=… 返回当前项目有权使用、类型匹配的已发布版本。草稿提示词最多20000字;修改正文或类型后须有对应摘要的成功测试,名称与简介不要求重新测试。测试使用独立任务,先确认报价再执行,不修改正式项目。
项目 Web 保存仍走 /api/projects/{projectId}/drama,客户端选择仅需提交 settings.storyboard_skill: {id,version}。Web 服务端读取权威发布快照,包含名称、剧本类型、提示词和 content_hash;摘要为 SHA-256(script_type + "\n" + prompt 的 UTF-8 字节)。选内置风格时提交 storyboard_skill: null,沿用 storyboard_style。已选版本不会随新发布自动切换,确认剧本前重查发布与权限,确认后设置锁定。下线和归档禁止新选,已确认项目保留历史快照。
旧执行端在同步时返回公开 sync_error: sync_executor_update_required;报价返回 503 custom_skill_executor_required。先更新并启动支持该能力的 Geek App 及 Bridge 0.7.126,再恢复原操作,不会回退成内置解析。
确认下一步时,将 document.script_confirmed_version 设为本次保存后的版本(请求 version + 1)。保存成功后此标记与 settings 均不可再修改,返回 409 settings_locked;补充剧本保留已确认配置。创作风格 style/custom_style 从项目创建起只读。确认不产生图片费用;智能生成通过已有报价/任务接口逐项提交,运行中、已完成、结果不确定及失败任务不会自动重新提交。每次任务使用其保存的配置快照,分镜版本会在开始解析前核实是否适用于所选剧本类型。
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /v1/drama/projects?limit=50&offset=0 | 当前账户项目,limit 为 1–100 |
| POST | /v1/drama/projects | 创建项目,必须提供幂等标识 |
| GET | /v1/drama/projects/{project_id} | 项目文档与版本 |
| PATCH | /v1/drama/projects/{project_id} | 完整保存文档 |
| DELETE | /v1/drama/projects/{project_id} | 删除项目,If-Match 指定当前版本 |
| POST | /v1/drama/projects/{project_id}/sync/retry | 核查失败的同步并恢复可安全继续的步骤 |
| GET | /v1/drama/projects/{project_id}/capabilities | 工具开关、媒体类型、价格、选项及参数限制 |
返回示例:
{
"id": "dp_example",
"version": 1,
"synced_version": 0,
"sync_status": "pending",
"document": {
"name": "新的短剧",
"settings": {"mode":"manual","aspect_ratio":"9:16","resolution":"480p","style":"现代都市通用"},
"synopsis": "",
"outline": "",
"episodes": [],
"assets": [],
"shots": []
}
}sync_status 与草稿保存分开:保存成功表示平台已持久化,不能视为已具备生成条件。同步服务启用后,在后台推进版本。只有 sync_status: synced 且 synced_version 等于当前 version 才允许生成。同步失败时保留草稿,不把失败标为成功。
同步失败后的恢复
向 /v1/drama/projects/{project_id}/sync/retry 提交当前项目版本:
{"version":3}响应为 202 和项目文档,表示恢复请求已受理,不表示同步完成。重复请求不会重置正在进行的恢复;过期版本返回 409 version_conflict。仍由同一项目账户执行,不产生生成任务或费用。请继续读取项目状态,直到当前版本已同步。
读取失败可以重新读取;删除或分镜排序结果不确定时,先核查实际结果,只有确认后才继续。无法安全确认的创建或修改不会重新提交,此时项目保持 failed 并显示需管理员核对的提示。不要通过反复修改或重复创建绕过待确认状态。
恢复先处理原先中断的版本;其间保存的新草稿仍然保留,待原版本确认后再同步新版本。工作台要求先保存本地修改再发起核查。恢复期间不能生成,已运行的生成任务不会被重新提交。
编辑与版本冲突
保存时传入上次读取的版本和完整文档:
{"version":1,"document":{"name":"修改后的短剧","settings":{"mode":"manual","aspect_ratio":"9:16","resolution":"480p","style":"现代都市通用"},"synopsis":"概要","outline":"创作大纲","episodes":[],"assets":[],"shots":[]}}过期版本返回 409 version_conflict;请保留本地草稿、重新读取最新版本并人工合并,不要自动覆盖。成功后版本加一。
episodes、assets、shots 支持集合 GET、POST,以及 /{resource_id} 的 PATCH、DELETE。单资源写入通过 If-Match 指定项目版本;PATCH 为完整资源替换。可在项目文档中插入剧集、调整同一剧集的分镜顺序;只有顺序同步确认后才允许生成。
删除剧集、资产或分镜前,当前版本必须已同步,项目中不得有执行中或结果待确认的任务;否则分别返回 409 delete_not_synced、409 project_busy。删除也适用版本检查,包括在完整文档中移除资源。成功响应返回新版本的项目文档,后续仍需等待 sync_status: synced;保存受理不等于同步完成。
删除资产前必须解除分镜和衍生设定引用;删除剧集前必须移除该集分镜并解除资产关联,引用不完整返回 422 reference_invalid。已有剧集的项目至少保留一集,否则返回 422 last_episode。删除最后一个分镜后可继续新增。历史生成文件保留,删除资源不会重新收费;结果未确认时不要反复提交删除请求。
当前暂不开放重排已有剧集、跨集移动分镜和更改已有资产类型,返回 422 structure_unsupported。这些拒绝响应不会修改已保存内容。删除整个项目仍使用项目 DELETE;执行中或结果待确认的任务会阻止删除项目,返回 409 project_busy。
| 资源 | 字段 |
|---|---|
分集 de_… | title、summary、script |
资产 da_… | kind(character/scene/prop)、name、description、prompt、episode_ids、reference_ids、可选 parent_id、selected_candidate_id、voice_prompt、voice_trial_text、voice_candidate_id |
分镜 ds_… | episode_id、original、prompt、asset_ids、reference_ids、duration、model_option、generation_mode(reference/frames)、可选 selected_candidate_id、latest_video_candidate_id |
资源 ID 为平台 ID;候选只能选用于所属项目及对应资源。文档数组的顺序即展示顺序。资产衍生关系不允许循环。封面和资产参考必须为图片,分镜参考可使用图片、音频或视频;剧本文件必须是支持的文档格式。
selected_candidate_id 是实际选用的视频;latest_video_candidate_id 记录工作台已处理的最新视频结果。新结果归档后工作台自动选用并保存,之后手动改选不清除最新结果记录,避免轮询或重新打开页面覆盖人工选择。两项候选均须属于该项目和分镜。
导入设定形象
POST /v1/drama/projects/{project_id}/import-image 接收当前 version、设定 resource_id 与本项目图片 file_id。图片可来自上传接口或本项目已有候选;仅接受 20 MB 内 PNG、JPEG、WebP,不接受 URL。
{"version":3,"resource_id":"da_example","file_id":"du_example"}返回平台候选字段 id、resource_id、file_id、media_type、prompt、created_at。同一设定重复导入同一文件返回同一候选,不创建生成任务或收费;跨账户、跨项目文件拒绝访问。导入后用版本化保存设置该资产的 selected_candidate_id;导入本身不覆盖当前选片。已有候选保留,导入形象可作为变装或分镜视频参考,并继续绑定角色音色。
上传与下载
POST /v1/drama/uploads 使用 multipart/form-data,字段为 project_id 和 file。剧本支持 UTF-8 TXT / Markdown(.md)、PDF、DOCX,最高 20 MB;参考素材支持 PNG、JPEG、WebP、MP4、WAV、MP3,最高 100 MB。文件签名必须与扩展名匹配,存储服务不可用时返回 storage_unavailable。
返回 id、name、mime_type、size 和 url。图片、音频、视频使用可直接访问的 OSS 公开链接;剧本原稿使用短期签名链接。引用文件仍使用 du_… ID,保存引用时不要写入 URL。
GET /v1/drama/uploads/{upload_id}/url?project_id={project_id} 需鉴权并校验文件归属,返回 url、mime_type、name。原 GET /v1/drama/uploads/{upload_id}/content?project_id={project_id} 改为 302 跳转到该链接,浏览器直接从存储读取文件,Range 请求由存储处理。两接口增加 download=1 可获取带附件文件名的短期签名链接;已有素材下载不提交生成任务。公开媒体链接可匿名访问,分享入口停用不会撤销已取得的文件链接。
候选与任务
项目设置可包含 storyboard_skill,字段为 id(UUID)、version、name、script_type、prompt 与 content_hash。提示词最高 20,000 字;摘要为 UTF-8 文本 script_type + "\n" + prompt 的 SHA-256 小写十六进制。该快照用于分镜解析,选择内置风格时清除该字段。剧本确认后不能修改,已提交任务始终读取其原版本快照。工作台的 Skill 管理与组织权限由工作台登录会话校验,客户端不能提交原生执行标识。
GET /v1/drama/projects/{project_id}/candidates:候选历史及生成提示词,不自动更改当前选片。候选可返回直接访问的url,响应中的file_urls为本项目已公开媒体的文件 ID 与链接映射;未包含的文件可通过上述链接接口读取。视频候选另返回生成快照中的duration(秒),播放器读取实际媒体时长后以实际值为准;修改分镜草稿不改变历史候选时长。GET /v1/drama/projects/{project_id}/tasks:最近 500 项任务。GET /v1/drama/projects/{project_id}/tasks/{task_id}:单任务状态。POST /v1/drama/projects/{project_id}/quote:根据已同步内容获取逐项人民币报价;只读,不创建任务、不预留额度。POST /v1/drama/projects/{project_id}/tasks:提供Idempotency-Key,提交模型、已同步版本和资源 ID;成功返回202及{data: [...]}任务列表。POST /v1/drama/projects/{project_id}/tasks/{task_id}/cancel:记录停止等待意图。upstream_cancelled: false表示执行尚未确认停止,不等于取消成功,也不触发自动退款。
先向 /quote 提交模型、已同步版本和资源 ID(每批 1–100 项)。报价响应示例:
{"id":"dq_example","version":3,"currency":"CNY","total":"1","items":[{"resource_id":"da_character","unit":"image","quantity":1,"unit_price":"1","amount":"1"}]}金额以十进制字符串返回,示例金额不代表实际售价。工作台显示逐项数量、单价和合计,用户确认后提交完全相同的请求并附带 quote_id。服务端在提交时重新计算内容与费用;价格或报价所绑定内容变化时返回 409 quote_changed,版本变化也可能返回 version_conflict 或 version_not_synced,均不会因此创建任务或扣费。重新报价后须重新确认,不能自动提交。
报价无需按时间过期;内容、账户、费率、汇率及计费额度的指纹必须一致。已接受的相同幂等请求优先恢复原任务,即使报价配置后来变化,也不会重新扣费。直接调用任务接口可省略 quote_id,这表示接受提交当时的服务端价格;交互式客户端应始终先展示报价并携带其 ID。
确认后的生成请求示例:
{"model":"aik-dramart-image-generate","version":3,"resource_ids":["da_character"],"quote_id":"dq_example"}当前每项生成一个候选。当图片能力的 limits.references 为 true 时,可将本项目的图片素材 ID 写入资产 reference_ids,支持 PNG、JPEG、WebP,单张不超过 limits.reference_image_max_bytes(当前 20 MiB);总参考数不超过 limits.max_reference_images,衍生设定的主图也占一个名额。提交冻结引用,文件缺失、跨项目、重复或超出限制会被拒绝,不会静默丢弃。视频为标准参考模式,时长 4–15 秒,具体分辨率以能力接口为准。当能力的 limits.variants 为 true 时,可用同类型主资产的 parent_id 创建一层角色变装或场景/道具衍生。主资产须已选定本项目图片候选,提交会固定该候选作为参考;后续换图不会影响运行中的任务。已有资产不可更换父资产,也不可嵌套衍生。创建和编辑衍生草稿不收费,生成按图片计价。视频的 asset_ids 只能引用本项目已选定图片候选的资产;未选定或失效的引用会被拒绝。未接通参数返回 422 parameters_unsupported,不会被静默忽略,也不会预扣费用。能力接口即使 enabled: false 仍返回当前支持的 options 和 limits(references、variants、generation_modes);这只描述参数范围,不代表工具已开放。
每项任务固定内容、参数和价格快照,分别预留与结算费用;相同幂等键和内容返回原任务,项目后续编辑不会改变已提交任务。不同内容重用同一键返回冲突。任务的 cost 使用人民币,billing_status 区分预留、已结算和已退款。
preparing / reserved / submitting / queued / running / postprocessing 表示进行中,completed 表示结果已归档并进入候选历史。result_unknown 继续核对原任务;reconciling 表示费用需核对,两者均不自动重做或退款。仅明确失败的项目可重新提交。工作台在新视频归档后默认选用,之后可在候选历史中手动改选。
可用功能以项目能力接口为准;未启用的功能不会提交或预扣费用。已有视频的 ZIP 下载使用下方文件接口,不依赖导出模型开关。
下载分镜视频与历史视频
POST /v1/drama/projects/{project_id}/download-clips 按保存版本中的剧集与分镜顺序,打包当前选片;include_history: true 时同时包含对应分镜的全部历史视频,每个候选仅出现一次。只下载已有文件,不创建生成任务或重复收费。
{"version":3,"episode_id":"de_example"}省略 episode_id 表示所有剧集,提供时只下载指定剧集。客户端应先保存选片和排序,再提交保存成功的 version。过期版本返回 409 version_conflict;请求受理后固定本次选片,之后编辑不改变下载内容,不要求等待生成同步。
工作台右上角三项下载均针对当前集:「下载分镜视频」使用默认请求;「下载所有视频」增加 include_history: true,包含当前选片与历史生成视频;「下载合并视频」使用下方合并任务接口。名称中的“所有视频”不会自动扩大到其他剧集。
成功返回 200 application/zip 与附件文件名。默认包中的 episode-001/shot-0001.mp4 等文件按剧集、分镜编号命名;包含历史时改为 episode-001/shot-0001/current.mp4 和 history-0001.mp4 等,历史按生成时间从新到旧排列。保留原 MP4、MOV 或 WebM 格式,不进行转码。manifest.json 包含项目名称、版本、include_history、片段文件名、平台剧集/分镜/候选 ID、每个片段的 selected 标记,以及 unselected_shots 数量。
默认跳过未选片分镜;包含历史时,没有当前选片但已有视频的分镜仍会打包,跳过计数仅包含没有视频的分镜。已有选择但候选失效会报错;没有可下载片段返回 422 reference_invalid。所有片段准备完成后才返回 ZIP,文件读取失败返回 503 storage_unavailable,不会返回缺片的压缩包。每次最多 100 个片段(含历史)且 ZIP 不超过 256 MB,超出返回 413 download_limit,请按剧集分别下载;服务繁忙返回 503 download_busy,可稍后重试。取消下载或重试不会重复生成或扣费。
错误
响应形如 {"error":{"code":"version_conflict","message":"…"}}。常见错误包括 invalid_request、settings_unsupported、parameters_unsupported、not_found、reference_invalid、version_conflict、quote_changed、idempotency_conflict、configuration_required、storage_unavailable、download_limit、download_busy。项目与文件跨账户访问返回不存在。
任务受理后的逐项错误在任务 error 字段中返回。例如 voice_reference_unsupported 表示音色未完成检查或不符合视频引用要求;该项不会扣费。cost 保留提交时的报价,实际计费状态以 billing_status 为准。
剧本与分镜解析
剧本解析提交 aik-dramart-script-parse,resource_ids 为当前项目 ID。输入来自已保存的 script_file_id(当前支持 UTF-8 TXT/Markdown)或 outline;创建 Agent 项目不会自动扣费。分镜解析提交 aik-dramart-storyboard-parse,resource_ids 为剧集 ID,使用提交版本的分集 script。两项均按次报价和结算。
项目文档可保存 script_sources: [{"file_id":"du_…","name":"续集.md"}],用于保留原稿和补充稿。最多 100 份,文件 ID 不得重复,名称必填且不超过 600 字节,所有文件须属于当前项目和项目固定账户且为剧本文档。上传补充稿后,保留已有来源并追加新文件,同时将 script_file_id 设置为本次要解析的文件;切换解析稿不会删除原文件或修改已有剧集、资产与选片。解析每次仅处理选中的一份,当前支持最多 10 万字、400 KB 的 UTF-8 TXT/Markdown。提交后文件选择随任务快照冻结,后续切换不改变运行中的任务。解析结果需确认后追加,重复应用同一任务不会重复添加剧集。
完成后任务的 result 包含 synopsis、outline、episodes、assets 和 shots。资产的 episodes 与分镜的 assets 使用结果数组中从 0 开始的索引;不包含执行账号或私有资源信息。结果保留在任务记录中,不会自动覆盖项目。工作台的“应用解析结果”追加分集/分镜、匹配同名资产,保留已有编辑和选定候选;保存仍需提交当前项目版本,过期版本返回冲突。
合并视频与剪映草稿
向任务接口提交 aik-dramart-export,export_type 为 merged(MP4)或 draft(ZIP)。合并视频的 resource_ids 为剧集 ID,每次最多50个片段。剪映全集导出提交 resource_ids: [项目ID]、export_type: "draft",只创建一笔导出任务;也可用剧集ID导出单集草稿。全集各集必须已有分镜,导出范围内每个分镜都须选定已完成的视频候选,缺片会拒绝报价。剪映最多1000段,总素材大小仍不得超过512MB。服务端按剧集及分镜顺序冻结选片,素材文件名和剪映素材名为“第1集-分镜1.mp4”,每集从分镜1重新编号。运行期间切换候选不会改变此次导出;重复结果回传只结算一次。工作台确认后显示处理中,文件归档可用后自动下载,重复轮询不重复触发,并保留手动下载入口。
完成后的候选 media_type 为 text,file_id 指向实际导出文件;文件内容接口保留 video/mp4 或 application/zip。任务的 export_type 标明下载类型。归档失败进入后处理恢复,不重新提交导出。已有文件的下载不再次收费;剪映 ZIP 不经过视频转码。合并视频由 AIK 执行器统一声音与画面格式后制作;剪映草稿保留原片段、声音、连续时间轴、素材校验清单和导入说明。解压后可复制到剪映草稿目录并重新链接素材,或使用包内导入脚本修正本机素材路径。
工作台的合并下载窗口展示缺片检查、报价确认、任务进度与 MP4 下载入口;重新打开时复用同一剧集和保存版本的已有任务及结果。结果待确认时仅核对原任务,明确失败后才可再次确认报价重新合并。
提示词适配与优化
POST /v1/drama/projects/{project_id}/prompt-tasks 使用 Idempotency-Key,请求如下:
{"version":3,"kind":"shot","resource_id":"ds_example","instruction":"保留对白,让动作连贯,补充运镜","include_prompt":true,"include_original":true}kind=asset 用于角色、场景、道具及变装提示词适配,instruction 传空字符串。kind=shot 为分镜优化,必须填写要求;可分别选择原文和现有提示词是否作为上下文。项目须已同步当前版本。同一资源只允许一个未结束的提示词任务。
返回任务使用平台工具标识 aik-dramart-prompt-optimize,billing_status=free,不会预扣费用。通过项目任务列表查询,完成后 prompt_result 包含 prompt、question、understanding,previous_prompt 保留修改前的文本。结果不自动覆盖草稿;客户端确认应用或回滚后仍按项目版本保存。每次请求使用独立上下文,历史记录不会自动加入下一次请求。结果待确认时恢复原请求,不重复生成。
视频精准编辑、画质增强与字幕擦除
GET /v1/drama/projects/{project_id}/video-tools:返回已启用的编辑/增强/擦除模型、输出分辨率及input_min_seconds/input_max_seconds。编辑模型同时返回公开rules和当前账户可见的model_lines;实际调用仍须通过模型及线路权限检查。POST /v1/drama/projects/{project_id}/video-tool-quote:按项目拥有的视频候选与模型现有费率计算人民币总价,不提交付费生成。POST /v1/drama/projects/{project_id}/video-tool-tasks:原报价请求增加quote_id,并发送Idempotency-Key。内容、版本、线路或价格变化时要求重新报价。重放相同请求返回原任务。
{"version":3,"tool":"edit","candidate_id":"dc_example","model":"seedance-2.5","prompt":"将外套改为蓝色,保留动作、背景和声音","resolution":"720p","reference_ids":["du_reference"],"start_ms":1000,"end_ms":5000}edit 的模型必须明确支持视频编辑。可添加最多 9 张本项目 PNG/JPEG/WebP 参考图;源片段遵守模型返回的时长限制;当前 seedance-2.5 编辑为 4–30 秒,输出支持 480p/720p。start_ms、end_ms 省略或都为 0 表示整段;指定时只处理该时间区间,并保留原候选。区间准备可能产生免费的临时素材。输出时长与费用由服务器读取实际视频后校验。
编辑请求可选 model_line_id(当前模型可见线路的正整数 ID)与 video_quality_mode(native 原生/enhanced 增强)。省略线路时跟随账户默认策略,省略画质时使用实际线路默认值;增强须由所选线路支持。报价与提交须保留同一组线路、画质和素材参数,改变选择后重新获取报价。
upscale 使用 aik-upscale,参数包括 resolution(720p/1080p/2k/4k)、tool_version(standard/professional)、fps(30/60)、enhance_style(hd/natural)、bitrate_level(low/medium/high)。erase 使用 aik-erase,参数为 erase_mode(Subtitle/Text)、output_encode_mode(Quality/Size)。两者不接受编辑时间范围或参考图。
三项工具沿用所选模型的实际计费规则,可能按秒或按次,界面以服务端总价为准。协作者仍使用项目固定账户。新结果完成归档后加入分镜候选,只有显式选用才进入连续预览、片段下载及合并/剪映导出。下载或归档失败只恢复后处理,不重新生成;取消仅表示停止等待,费用继续按原任务对账。查询到退款凭据后才显示已退款。
当视频能力的 limits.references=true 时,普通分镜生成的 reference_ids 也支持本项目图片,包括工作台保存的视频帧。图片与 asset_ids 引用的资产合计最多 16 个,并须满足模型实时限制;音频、视频文件暂不通过此字段提交。视频帧的本地截取和下载免费。
项目素材库的视频帧保存在项目文档的可选 video_frames 数组中,每项为 {"file_id":"du_…","name":"视频帧 00:01.25"}。先上传 PNG 图片,再使用当前项目版本保存完整文档;每个项目最多 1000 项,文件 ID 不得重复,名称必填且不超过 600 字节。文件必须属于本项目及项目固定账户,且为图片。保存视频帧不会自动修改分镜的 reference_ids;用户明确选择后才作为生成参考。取消分镜引用或删除源分镜不会移除素材库记录,已有图片通过素材内容接口查看或下载。