1仕組みと動作原理
ノーコード・単一ファイル構成:skill 全体が 1 ページのモデルドキュメントと呼び出し手順のみで構成され、リポジトリ内にはスクリプト、テンプレートファイル、バイナリが存在しません(リポジトリ内の 36 ディレクトリすべてが Markdown のみで、md 以外のファイルは LICENSE のみ)。機能は skill 内部に実装するのではなく、「モデルエンドポイントの正しい呼び出し手順を明記し、公式 CLI に実行を委ねる」形式をとっています。
allowed-tools: Bash(runcomfy *)
エンドツーエンドの呼び出しチェーンが文書化され監査可能:skill が JSON body を構築 → `runcomfy run <model_id>` を実行 → CLI が model-api.runcomfy.net の該当モデルパスへ POST → ステータスをポーリング → 結果を取得 → *.runcomfy.net / *.runcomfy.com の出力 URL を --output-dir にダウンロード。
The CLI submits the request, polls status, fetches the result, and downloads `*.runcomfy.net` / `*.runcomfy.com` URLs into `--output-dir`.
課金モデル自体がモデル選定の判断軸:本エンドポイントは「課金秒数 = リファレンス動画時間 + 出力時間」($0.53/課金秒)で計算され、画像や音声のリファレンスは時間としてカウントされません。これが「リファレンス動画を含めるか」「クリップをトリミングするか」の運用判断に直結します。
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.
2 段階ワークフロー(480p ドラフト → 1080p 納品)を推奨プラクティスとして提示:まず同一エンドポイント系統の 480p バリアントでリファレンスの組み合わせを 3〜5 パターン試行し、解像度ではなくキャラクターの一貫性・カメラワーク・音声の整合性のみを評価。採用された body をそのまま 1080p で本番実行します。
Re-run the winning body verbatim against `.../reference-to-video/1080p`, raising `duration` only once the beat is right.
バージョン移行に伴う落とし穴を明記:Seedance 2.0 Pro では image_url/video_url/audio_url を使用していましたが、2.5 では images/videos/audios 配列に変更されました。古い body をそのまま流用するとスキーマエラーで exit 65 となるため、エージェントにとって極めて実用的なトラブルシューティング情報となっています。
**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).
セキュリティ境界が skill 内に記述され、allowed-tools により限定:`runcomfy *` サブコマンドのみを許可、インストールは信頼できるパッケージマネージャー経由に限定しエージェントによるリモートスクリプトのシェルへのパイプ実行を禁止、トークンは ~/.config/runcomfy/token.json (0600) または RUNCOMFY_TOKEN に格納、アウトバウンドは model-api.runcomfy.net とダウンロードホワイトリストのみ、単一ファイルダウンロードは最大 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.
2コア機能
3外部依存関係
| 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 营销参数) |
4推奨統制措置と判定根拠
- 网络端点: 外部ネットワークアクセスの宣言:model-api.runcomfy.net — 動画生成リクエストの送信先(runcomfy CLI を介し、ユーザーの Bearer トークンを伴う唯一の送信経路としてドキュメントに記載)
- 本地工作目录: ファイル I/O と成果物の出力:CLI は生成された動画を `--output-dir` で指定されたディレクトリにダウンロード(呼び出し元がパスを指定。2 GiB を超える単一ファイルは中断される旨の記述あり)
- SKILL.md: ホスト CLI インタプリタまたは外部ランタイム環境の呼び出しを宣言
5二重目の独立検証
- [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 内容错误,但会让读者拿到错的安装源。
6結論
25f8d8a50989d749…