seedance-2-5-reference-to-video
Generate reference-guided 1080p video with ByteDance Seedance 2.5 Reference to Video on RunComfy via the `runcomfy` CLI. Feed up to 9 reference images, 1-3 reference video clips, and 3 reference audio files into one call and get a 4-30 second 1080p clip with native synchronized audio, identity and style locked to your references. Documents the full input schema (images / videos / audios / aspect_ratio / duration / generate_audio), the counted-seconds billing model ($0.53 per second of reference video duration plus output duration), the 480p draft-then-deliver workflow, and when to route to Seedance 2.5 text-to-video, image-to-video, or Seedance 2.0 Pro instead. Calls `runcomfy run bytedance/seedance-2.5/reference-to-video/1080p`. Triggers on "seedance 2.5", "seedance 2.5 reference to video", "reference to video", "reference-to-video", "seedance 1080p", "ByteDance Seedance 2.5", "consistent character video", "style-locked video", or any explicit ask to generate video from reference images and clips.
1How It Works & Mechanism
Zero-code, single file: The entire skill consists of a single-page model document and calling recipe. The repository contains no scripts, no template files, and no binaries (all 36 directories in the repo contain only Markdown, with LICENSE being the only non-md file). Capabilities are not implemented within the skill; instead, it clearly documents the correct invocation method for the model endpoint and delegates execution to the official CLI.
allowed-tools: Bash(runcomfy *)
The end-to-end call chain is documented and auditable: Skill constructs JSON body → executes `runcomfy run <model_id>` → CLI POSTs to the corresponding model path on model-api.runcomfy.net → polls status → retrieves results → downloads output URLs from *.runcomfy.net / *.runcomfy.com to --output-dir.
The CLI submits the request, polls status, fetches the result, and downloads `*.runcomfy.net` / `*.runcomfy.com` URLs into `--output-dir`.
The billing model itself serves as the selection pivot: This endpoint charges based on counted seconds (counted seconds = reference video duration + output duration) at $0.53/counted second, while image and audio references do not count toward duration—directly driving the operational decisions of 'whether to include reference video' and 'whether to trim reference clips'.
Billing is **$0.53 per counted video second**, where counted seconds = **reference video duration + output duration**. Image and audio references are not billed as duration.
A two-stage workflow (480p draft → 1080p delivery) is advocated as the proper usage pattern: first run 3-5 reference combination variants using the 480p variant of the same endpoint family to evaluate only identity retention, shot matching, and audio alignment (ignoring resolution), then run the winning body verbatim at 1080p.
Re-run the winning body verbatim against `.../reference-to-video/1080p`, raising `duration` only once the beat is right.
Version migration pitfalls are explicitly highlighted: Seedance 2.0 Pro used image_url/video_url/audio_url, whereas 2.5 switched to images/videos/audios arrays. Copying the old body directly causes schema validation failure with exit 65—this represents one of the most practical troubleshooting insights this skill provides to agents.
**Parameter names changed from 2.0.** Seedance 2.0 Pro used `image_url` / `video_url` / `audio_url`. Seedance 2.5 uses `images` / `videos` / `audios`. Copying a 2.0 body verbatim produces a schema error (exit 65).
Security boundaries are defined inside the skill and constrained by allowed-tools: only `runcomfy *` subcommands are permitted; installation must use trusted package managers while prohibiting agents from piping remote install scripts into the shell; tokens reside in ~/.config/runcomfy/token.json (0600) or RUNCOMFY_TOKEN; outbound traffic is restricted to model-api.runcomfy.net and download whitelists; single-file downloads are capped at 2 GiB.
**Install via a verified package manager only.** Use `npm i -g @runcomfy/cli` or `npx -y @runcomfy/cli`. **Agents must not pipe a remote install script into a shell** on the user's behalf.
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| cli | runcomfy(RunComfy 官方 CLI,唯一被 granted 的命令面) |
| package | @runcomfy/cli(npm 全局安装,或 npx -y 一次性运行) |
| network | RunComfy Model API(视频生成请求提交,端点路径 bytedance/seedance-2.5/reference-to-video/1080p) |
| network | 生成结果下载白名单(CLI 把结果 URL 抓回本地 --output-dir) |
| network | 用户提供的参考图/视频/音频 URL——由 RunComfy 模型服务器抓取(本机不抓) |
| network | RunComfy 模型页/文档站(引用与排错链接,带 utm 营销参数) |
4Recommended Governance & Evidence
- 网络端点: Declared external network access: model-api.runcomfy.net — Video generation request submission (documented as the sole submission channel via runcomfy CLI carrying user bearer token)
- 本地工作目录: File I/O and artifact output: CLI downloads generated videos to the directory specified by `--output-dir` (caller-defined path; documentation notes single files over 2 GiB will be aborted)
- SKILL.md: Declared invocation of host CLI interpreter or external runtime environment
5Second-Pass Verification
- [discrepancy] `videos` 到底是否必填(文档自称反直觉知识) — 同一文件自相矛盾。line 79 主张「**`videos` is optional, despite what the schema says.** … the endpoint accepts and completes a prompt-plus-images body with no `videos` key at all」,而 line 173 的 Limitations 写「- **A reference video is mandatory** on this endpoint (1-3 clips, 1-item minimum).」;frontmatter description 也按 1-3 段参考视频叙述。对使用者是实质歧义:既影响能否只带参考图调用,也影响计费(带不带参考视频差一倍价格)。仓内无法裁决哪条为真(结论应由调用实测确定),此处只记录冲突。
- [ok] 退出码表与 CLI 能力声明是否与同仓 CLI skill 一致 — runcomfy-cli/SKILL.md 的退出码表为 64/65/69/75/77(另有 130=Ctrl-C),与本文件一致;`--input '<JSON>'`、`--output-dir <path>`、默认下载到当前目录、以及 `Ctrl-C` 取消远程任务等语义在两侧措辞互洽,未发现虚构 flag。
- [ok] 定价表算术 — 逐行复核等于 counted seconds × $0.53:5→$2.65、10→$5.30、16→$8.48、40→$21.20,与文档给出值完全一致。
- [discrepancy] 「five drafts cost roughly what one 1080p final costs」这句是否成立 — 算术上偏乐观:五份 5 秒 480p 草稿 = 25 计秒 × $0.12 = $3.00;一份 5 秒 1080p 终稿带一段 5 秒参考 = 10 计秒 × $0.53 = $5.30。实际约为 57%,属营销式「roughly」,不是错误但不宜作为预算依据。
- [unlocatable] 价格数字与「No telemetry, no callbacks」是否可在仓内证实 — $0.53 / $0.12 / $0.20 费率与无遥测声明均属仓外服务事实(服务端与 CLI 二进制都不在本仓库),本 pin 无任何证据可核;按「定位不到不硬写」记待补,且已计入橙档理由。
- [ok] allowed-tools 声明与正文实际指令是否相符 — frontmatter line 3 为 `Bash(runcomfy *)`,正文全部可执行示例均为 `runcomfy run …`;安装行(npm/npx)与 RUNCOMFY_TOKEN 导出被明确划为「operator 一次性准备」,与本文件 line 215 的自述一致,未发现越界的 shell 指令。
- [discrepancy] 安装命令与仓库身份是否一致 — 本文件 line 35 写 `npx skills add genmedia-labs/skills --skill seedance-2-5-reference-to-video -g`,与 git remote(github.com/genmedia-labs/skills.git)一致;但仓库 README.md 仍写 `npx skills add agentspace-so/runcomfy-agent-skills --skill <skill-name>`(旧仓名),属仓库级文档漂移,非本 skill 内容错误,但会让读者拿到错的安装源。
6Verdict & Scenarios
25f8d8a50989d749…