1仕組みと動作原理
実装方式は「ノーコード+外部CLI委託」を採用:happyhorse-1-0/ 内には `SKILL.md` が1ファイルあるのみでスクリプトは存在しません。実行時はホストエージェントがBash経由で `runcomfy run happyhorse/happyhorse-1-0/text-to-video --input '<JSON>' --output-dir <path>` を実行します。映像と音声はRunComfyクラウド上で生成され、本スキルは意図を正確なJSONとプロンプトへ変換する役割のみを担います。
1. The skill invokes `runcomfy run happyhorse/happyhorse-1-0/text-to-video` with a JSON body matching the schema.
完全なライフサイクルプロトコル(5ステップ):CLIがBearerトークンを付与してModel APIへPOST → `request_id` を取得 → 2秒ごとにGET `.../requests/<id>/status` をポーリング → 終了状態後にGET `.../requests/<id>/result` を実行 → ホストが `.runcomfy.net` または `.runcomfy.com` で終わるURLのみをダウンロードし、その他のURLは一覧表示のみで取得しません。
4. On terminal status, the CLI fetches `GET .../requests/<id>/result` and downloads any URL whose host ends with `.runcomfy.net` or `.runcomfy.com` into `--output-dir`. Other URLs are listed but not fetched.
入力スキーマはテキスト/画角/解像度/長さ/再現性/透かしを網羅する全7フィールド:`prompt`(≤2500文字、6言語対応)、`aspect_ratio`(5種、デフォルト16:9)、`resolution`(720P/1080P、デフォルト1080P)、`duration`(3–15秒、デフォルト5)、`seed`(デフォルト0)、`watermark`(デフォルトtrue)。
| `watermark` | bool | no | true | Provider watermark. |
プロンプティング手法は時間軸に特化:静止画の描写ではなく動作の遷移を記述(複数の時間的動詞を連結)、カメラショットやアングルを前置、イテレーション時は1つの視覚的ビートごとに1セグメントを構成します。
**Describe motion over time, not a still.** "A woman turns from the window, walks two paces to the desk, picks up the cup, lifts it to her face, takes a sip" beats "a woman drinking coffee".
マルチショットの一貫性は「ショットごとにアンカーを再言及する」ことで実現:2つのビートを記述する際、同一の服装や小道具(red wool coat / blue scarfなど)を各ショットで再言及することで、モデルがカットを跨いだアイデンティティを維持できるようになります。
**Multi-shot consistency** — when describing two beats, restate the anchor at each: `"Shot 1: tall woman in red wool coat, blue scarf, in a rainy alley. Shot 2: same woman in red coat / blue scarf, now ducking under an awning."` HappyHorse holds the look but needs the anchor.
音声は同一パスで生成されます(対話/環境音/フォーリー)が、外部音源によるリップシンク駆動には非対応です。音源駆動が必要な場合はWan 2.7(`audio_url`)またはSeedance 2.0 Proへの切り替えが推奨されており、この境界はLimitationsに明記されています。
- **Audio is in-pass only** — you can't pass external audio to drive lip-sync. For audio-driven lip-sync, use Wan 2.7 (which accepts an `audio_url`) or Seedance 2.0 Pro.
自己制約セクション(同系統で唯一):「セルフホスト型の動画ランナーではない」「能力を直接付与するものではなく、有効なRunComfyアカウントに依存する」ことを明記し、スキルの位置付けを厳格に定義しています。
Not a self-hosted video runner. Not a capability grant — depends on a working RunComfy account.
ルーティングテーブルにより同系統の他動画モデルの分担を網羅(音源リップシンク → Wan 2.7、参照動画+詳細な対話リップシンク → Seedance 2.0 Pro、モーション編集 → Kling、高速イテレーション → LTX 2)。また、ユーザーから明示的な指名があった場合は無条件で本スキルにルーティングすると宣言しています。
| Detailed lip-synced dialogue + reference video | Seedance 2.0 Pro |
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| cli | runcomfy(RunComfy 官方 CLI) |
| package | @runcomfy/cli(npm 全局包) |
| package | npx skills(skills.sh 安装器) |
| api | RunComfy Model API(HappyHorse 1.0 text-to-video) |
| api | RunComfy 请求状态/结果/取消端点(轮询与中断) |
| network | RunComfy 产物下载白名单 |
| network | RunComfy 站点/模型页/文档(文档引用,非运行时调用) |
| network | GitHub(技能源码链接) |
4推奨統制措置と判定根拠
- scripts/: ローカルスクリプトまたはコマンドの実行: (スキル本体にスクリプトなし)ホストエージェントがBash経由で外部CLIを実行:`runcomfy run <vendor>/<model>/<endp`
- 网络端点: 外部ネットワークアクセスの宣言: POST `https://model-api.runcomfy.net/v1/models/happyhorse/happyhorse-1-0/tex`
- 本地工作目录: ファイル入出力および成果物の出力: 生成された成果物は外部CLIによってダウンロードされ `--output-dir` に書き込まれる(ドキュメントにはディスク枯渇を防ぐため単一ファイルが2 GiBを超えた場合は中止すると記載)
5二重目の独立検証
- [ok] skill 目录内容 = 仅 SKILL.md — git ls-tree HEAD 与 ls -a 双向核实;仓库根仅 LICENSE + README.md + 31 个技能目录,无 scripts/、plugins/、.claude/。
- [ok] 全部外部依赖条目回查调用点真实存在 — runcomfy CLI 调用点 3 处(默认/竖屏/720p 试跑)、npm 安装 1 处、npx skills 1 处、model-api POST 1 处、status/result/cancel 三个端点各 1 处、白名单 1 处、文档/模型页/GitHub 链接多处,均实读命中。
- [discrepancy] Ctrl-C 取消的 HTTP 语义与同仓 CLI 说明书一致 — 本技能写『Ctrl-C 时发送 POST .../requests/<id>/cancel』,同仓 runcomfy-cli/SKILL.md 写『Ctrl-C sends DELETE to the request endpoint』,其余四份兄弟技能只写 '`Ctrl-C` cancels the remote request before exit.'(不含动词)。同一个 CLI 在两份文档里被描述成两种 HTTP 动词,至少一处不准确;CLI 源码不在仓内,无法在本仓判定孰是。
- [unlocatable] #1 on Artificial Analysis Video Arena(Elo 1333 t2v / 1392 i2v)主张 — 该排名出现在 description、正文首段与 Where it shines 三处,但本技能未给任何链接或数据来源;同仓 ai-video-generation/SKILL.md 与 image-to-video/SKILL.md 复述同一主张(后者写 Elo 1392)。榜单本身在仓外(artificialanalysis.ai),本次未做独立核实,记为源码内无法定位的证据。
- [discrepancy] 路由建议的目标模型在本仓有对应技能 — 'Cinematic motion editing on existing footage | Kling Video O1' 与 'Ultra-fast iteration (sub-second per frame) | LTX 2' 在仓库内没有同名技能目录(全仓无 ltx-* 目录;kling-3-0/SKILL.md 自称 'Kling 3.0 (also called Kling V3.0)')。Wan 2.7 / Seedance 2.0 Pro 两条有同名目录,属有效引用。
- [unlocatable] Security & Privacy 的技术断言可在本仓证实 — 0600 token 权限、2 GiB 下载上限、无 shell 展开、下载白名单、退出码语义、轮询间隔 2s 与取消动词均为仓外 @runcomfy/cli 行为;仓内无 CLI 源码或版本 pin,只能作为文档自述引用。
- [discrepancy] 安装一行与 GitHub 链接指向旧仓 agentspace-so/runcomfy-skills — 安装行 `npx skills add agentspace-so/runcomfy-skills --skill happyhorse-1-0 -g` 与 GitHub 链接 github.com/agentspace-so/runcomfy-skills 指向旧仓;本仓 pin 在 prime-skills/runcomfy-agent-skills(README 用 runcomfy-agent-skills)。gh api:旧仓仍存在(5★、pushed 2026-04-29、含 happyhorse-1-0 目录);prime-skills/runcomfy-agent-skills 与 agentspace-so/runcomfy-agent-skills 为同一仓(相同 stats)。按文档安装可能装到旧版。
- [discrepancy] 『watermark 可关』的安全含义是否被文档提示 — schema 给出 `watermark` 默认 true、可设 false(示例小节标题即 '**Vertical short (9:16, 8s, no watermark):**' 并把 watermark 设为 false),但 Security & Privacy 段完全未提『关闭供应方水印后产物无来源标识』这一滥用面(本族其它技能不提供该开关,无同类提示可比)。属安全提示覆盖不全,非代码风险。
6結論
ed6d01d2aaa14890…