豆包 Seedance 2.0 mini 商品主图转5秒展示视频
适用场景
用户提供一张商品主图和一个最重要卖点,并希望获得主体稳定、重点明确的5秒商品展示视频时使用。这是单一交付任务;复杂内容应缩小为一个可在目标时长内完成的镜头,而不是自动拆成无上限批次。
不要用于多卖点广告、商品结构补全或需要真人演示的任务。如果用户只要求通用视频生成而没有本场景的输入或结果,应使用更宽泛的视频生成能力。
输入要求
- 确认所有素材来自用户提供的本地文件或 HTTP(S) URL,并明确每份素材在成片中的作用。
- 检查输入是否足以支持标题承诺,不从局部图片、声音或文字推断不存在的结构、身份、性能或事实。
- 如果使用音频,必须同时提供至少一张图片或一段视频;不要让音频单独调用 Seedance Mini。
- 缺少会改变核心结果的信息时只追问一个关键问题;其他细节采用克制默认值。
工作流程
- 先执行原任务;若返回
AUTH_REQUIRED,按 OAuth 授权步骤征求用户同意。 - 解析输入并执行本场景的核心决策:围绕单一卖点选择一种简洁运镜和光影变化,保持商品外形、颜色与标识稳定,不额外添加配件。
- 把决策写成一条运动明确的提示词,依次说明主体与场景、时间变化、镜头、光线与风格、必须保持稳定的元素以及禁止新增的内容。
- 默认时长为固定5秒,画面比例为1:1或9:16;仅在用户明确指定且处于模型范围内时覆盖。分辨率默认
720p,一次性草稿才使用480p。 - 使用重复的
--attachment保持素材顺序,运行scripts/generate.js --json --output-dir <独立目录>,只提交一次。保存并向用户展示taskId;running仅表示已受理。即使提交响应丢失,也不要自动重提,以免重复计费。 - 等待 30 秒后执行
scripts/query.js --task-id <taskId> --json自动查询同一任务。仍为running时每隔 30 秒再查;单次 Agent 运行最多查询 20 次,临近运行时限或用户要求停止时提前停。查询不重新提交。 succeeded时检查下载文件有本地绝对路径且字节数大于零,再报告生成成功;failed时报告任务错误并停止。查询网络错误不等于生成失败:保留taskId,30 秒后只重试查询一次,仍失败则报告中断。- 达到上限仍为
running时报告taskId和当前状态,后续运行只恢复查询,不生成替代任务,也不承诺未经授权的后台跟进。
输出契约
交付主体稳定、重点明确的5秒商品展示视频,以本地视频附件为主,并说明采用的时长、比例、分辨率和关键生成约束。临时 URL 只作诊断信息,不用本地路径字符串冒充附件。批量任务还必须返回条目到视频文件的映射和失败项说明。
不承诺精确文字、真人身份、口型、几何结构、物理性能、连续性或版权授权。有效但主观效果不理想时先展示结果,收到反馈后只调整相关镜头或运动,不自动再次生成。
OAuth 授权
正常执行原任务。缺少凭据时,脚本返回 AUTH_REQUIRED(退出码 2),不要把它当作可重试的业务错误,也不要要求用户自行获取或粘贴 API Key。
向用户说明将打开 UnityClaw 授权页面,并询问是否同意。只有用户明确同意后,才运行:
node scripts/authorize.js --authorize --json
授权命令只完成 OAuth 和凭据保存,不调用业务接口。成功后重新执行用户原来的业务命令一次;用户拒绝、取消、超时或授权失败时停止,不循环弹窗。不得回显、记录或写入凭据。
如果旧凭据无效,不要直接 OAuth 后重试;先排查并清理旧凭据,否则它可能覆盖新授权结果。服务端业务失败不触发 OAuth。
使用方式
用户请求:“把这张商品主图生成5秒方形展示视频。”
node scripts/generate.js \
--prompt "保持商品外形、颜色和标识稳定,用简洁环绕运镜与柔和光影突出用户指定的核心卖点,不新增配件" \
--attachment ./product-main-image.png \
--resolution 720p \
--ratio 1:1 \
--duration 5 \
--json \
--output-dir ./tasks/novaai-doubao-seedance-2-0-mini-product-main-image-to-5-second-showcase
本 Skill 必须提供商品主图;多个参考媒体使用多个 --attachment 参数。
查询已提交任务
提交返回 taskId 后,用独立命令查询并在成功时下载视频:
node scripts/query.js --task-id "<提交返回的 taskId>" --json --output-dir ./tasks