wan-3-0-prime-reference-to-video
Build video clips from reference images, reference videos, and reference audio with Wan-AI Wan 3.0 Prime Reference to Video on RunComfy. Up to 10 reference images, 5 reference videos and 5 reference audio clips are bound to a prompt that names them as "Image 1", "Video 1", "Audio 1", giving character, product and scene consistency across a 2-30 second shot at 480p, 720p or 1080p with a synchronized audio track. Documents the full input schema, the counted-second pricing model (reference videos are billed as duration, images and audio are not), and when to route to Wan 3.0 Prime text-to-video / image-to-video, Wan 2.7 or Seedance 2.0 Pro instead. Calls `runcomfy run wan-ai/wan-3.0-prime/reference-to-video` through the local RunComfy CLI. Triggers on "wan 3 prime reference to video", "wan 3.0 prime", "wan3 prime", "reference to video", "ref2v", "keep the same character across shots", "video from reference images", or any explicit ask to generate video from references with this model.
1How It Works & Mechanism
Zero-code, single-file architecture: This skill is a single-page endpoint specification and invocation recipe, containing only SKILL.md in the directory, with frontmatter granting access solely to the `runcomfy *` command surface. Execution capabilities are provided by the Wan 3.0 Prime Reference to Video endpoint on RunComfy cloud, while the skill is dedicated to documenting correct invocation practices.
allowed-tools: Bash(runcomfy *)
The endpoint's core purpose is indexed reference binding: up to 10 images, 5 videos, and 5 audio clips are mapped by array index to Image 1, Video 1, and Audio 1, then referenced by index within the prompt—a mechanism maintaining character, product, and scene consistency via references rather than prose descriptions.
The distinct thing here is **numbered reference binding**: you attach up to 10 images, 5 videos and 5 audio clips, then address them in the prompt as `Image 1`, `Video 1`, `Audio 1`.
Billing follows 'counted seconds = output duration + attached reference video duration', while reference images and audio are not billed for duration; three resolution tiers carry distinct unit rates (480p at $0.0624, 720p at $0.124, 1080p at $0.249 per counted second), and documentation explicitly notes that pre-submission estimates are reconciled against measured reference durations post-run.
Billing is per **counted second** = output duration **plus** the combined duration of every reference video you attach. Reference images and reference audio are **not** billed as duration, and toggling `enable_audio` does not change the rate.
Endpoint hard constraints prevent common invalid calls: requires at least one reference (text-only prompt calls are rejected), reference videos must be 1-15s each with a combined 15s cap, reference audio is capped at 15s total, duration must be an integer between 2-30s, and aspect ratio is restricted to six fixed options.
**At least one of `reference_images`, `reference_videos`, `reference_audios` must be supplied** — this endpoint rejects a prompt-only call.
The invocation chain is documented without raw endpoint URL paths: the skill constructs the JSON payload → executes `runcomfy run wan-ai/wan-3.0-prime/reference-to-video` → CLI issues a POST request with a bearer token, retrieves the request ID, polls until a terminal state is reached, and downloads results to `--output-dir`.
The CLI POSTs to the RunComfy Model API with the user's bearer token, receives a request id, polls until the request reaches a terminal state, fetches the result, and downloads any `.runcomfy.net` / `.runcomfy.com` URL into `--output-dir`.
Cost discipline is structured as operational recommendations: trim reference clips to the bare minimum duration needed to convey motion, draft in 480p first (roughly a quarter of the 1080p rate), recognize duration as a primary cost multiplier, supported by three calculation examples (5s, 15 counted seconds, and 30s).
Two consequences worth telling the user before a big run: **trim reference videos to the shortest clip that carries the motion**, and **draft at 480p** (about 4× cheaper per second than 1080p) before committing to the final render.
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| cli | runcomfy(RunComfy 官方 CLI,唯一被授予的命令面) |
| package | @runcomfy/cli(npm 全局安装,或 npx -y 一次性运行) |
| network | RunComfy Model API(提交 + 轮询 + 取回,携带用户 bearer token;本页未给具体 URL 路径) |
| network | 生成结果下载白名单(CLI 抓回 --output-dir,文档称单文件超 2 GiB 会中止) |
| network | 用户提供的参考图/视频/音频 URL——由 RunComfy 模型服务器抓取(本机不抓,文档要求公开可达 HTTPS) |
| network | RunComfy 模型页/文档站/姊妹技能页链接(带 utm 营销参数) |
4Recommended Governance & Evidence
- 网络端点: Declared external network access: model-api.runcomfy.net — submission, polling, and result retrieval for reference-conditioned video generation (via runcomfy CLI with user bearer token)
- 本地工作目录: File I/O and artifact output: CLI downloads generated videos to the path specified by `--output-dir` (caller-defined; docs specify a 2 GiB per-file cap to prevent runaway 30s 1080p outputs)
- SKILL.md: Declared invocation of host CLI interpreter or external execution environment
5Second-Pass Verification
- [ok] 计费表与算例算术 — 480p $0.0624 / 720p $0.124 / 1080p $0.249 每计秒;算例复核:5×0.124=$0.62(文档写 ≈$0.62)、15×0.124=$1.86、30×0.249=$7.47,全部吻合;「draft at 480p (about 4× cheaper per second than 1080p)」亦成立(0.249/0.0624≈3.99×)。
- [ok] 参考预算与时长上限是否前后一致 — reference_images 上限 10、reference_videos 5(单条 1-15s、合计 15s)、reference_audios 5(合计 15s)、duration 2-30 整秒、resolution 三档、aspect_ratio 六个值——schema 表、Limitations 节与 frontmatter description 三处一致,未发现互相冲突的数字。
- [discrepancy] 「模型官方示例 prompt」与本文教学重点是否自洽 — 文档全篇强调编号参考绑定是本端点存在理由('This is the whole point of the endpoint'),但 Sample prompts 节三则示例(海岸航拍、雨夜街景、香水瓶转台)都是不含任何 `Image 1` / `Video 1` 引用的纯文本描述。示例里看不到核心语法,读者照抄会遗漏本端点最有价值的部分;属教学一致性缺陷(非事实错误)。
- [discrepancy] schema 表 `reference_images` 行的 Required/Default 表述 — 该行 Required 写 conditional、Default 写 `example image`——Default 既非空值也非文档别处使用的具体值,与正文「At least one of ... must be supplied」需合读才成立;同一张表的其它行 Default 都是具体值(`[]`、`720p`、`16:9`、`5`、`true`、`random`),与 `example image` 的体例不一致。
- [discrepancy] 端点 URL 路径是否可以核对 — 两个同族 Seedance 页都把完整路径写出(`https://model-api.runcomfy.net/v1/models/bytedance/...`),本页只写「The CLI POSTs to the RunComfy Model API」;调用者无法据此核对端点地址,只能靠 model id `wan-ai/wan-3.0-prime/reference-to-video` 与 CLI 文档推断。属家族内文档不对称。
- [discrepancy] Ctrl-C 取消语义 — 本页写「`Ctrl-C` cancels the remote request before exit.」,与 seedance-2-5-reference-to-video 措辞相同,但与 seedance-2-5-image-to-video 的「jobs already in progress cannot be cancelled」以及 runcomfy-cli/SKILL.md 的「`Ctrl-C` sends `DELETE` … so you don't get billed for work you abandoned.」(另有 exit 130 行)三处不一致;仓内无法裁决,实际行为取决于 CLI 版本。
- [unlocatable] 费率与「No telemetry, no callbacks」「2 GiB 上限」可否在仓内证实 — 费率、无遥测、下载体积上限均属仓外服务/二进制事实,本 pin 无证据可核;按「定位不到不硬写」记待补,并已计入橙档理由。
- [ok] allowed-tools 与示例命令、安装步骤的边界 — frontmatter line 3 为 `Bash(runcomfy *)`;三条示例调用均为 `runcomfy run wan-ai/wan-3.0-prime/reference-to-video`,npm 安装与 RUNCOMFY_TOKEN 设置列在 Prerequisites(一次性操作员准备),未发现越界 shell 指令;文档亦声明 skill 不读凭证以外的任何环境变量。
6Verdict & Scenarios
1fe7f0a2d659dcd0…