‹ 首页

happyhorse-1-0

@agentspace-so · 收录于 1 周前 · 上游提交 2 个月前

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.

适合你,如果需要用 HappyHorse 1.0 模型生成高质量视频

/ 下载安装
happyhorse-1-0.skill双击,或拖进 Claude 桌面版 / Cowork,即完成安装↓ .skill↓ .zip
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code~/.claude/skills/(项目级 .claude/skills/)
Codex CLI~/.codex/skills/
Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add agentspace-so/runcomfy-agent-skills/happyhorse-1-0
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- agentspace-so/runcomfy-agent-skills/happyhorse-1-0
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify agentspace-so/runcomfy-agent-skills/happyhorse-1-0
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
31GitHub stars
~2.2K上下文体积 · 单文件
镜像托管

怎么用

商店整理自技能原文 · 版本 fca19ae · 表述以原文为准
它做什么

装上后,Claude 能根据文字描述生成视频,支持1080p、同步音频、多镜头角色一致,可设置时长、比例、分辨率。

什么时候触发

当用户提到“happyhorse”、“happy horse”、“happyhorse 1.0”、“happyhorse video”或明确要求用此模型生成视频时触发。

装好后可以这样说
会调用默认参数生成视频。
会设置比例、时长和水印参数。
技能原文 SKILL.md作者撰写 · MIT · fca19ae

HappyHorse 1.0 — Pro Pack on RunComfy

runcomfy.com · Text-to-video · GitHub

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.

npx skills add agentspace-so/runcomfy-skills --skill happyhorse-1-0 -g
When 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.

Prerequisites
  1. RunComfy CLInpm i -g @runcomfy/cli
  2. RunComfy accountruncomfy login opens a browser device-code flow.
  3. CI / containers — set RUNCOMFY_TOKEN=<token> instead of runcomfy login.
Endpoints + input schema
happyhorse/happyhorse-1-0/text-to-video

| Field | Type | Required | Default | Notes | |---|---|---|---|---| | prompt | string | yes | — | Up to 2,500 chars. 6 languages (CN/EN/JP/KR/DE/FR). | | aspect_ratio | enum | no | 16:9 | 16:9, 9:16, 1:1, 4:3, 3:4 only. | | resolution | enum | no | 1080P | 720P or 1080P. | | duration | int | no | 5 | 3–15 seconds. | | seed | int | no | 0 | 0..2^31-1. Reuse for variant comparisons. | | watermark | bool | no | true | Provider watermark. |

How to invoke

Default (16:9 1080p 5s):

runcomfy run happyhorse/happyhorse-1-0/text-to-video \
  --input '{"prompt": "<user prompt>"}' \
  --output-dir <absolute/path>

Vertical short (9:16, 8s, no watermark):

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):

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 *.runcomfy.net / *.runcomfy.com URL from the result into --output-dir. Stdout is the result JSON. Stderr is progress.

Prompting — 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: "Wide shot. ..." / "Tracking shot. ..." / "Locked tripod, low angle. ..." works as a real directive. Specify lens feel: "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: "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 direction — say what you want to hear: "distant temple bells, footsteps on wet pavement, no dialogue" or "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.
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 |

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.
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 audio_url) or Seedance 2.0 Pro.
  • No free image-to-video on this template — i2v is supported by HappyHorse via a separate pipeline; the t2v endpoint here is text-only.
Exit codes

The runcomfy CLI uses sysexits-style codes:

| code | meaning | |---|---| | 0 | success | | 64 | bad CLI args | | 65 | bad input JSON / schema mismatch (e.g. duration: 30 would 422) | | 69 | upstream 5xx | | 75 | retryable: timeout / 429 | | 77 | not signed in or token rejected |

Full reference: docs.runcomfy.com/cli/troubleshooting.

How it works
  1. The skill invokes runcomfy run happyhorse/happyhorse-1-0/text-to-video with a JSON body matching the schema.
  2. The CLI POSTs to https://model-api.runcomfy.net/v1/models/happyhorse/happyhorse-1-0/text-to-video with the user's bearer token.
  3. The Model API returns a request_id; the CLI polls GET .../requests/<id>/status every 2 seconds.
  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.
  5. Ctrl-C while polling sends POST .../requests/<id>/cancel so you don't get billed for GPU you stopped.
What this skill is not

Not a self-hosted video runner. Not a capability grant — depends on a working RunComfy account.

Security & Privacy
  • Token storage: runcomfy login writes the API token to ~/.config/runcomfy/token.json with mode 0600 (owner-only read/write). Set RUNCOMFY_TOKEN env var to bypass the file entirely in CI / containers.
  • Input boundary: the user prompt is passed as a JSON string to the CLI via --input. 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.
  • 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 model-api.runcomfy.net (request submission) and *.runcomfy.net / *.runcomfy.com (download whitelist for generated outputs). No telemetry, no callbacks.
  • Generated-file size cap: the CLI aborts any single download > 2 GiB to prevent disk-fill from a malicious or runaway model output.
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。