豆包 Seedance 2.0 mini 头像转动态介绍视频
适用场景
用户提供一张头像、人物定位和使用场景,并希望获得适合个人主页或自我介绍开场的动态视频时使用。这是单一交付任务;复杂内容应缩小为一个可在目标时长内完成的镜头,而不是自动拆成无上限批次。
不要用于数字人口播、换脸或身份认证。如果用户只要求通用视频生成而没有本场景的输入或结果,应使用更宽泛的视频生成能力。
输入要求
- 确认所有素材来自用户提供的本地文件或 HTTP(S) URL,并明确每份素材在成片中的作用。
- 检查输入是否足以支持标题承诺,不从局部图片、声音或文字推断不存在的结构、身份、性能或事实。
- 如果使用音频,必须同时提供至少一张图片或一段视频;不要让音频单独调用 Seedance Mini。
- 缺少会改变核心结果的信息时只追问一个关键问题;其他细节采用克制默认值。
工作流程
- 先执行原任务;若返回
AUTH_REQUIRED,按 OAuth 授权步骤征求用户同意。 - 解析输入并执行本场景的核心决策:保持面部、发型与服装特征,使用轻微表情、姿态和背景运动;不生成用户未要求的口型和身份信息。
- 把决策写成一条运动明确的提示词,依次说明主体与场景、时间变化、镜头、光线与风格、必须保持稳定的元素以及禁止新增的内容。
- 默认时长为4–8秒,画面比例为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和当前状态,后续运行只恢复查询,不生成替代任务,也不承诺未经授权的后台跟进。
输出契约
交付适合个人主页或自我介绍开场的动态视频,以本地视频附件为主,并说明采用的时长、比例、分辨率和关键生成约束。临时 URL 只作诊断信息,不用本地路径字符串冒充附件。批量任务还必须返回条目到视频文件的映射和失败项说明。
不承诺精确文字、真人身份、口型、几何结构、物理性能、连续性或版权授权。有效但主观效果不理想时先展示结果,收到反馈后只调整相关镜头或运动,不自动再次生成。
OAuth 授权
正常执行原任务。缺少凭据时,脚本返回 AUTH_REQUIRED(退出码 2),不要把它当作可重试的业务错误,也不要要求用户自行获取或粘贴 API Key。
向用户说明将打开 UnityClaw 授权页面,并询问是否同意。只有用户明确同意后,才运行:
node scripts/authorize.js --authorize --json
授权命令只完成 OAuth 和凭据保存,不调用业务接口。成功后重新执行用户原来的业务命令一次;用户拒绝、取消、超时或授权失败时停止,不循环弹窗。不得回显、记录或写入凭据。
如果旧凭据无效,不要直接 OAuth 后重试;先排查并清理旧凭据,否则它可能覆盖新授权结果。服务端业务失败不触发 OAuth。
使用方式
用户请求:“把我的头像生成一条个人主页动态介绍视频。”
node scripts/generate.js --prompt "<根据输入整理的场景提示词>" --attachment ./reference.png --resolution 720p --ratio adaptive --duration -1 --json --output-dir ./tasks/novaai-doubao-seedance-2-0-mini-avatar-to-dynamic-intro-video
没有参考媒体时删除 --attachment;多个参考媒体使用多个 --attachment 参数。
查询已提交任务
提交返回 taskId 后,用独立命令查询并在成功时下载视频:
node scripts/query.js --task-id "<提交返回的 taskId>" --json --output-dir ./tasks