happyhorse-1-0
Generate text-to-video with HappyHorse 1.0 on RunComfy. Documents HappyHorse 1.0's strengths (#1 on Artificial Analysis Video Arena, native 1080p with in-pass synchronized audio, multi-shot character consistency, 6-language prompt support), the duration / aspect-ratio / resolution schema, and when to route to Wan 2.7 / Seedance 2 / LTX 2 instead. Calls `runcomfy run happyhorse/happyhorse-1-0/text-to-video` through the local RunComfy CLI. Triggers on "happyhorse", "happy horse", "happyhorse 1.0", "happyhorse video", or any explicit ask to generate video with this model.
1How It Works & Mechanism
Implemented via a 'zero-code + external CLI delegation' approach: `happyhorse-1-0/` contains only a single `SKILL.md` with no scripts. At runtime, the host agent executes `runcomfy run happyhorse/happyhorse-1-0/text-to-video --input '<JSON>' --output-dir <path>` via Bash. Both video and audio are generated on the RunComfy cloud; the skill is solely responsible for translating intent into proper JSON inputs and prompts.
1. The skill invokes `runcomfy run happyhorse/happyhorse-1-0/text-to-video` with a JSON body matching the schema.
Complete 5-step lifecycle protocol: CLI sends a POST request with a bearer token to the Model API → receives a `request_id` → polls GET `.../requests/<id>/status` every 2 seconds → upon reaching terminal status, calls GET `.../requests/<id>/result` → downloads URLs only if the host ends with `.runcomfy.net` or `.runcomfy.com`, merely listing other URLs without fetching them.
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.
The input schema contains 7 fields covering text, aspect ratio, resolution, duration, reproducibility, and watermark: `prompt` (≤2500 characters, 6 languages), `aspect_ratio` (5 values, default 16:9), `resolution` (720P/1080P, default 1080P), `duration` (3–15 seconds, default 5), `seed` (default 0), and `watermark` (default true).
| `watermark` | bool | no | true | Provider watermark. |
Prompting techniques target the temporal dimension: describe action progressions rather than static frames (chaining multiple temporal verbs), front-load camera shots and angles, and structure iterations as one visual beat per segment.
**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".
Multi-shot consistency is achieved by 're-stating anchors in every shot': when writing two beats, the same clothing/props (e.g., 'red wool coat / blue scarf') must be reiterated in each shot for the model to maintain cross-shot character identity.
**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.
Audio is generated in the same pass (dialogue, ambient, Foley) but does not accept external audio tracks to drive lip-sync. For audio-driven workflows, users should switch to Wan 2.7 (`audio_url`) or Seedance 2.0 Pro—a boundary explicitly documented under 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.
Self-limiting section (unique within the family): explicitly clarifies that it is 'not a self-hosted video runner' and 'not a capability grant; relies on an available RunComfy account', clearly pinning down the skill's scope.
Not a self-hosted video runner. Not a capability grant — depends on a working RunComfy account.
The routing table maps out the roles of other family video models (audio-driven lip-sync → Wan 2.7; reference video + fine dialogue lip-sync → Seedance 2.0 Pro; motion editing → Kling; fast iteration → LTX 2), while declaring that explicit user requests route back to this skill unconditionally.
| Detailed lip-synced dialogue + reference video | Seedance 2.0 Pro |
2Core Capabilities
3External Dependencies
| 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(技能源码链接) |
4Recommended Governance & Evidence
- scripts/: Local script or command execution: (No scripts inside the skill itself) Host agent executes external CLI via Bash: `runcomfy run <vendor>/<model>/<endp`
- 网络端点: Declared external network access: POST `https://model-api.runcomfy.net/v1/models/happyhorse/happyhorse-1-0/tex`
- 本地工作目录: File I/O and artifact output: Generated outputs are downloaded and written to `--output-dir` by the external CLI (documentation notes abortion if a single file exceeds 2 GiB to prevent disk exhaustion)
5Second-Pass Verification
- [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 段完全未提『关闭供应方水印后产物无来源标识』这一滥用面(本族其它技能不提供该开关,无同类提示可比)。属安全提示覆盖不全,非代码风险。
6Verdict & Scenarios
ed6d01d2aaa14890…