Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

happyhorse-1-0 — Claude Code skill: text-to-video with RunComfy

Skill to generate video with HappyHorse 1.0 on RunComfy. The model ranks #1 on Artificial Analysis Video Arena, produces 1080p video with synchronized audio in a single pass, and maintains character consistency across shots.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add prime-skills/runcomfy-agent-skills --skill happyhorse-1-0 -a claude-code
Open on GitHub

What happyhorse-1-0 does

HappyHorse 1.0 is the current leader on Artificial Analysis Video Arena (Elo 1333 for text-to-video, 1392 for image-to-video). The skill wraps the RunComfy command-line interface and calls runcomfy run happyhorse/happyhorse-1-0/text-to-video with parameters the agent provides.

The skill includes routing logic: if detailed lip-sync with dialogue against a video reference is needed, it suggests Seedance 2.0 Pro; if fine motion control matters, Wan 2.7; if speed is critical, LTX 2. HappyHorse itself handles multi-shot stories where one character keeps their appearance across scenes, and video with audio baked in during generation (dialogue, ambient sound, Foley).

Supports five aspect ratios (16:9, 9:16, 1:1, 4:3, 3:4), resolutions 720p and 1080p, duration 3–15 seconds. Prompts up to 2,500 characters in six languages (English, Chinese, Japanese, Korean, German, French). Requires RunComfy CLI and a RunComfy account before installation.

What it helps with

  • Generate a video where one character appears across multiple shots in the same outfit and makeup
  • Create a video with dialogue and ambient sound generated in a single pass without separate audio processing
  • Produce 1080p video with cinematic quality instead of scaled-down output
  • Make vertical video for social media (9:16) with proper aspect ratio and no cropping
  • Choose between video models based on task requirements (character consistency, motion control, speed)

Example prompts for the agent

  • Generate video of a woman in a blue coat entering a street, then stepping into a café—use happyhorse so she looks the same in both shots
  • Create a TikTok explainer video about coffee brewing with background music, 9:16 aspect, no watermark
  • Render an 8-second video of an astronaut skiing on the moon in 1080p, camera tracking the movement

How to install happyhorse-1-0

1Skills CLI (Vercel)

npx skills add prime-skills/runcomfy-agent-skills --skill happyhorse-1-0 -a claude-code

2Manually: put the files in place

~/.claude/skills/happyhorse-1-0/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/happyhorse-1-0/

From the same set25

The whole set →
video-edit prime-skills This skill routes video edits to the right RunComfy model for restyling, background or packaging swaps, and motion transfer. Use it when edit intent matters. Claude Code CX Codex Cursor +1 439,300installs image-to-video prime-skills Routes still image animation tasks to the best RunComfy catalog model. Helps turn static pictures into videos without guessing model settings. Claude Code CX Codex Cursor +1 437,600installs nano-banana-2 prime-skills Skill to quickly generate images via Google Nano Banana 2 on RunComfy. Includes optimized prompting patterns, in-image typography support, and web grounding. Claude Code CX Codex Cursor +1 437,300installs image-edit prime-skills This skill routes image edits to a suitable RunComfy model. Use it for background swaps, text changes, masks, or batch work. Claude Code CX Codex Cursor +1 436,800installs nano-banana-edit prime-skills Edits images with Google Nano Banana 2 on RunComfy, preserving subject identity, swapping backgrounds, and handling batches up to 20 inputs. Claude Code CX Codex Cursor +1 436,700installs flux-kontext prime-skills The skill edits a single image from one text instruction via Flux 1 Kontext Pro on RunComfy, useful for a targeted change that must keep face, pose or brand assets intact. Claude Code CX Codex Cursor +1 436,500installs wan-2-7 prime-skills This skill generates Wan 2.7 videos through RunComfy. Use it for clips with audio-driven lip-sync, reference media, and controlled camera motion. Claude Code CX Codex Cursor +1 435,900installs seedance-v2 prime-skills Generates cinematic short-form video using ByteDance Seedance 2.0 Pro via RunComfy. Useful for dialogue scenes with native lip-sync and multimodal references. Claude Code CX Codex Cursor +1 435,800installs

Similar

video-understand calesthio This skill extracts video frames and transcribes audio locally with ffmpeg and Whisper. Use it to inspect video content without API keys. Claude Code CX Codex Cursor +1 1,300installs seedance-prompt-en dexhunter A skill for writing prompts to Seedance 2.0, ByteDance's video generator. Use it when you create videos from text, images, video and audio via the @ reference system. Claude Code CX Codex Cursor +1 3,100installs skill-creator official anthropics Creates and refines skills, then tests them with prompts, evaluations, and performance checks. Claude Code Claude.ai 414,180installs writing-for-agents Matt Pocock Guidance for writing skills and agent-facing documents. Use it when editing AGENTS.md, CLAUDE.md, or reference files reached from them. Claude Code 466,719installs media-use heygen-com Finds or generates media for HyperFrames videos, including voiceovers, music, cutouts, and color grades. Stores files locally in assets. Claude Code CX Codex Cursor +1 1,100,000installs mcp-builder official anthropics This skill walks through building an MCP server in TypeScript or Python, from reading the protocol spec to writing tests and evaluation questions. Claude Code Claude.ai 130,949installs subagent-driven-development Jesse Vincent This skill runs an implementation plan through fresh subagents for independent tasks and reviews each result. Use it for multi-step work in one session. Claude Code CX Codex 237,746installs orchestration stablyai Coordinates supervised Orca workers with task DAGs, decision gates, and threaded messages. Fits workflows that split work across multiple agents. Claude Code CX Codex Cursor +1 349,200installs

Questions about happyhorse-1-0

How do I install happyhorse-1-0 in Claude Code?

Run npx skills add prime-skills/runcomfy-agent-skills --skill happyhorse-1-0 -a claude-code, then read the instructions in ~/.claude/skills/happyhorse-1-0/SKILL.md.

What does happyhorse-1-0 do?

The skill takes a text prompt from the agent and generates video through the HappyHorse 1.0 model on RunComfy. It produces video with synchronized audio, maintains character consistency across shots, and outputs at 1080p or 720p.

What do I need set up before using this skill?

Install RunComfy CLI (npm i -g @runcomfy/cli), create a RunComfy account, and log in with runcomfy login (or set RUNCOMFY_TOKEN in environment variables for CI and containers).

Source text

SKILL.md · MIT
---
name: happyhorse-1-0
displayName: "HappyHorse 1.0 — Pro Pack on RunComfy"
description: >
  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.
homepage: https://www.runcomfy.com
license: MIT
---

# HappyHorse 1.0 — Pro Pack on RunComfy

[runcomfy.com](https://www.runcomfy.com/?utm_source=skills.sh&utm_medium=skill&utm_campaign=happyhorse-1-0) · [Text-to-video](https://www.runcomfy.com/models/happyhorse/happyhorse-1-0/text-to-video?utm_source=skills.sh&utm_medium=skill&utm_campaign=happyhorse-1-0) · [GitHub](https://github.com/agentspace-so/runcomfy-skills/tree/main/happyhorse-1-0)

**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 -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 CLI** — `npm i -g @runcomfy/cli`
2. **RunComfy account** — `runcomfy 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):**

```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 `*.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](https://docs.runcomfy.com/cli/troubleshooting?utm_source=skills.sh&utm_medium=skill&utm_campaign=happyhorse-1-0).

## 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.

© prime-skills · MIT · prime-skills/runcomfy-agent-skills

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor