本技能只负责把已经写好的生产规格安全送到运行环境配置的 adapter。图片提示词、视频提示词、台词与录音表、声音身份分别由对应的其他技能负责,本技能不负责创作这些内容。
使用方式:用户明确要求实际生成后,从当前的图片提示词.md、分镜.md 或视频提示词.md 中取出本次提示词,建立一个有边界的运行 job。creator-first job 的 source 必须指向拥有这条提示词的当前 Markdown,source_entry 必须点名该文档允许的二级标题:图片提示词.md 用 IMG-,视频提示词.md 用 MOTION-,分镜.md 用 SHOT-(modality 为 image,正文取该镜的“### 冻结关键帧提示词”)。此选择器只提取首帧;尾帧需先由图片提示词阶段建立独立 IMG- 状态图条目,再从图片提示词.md 准备 image job。创作者也可以提供已有起始帧——在自己的工具里出图再放进项目同样成立,图片始终不进项目时走分镜的 PLAN-...;产出落在 剧集/<EP>/制作成果/images/ 后,分镜 owner 才能把它绑成“用途:起始帧”的 REF-...。存在真实参考图时,还必须逐张填写 reference_bindings 的槽位、顺序、路径、中文名、用途以及允许/禁止控制范围;内置视频 adapter 把这里的“用途”字段读成供应商自己的 role,只接受它公布的取值(MiniMax 为 first_frame/last_frame/reference_image/reference_video/reference_audio,Seedance 为三个 reference_);带参考图却没有绑定的 job 会直接失败,不替它猜一个 role。本地图片由内置 adapter 按 base64 data URI 直接送出,不需要自建上传服务。MOTION- 的“参考音频”行同样逐条进 reference_bindings,排在图片之后、role 固定为 reference_audio、character 照抄该行的“角色”;adapter profile 没有声明接受 reference_audio 时 run 在提交前失败。条目的“输入参考图”写成 PLAN-... 时,那些图片在创作者自己的工具里,项目内没有文件可送:prepare 直接失败并说明先把真实文件放进项目、改写成 REF-...,不拿计划当输入,也不静默丢掉参考。references 可以省略并由绑定顺序生成,也可以作为相同顺序的显式镜像。
硬闸门:每次生产都必须经过四步,顺序不可合并:1. 建立一个有边界的 job:一种 modality、明确数量、完整 prompt/spec、参考文件、参数、输出路径和 adapter profile。2. 运行 prepare,把返回的完整预览展示给创作者,尤其是数量、prompt、source entry、reference bindings、references、outputs、overwrite 与 adapter。3. 等创作者明确确认。只有明确同意这项当前任务,才运行 confirm。4. 运行 run。job、prompt、参数、输出路径或直接输入任一变化,旧确认立即失效。
命令(由 production_tool.py 提供): prepare <project> --job <job.json> confirm <project> --job-id <id> --confirmation "CONFIRM <id> <code>" run <project> --job-id <id> --adapter-config <outside-project-config.json> status <project> --job-id <id> collect <project> --job-id <id> --adapter-config <outside-project-config.json> audit <project>
输入选择:image 读取 图片提示词.md 的当前 IMG-* 可复制正文,或 分镜.md 的当前 SHOT-* 冻结关键帧正文;video 读取 视频提示词.md 的当前 MOTION-* 可复制正文;tts 从 剧本.md 读取原句与表演要求,声音参考由用户或现有媒体明确提供;music 读取 视频提示词.md 中创作者已确认的时间线音乐章节。一个 job 不混合 modality。
Adapter 边界:adapter 配置必须在项目外,只包含 argv 命令和超时;凭据由 adapter 自己从进程环境或系统凭据存储读取。脚本以 JSON stdin 调用 argv 数组,不使用 shell,不拼接命令。本技能可选提供四个 stdlib adapter:Seedance、GPT Image 2、MiniMax Music、MiniMax 语音、MiniMax H3 视频。仓库自带 fixture_adapter.py 只用于离线测试。
中断不等于要重跑:视频任务在提交那一刻就已经计费。内置 adapter 在拿到供应商任务 ID 的第一时间就把它写进 handle_path。中断之后:audit 会把带着任务 ID 的未完成尝试报成 orphaned_provider_job,action 是 collect_before_retry;collect 用那个 ID 取回结果并把这次尝试标成成功;只有在 collect 也确认那边确实失败之后,才走重新确认与重投的老路。
结果与复核:成功后回报实际输出路径、媒体类型和运行状态;多任务或重试后先运行 audit。生产结束后不自动进入剪辑。如需质量复核,报告可把已有结果另行交给 $short-drama-review。
安装维护:只有安装、升级或排障时运行离线自检:python3 scripts/selftest.py 与 python3 scripts/provider_adapters.py --selftest。