happyhorse-1-0
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseHappyHorse 1.0 — Pro Pack on RunComfy
HappyHorse 1.0 — RunComfy专业版套件
HappyHorse 1.0 — currently #1 on Artificial Analysis Video Arena (Elo 1333 t2v / 1392 i2v) — hosted on the RunComfy Model API. Native 1080p video with in-pass synchronized audio (dialogue, ambient, Foley) and multi-shot character consistency.
bash
npx skills add agentspace-so/runcomfy-skills --skill happyhorse-1-0 -gHappyHorse 1.0——目前在Artificial Analysis Video Arena中排名第一(文本转视频Elo评分1333,图像转视频Elo评分1392)——托管于RunComfy Model API。支持生成原生1080p视频,具备生成过程同步音频(对话、环境音、拟音)和多镜头角色一致性特性。
bash
npx skills add agentspace-so/runcomfy-skills --skill happyhorse-1-0 -gWhen to pick this model (vs siblings)
模型选择指南(与同类模型对比)
| You want | Use |
|---|---|
| Multi-shot story with character / wardrobe consistency | HappyHorse 1.0 |
| Native audio in the same generation pass | HappyHorse 1.0 |
| Currently-#1 blind-vote video model | HappyHorse 1.0 |
| Detailed lip-synced dialogue + reference video | Seedance 2.0 Pro |
| Fine motion control + multi-reference conditioning | Wan 2.7 |
| Ultra-fast iteration (sub-second per frame) | LTX 2 |
| Cinematic motion editing on existing footage | Kling Video O1 |
If the user said "HappyHorse" / "happy horse video" explicitly, route here regardless.
| 你的需求 | 选择模型 |
|---|---|
| 需要角色/服装一致的多镜头故事 | HappyHorse 1.0 |
| 需要在生成过程中同步生成原生音频 | HappyHorse 1.0 |
| 当前盲选排名第一的视频生成模型 | HappyHorse 1.0 |
| 需要精准唇同步对话+参考视频 | Seedance 2.0 Pro |
| 需要精细运动控制+多参考条件 | Wan 2.7 |
| 需要超快速迭代(每帧耗时不到1秒) | LTX 2 |
| 需要对现有素材进行电影级运动编辑 | Kling Video O1 |
若用户明确提及“HappyHorse”/“happy horse video”,则直接选择该模型。
Prerequisites
前置条件
- RunComfy CLI —
npm i -g @runcomfy/cli - RunComfy account — opens a browser device-code flow.
runcomfy login - CI / containers — set instead of
RUNCOMFY_TOKEN=<token>.runcomfy login
- RunComfy CLI — 执行安装
npm i -g @runcomfy/cli - RunComfy账号 — 执行会打开浏览器设备码登录流程
runcomfy login - CI/容器环境 — 设置环境变量替代
RUNCOMFY_TOKEN=<token>操作runcomfy login
Endpoints + input schema
接口与输入配置
happyhorse/happyhorse-1-0/text-to-video
happyhorse/happyhorse-1-0/text-to-videohappyhorse/happyhorse-1-0/text-to-video
happyhorse/happyhorse-1-0/text-to-video| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
| string | yes | — | Up to 2,500 chars. 6 languages (CN/EN/JP/KR/DE/FR). |
| enum | no | | |
| enum | no | | |
| int | no | 5 | 3–15 seconds. |
| int | no | 0 | 0..2^31-1. Reuse for variant comparisons. |
| bool | no | true | Provider watermark. |
| 字段 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| string | 是 | — | 最多2500字符,支持6种语言(中/英/日/韩/德/法) |
| 枚举 | 否 | | 仅支持 |
| 枚举 | 否 | | 可选 |
| int | 否 | 5 | 3-15秒 |
| int | 否 | 0 | 取值范围0到2^31-1,重复使用可对比变体效果 |
| bool | 否 | true | 是否添加服务商水印 |
How to invoke
调用方式
Default (16:9 1080p 5s):
bash
runcomfy run happyhorse/happyhorse-1-0/text-to-video \
--input '{"prompt": "<user prompt>"}' \
--output-dir <absolute/path>Vertical short (9:16, 8s, no watermark):
bash
runcomfy run happyhorse/happyhorse-1-0/text-to-video \
--input '{
"prompt": "<user prompt>",
"aspect_ratio": "9:16",
"duration": 8,
"watermark": false
}' \
--output-dir <absolute/path>Cheaper test pass (720p):
bash
runcomfy run happyhorse/happyhorse-1-0/text-to-video \
--input '{"prompt": "<user prompt>", "resolution": "720P", "duration": 3}' \
--output-dir <absolute/path>The CLI submits, polls every 2s until terminal, then downloads any / URL from the result into . Stdout is the result JSON. Stderr is progress.
*.runcomfy.net*.runcomfy.com--output-dir默认配置(16:9 1080p 5秒):
bash
runcomfy run happyhorse/happyhorse-1-0/text-to-video \
--input '{"prompt": "<用户提示词>"}' \
--output-dir <绝对路径>竖版短视频(9:16,8秒,无水印):
bash
runcomfy run happyhorse/happyhorse-1-0/text-to-video \
--input '{
"prompt": "<用户提示词>",
"aspect_ratio": "9:16",
"duration": 8,
"watermark": false
}' \
--output-dir <绝对路径>低成本测试(720p):
bash
runcomfy run happyhorse/happyhorse-1-0/text-to-video \
--input '{"prompt": "<用户提示词>", "resolution": "720P", "duration": 3}' \
--output-dir <绝对路径>CLI会提交请求,每2秒轮询一次直到完成,然后将结果中所有/的URL下载到目录。标准输出为结果JSON,标准错误输出为进度信息。
*.runcomfy.net*.runcomfy.com--output-dirPrompting — what actually works
提示词撰写技巧
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".
Camera + shot in plain English. Front-load the shot: / / works as a real directive. Specify lens feel: , , .
"Wide shot. ...""Tracking shot. ...""Locked tripod, low angle. ...""35mm anamorphic""shallow DOF""crushed shadows"One visual beat per clip when iterating. Don't pile up "she walks AND the dog runs AND a car passes". Pick the beat, get it sharp, then layer with multi-shot prompts.
Multi-shot consistency — when describing two beats, restate the anchor at each: HappyHorse holds the look but needs the anchor.
"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."Audio direction — say what you want to hear: or .
"distant temple bells, footsteps on wet pavement, no dialogue""warm friendly tone, English"Anti-patterns:
- Static-frame descriptions (no temporal verbs) → motion will be vague.
- Conflicting style directions → cancels.
-
2500 char prompts → degrades.
- Aspect ratios outside the 5 supported → 422.
描述随时间变化的动作,而非静态画面。 例如“一位女士从窗边转身,走两步到书桌前,拿起杯子,举到脸边,喝一口”比“一位女士喝咖啡”效果更好。
用直白英语描述镜头与视角。 开头明确镜头类型://会被当作真实指令。可指定镜头质感:、、。
"Wide shot. ...""Tracking shot. ...""Locked tripod, low angle. ...""35mm anamorphic""shallow DOF""crushed shadows"迭代时每个片段只聚焦一个视觉节拍。 不要堆砌“她走路AND狗跑AND车经过”。先确定核心节拍,优化到位后再通过多镜头提示词叠加内容。
多镜头一致性——描述两个节拍时,每个节拍都要重复锚点信息:HappyHorse能保持角色外观,但需要明确锚点。
"Shot 1: 穿红色羊毛大衣、蓝色围巾的高个子女士在雨中小巷。Shot 2: 同一位穿红色大衣/蓝色围巾的女士,现在躲在雨棚下。"音频指令——直接描述想要的声音:或。
"远处的寺庙钟声,湿地上的脚步声,无对话""温暖友好的语气,英语"反模式:
- 静态画面描述(无时间动词)→ 动作会模糊
- 冲突的风格指令→ 效果抵消
- 超过2500字符的提示词→ 质量下降
- 使用5种支持外的宽高比→ 返回422错误
Where it shines
优势场景
| Use case | Why HappyHorse 1.0 |
|---|---|
| Multi-shot brand stories with one consistent character | Native cross-shot identity preservation |
| Talking-head explainers needing in-clip voiceover + ambient | Synchronized audio in the same pass |
| Multilingual short-form ads | 6 prompt languages, no script-quality drop |
| Cinematic 1080p delivery | Native 1080p output, broadcast-ready |
| Blind-vote leader for general video quality | #1 on Artificial Analysis Video Arena |
| 使用场景 | 选择HappyHorse 1.0的原因 |
|---|---|
| 需要角色一致的多镜头品牌故事 | 原生跨镜头身份保持能力 |
| 需要内置旁白+环境音的讲解类视频 | 生成过程同步音频 |
| 多语言短视频广告 | 支持6种语言提示词,脚本质量无下降 |
| 电影级1080p交付 | 原生1080p输出,符合广播级标准 |
| 盲选综合视频质量第一 | 在Artificial Analysis Video Arena中排名第一 |
Sample prompts (verified to produce strong results)
验证有效的示例提示词
From the model page (cinematic scope):
Wide shot. A lone astronaut in dusty orange suit with blue-gray harness
skis across lunar plain, leaving parallel tracks in gray regolith.
Mid-stride, poles planted, pushing in 1/6th gravity with subtle upward
drift. Fine dust haze along ski tracks. Crescent Earth above lunar
horizon, blue-white glow against black sky. Raw sunlight, crushed
shadows, no fill. 8K photorealistic.Multi-shot consistency:
Shot 1: Medium close-up. A woman in a navy trench coat enters a
rain-slick neon-lit Tokyo alley, looks left, holds up an umbrella.
Shot 2: Same woman in same navy trench, now under the awning of a
ramen shop, shaking water off the umbrella. Warm interior glow, soft
chatter, gentle rain on metal roof in the audio.Vertical platform-native:
9:16 vertical short. A barista in a black apron pulls a single
espresso shot, steam rising into the morning sun, rich crema slowly
forming. Close-up handheld, shallow DOF, warm cafe ambience and the
hiss of the steam wand.模型页面示例(电影级场景):
Wide shot. A lone astronaut in dusty orange suit with blue-gray harness
skis across lunar plain, leaving parallel tracks in gray regolith.
Mid-stride, poles planted, pushing in 1/6th gravity with subtle upward
drift. Fine dust haze along ski tracks. Crescent Earth above lunar
horizon, blue-white glow against black sky. Raw sunlight, crushed
shadows, no fill. 8K photorealistic.多镜头一致性示例:
Shot 1: Medium close-up. A woman in a navy trench coat enters a
rain-slick neon-lit Tokyo alley, looks left, holds up an umbrella.
Shot 2: Same woman in same navy trench, now under the awning of a
ramen shop, shaking water off the umbrella. Warm interior glow, soft
chatter, gentle rain on metal roof in the audio.竖版平台原生示例:
9:16 vertical short. A barista in a black apron pulls a single
espresso shot, steam rising into the morning sun, rich crema slowly
forming. Close-up handheld, shallow DOF, warm cafe ambience and the
hiss of the steam wand.Limitations
局限性
- Duration cap 15s — for longer narratives, segment into multi-shot prompts and stitch.
- Aspect ratios — only the 5 documented values; ultra-wide cinematic gets cropped or rejected.
- 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 ) or Seedance 2.0 Pro.
audio_url - No free image-to-video on this template — i2v is supported by HappyHorse via a separate pipeline; the t2v endpoint here is text-only.
- 时长上限15秒——如需更长叙事,分割为多镜头提示词后拼接
- 宽高比限制——仅支持文档中列出的5种;超宽电影级比例会被裁剪或拒绝
- 仅生成过程同步音频——无法导入外部音频驱动唇同步。如需音频驱动唇同步,使用Wan 2.7(支持参数)或Seedance 2.0 Pro
audio_url - 本模板无免费图像转视频功能——HappyHorse的图像转视频功能通过独立管道支持;本文档中的文本转视频接口仅支持文本输入
Exit codes
退出码
The CLI uses sysexits-style codes:
runcomfy| code | meaning |
|---|---|
| 0 | success |
| 64 | bad CLI args |
| 65 | bad input JSON / schema mismatch (e.g. |
| 69 | upstream 5xx |
| 75 | retryable: timeout / 429 |
| 77 | not signed in or token rejected |
Full reference: docs.runcomfy.com/cli/troubleshooting.
runcomfy| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 64 | CLI参数错误 |
| 65 | 输入JSON错误/ schema不匹配(例如 |
| 69 | 上游服务5xx错误 |
| 75 | 可重试:超时/429限流 |
| 77 | 未登录或令牌被拒绝 |
How it works
工作原理
- The skill invokes with a JSON body matching the schema.
runcomfy run happyhorse/happyhorse-1-0/text-to-video - The CLI POSTs to with the user's bearer token.
https://model-api.runcomfy.net/v1/models/happyhorse/happyhorse-1-0/text-to-video - The Model API returns a ; the CLI polls
request_idevery 2 seconds.GET .../requests/<id>/status - On terminal status, the CLI fetches and downloads any URL whose host ends with
GET .../requests/<id>/resultor.runcomfy.netinto.runcomfy.com. Other URLs are listed but not fetched.--output-dir - while polling sends
Ctrl-Cso you don't get billed for GPU you stopped.POST .../requests/<id>/cancel
- 技能调用,传入符合schema的JSON参数
runcomfy run happyhorse/happyhorse-1-0/text-to-video - CLI携带用户的Bearer令牌向发送POST请求
https://model-api.runcomfy.net/v1/models/happyhorse/happyhorse-1-0/text-to-video - Model API返回;CLI每2秒轮询
request_id获取状态GET .../requests/<id>/status - 请求完成后,CLI获取,并将所有主机后缀为
GET .../requests/<id>/result或.runcomfy.net的URL下载到.runcomfy.com。其他URL仅列出不下载--output-dir - 轮询时按会发送
Ctrl-C请求,避免为已停止的GPU使用付费POST .../requests/<id>/cancel
What this skill is not
本技能不包含的内容
Not a self-hosted video runner. Not a capability grant — depends on a working RunComfy account.
不是自托管视频生成器。需要依赖可用的RunComfy账号,无法直接授予生成能力。
Security & Privacy
安全与隐私
- Token storage: writes the API token to
runcomfy loginwith mode 0600 (owner-only read/write). Set~/.config/runcomfy/token.jsonenv var to bypass the file entirely in CI / containers.RUNCOMFY_TOKEN - Input boundary: the user prompt is passed as a JSON string to the CLI via . The CLI does NOT shell-expand the prompt; it transmits the JSON body directly to the Model API over HTTPS. No shell injection surface from prompt content.
--input - Third-party content: image / mask / video URLs you pass are fetched by the RunComfy model server, not by the CLI on your machine. Treat external URLs as untrusted; image-based prompt injection is a known risk for any image-edit / video-edit model.
- Outbound endpoints: only (request submission) and
model-api.runcomfy.net/*.runcomfy.net(download whitelist for generated outputs). No telemetry, no callbacks.*.runcomfy.com - Generated-file size cap: the CLI aborts any single download > 2 GiB to prevent disk-fill from a malicious or runaway model output.
- 令牌存储:会将API令牌写入
runcomfy login,权限为0600(仅所有者可读写)。在CI/容器环境中可设置~/.config/runcomfy/token.json环境变量跳过文件存储RUNCOMFY_TOKEN - 输入边界:用户提示词通过以JSON字符串形式传递给CLI。CLI不会对提示词进行shell扩展,直接通过HTTPS将JSON体发送给Model API。提示词内容不存在shell注入风险
--input - 第三方内容:你传入的图像/蒙版/视频URL由RunComfy模型服务器获取,而非本地CLI。请将外部URL视为不可信;基于图像的提示注入是所有图像编辑/视频编辑模型的已知风险
- 出站接口:仅访问(提交请求)和
model-api.runcomfy.net/*.runcomfy.net(生成结果下载白名单)。无遥测,无回调*.runcomfy.com - 生成文件大小限制:CLI会终止任何超过2 GiB的单个下载,防止恶意或异常模型输出占满磁盘