Happy Horse / v1.0 / videoEdit
Reimagine a clip with a prompt and reference images
- source_video
- reference_images
- api_config
- video
- workflow_id
- raw_json
The edit entry in the Happy Horse v1.0 family. Instead of generating from scratch, this node takes a source video, a prompt, and optionally some reference images, and produces an edited version of the clip - restyle it, change the setting, swap the action - with the original footage as the structural backbone. Like every node in civitai/civitai-comfy-nodes, the actual work happens on Civitai's cloud and you pay in Buzz, so your GPU just watches.
This is the node you reach for when you already have footage and want to reimagine it rather than regenerate it. Think restyling a rough animatic, changing the season or lighting of an existing clip, or steering a character through a new scene while keeping the motion. It's video-to-video editing as a service, and it lands in your graph as a normal node that outputs a VIDEO you can preview, combine, or pass to a local post pass.
How it works
The plumbing is the same as the rest of the pack: build a videoGen workflow tagged happyHorse / v1.0 / videoEdit, submit it to the Civitai Orchestration API, and long-poll until it completes. Your source video is uploaded as part of the request, so it leaves your machine and sits on Civitai's servers while the job runs - the standard data-leaves-the-machine caveat for this whole category. On success the edited clip is downloaded back and returned as a native ComfyUI VIDEO type. The only difference from the text-to-video sibling is the extra source_video input and the reference images.
Inputs and outputs that matter
- prompt (required) - what the edit should become: style, changes, mood.
- source_video (required) - a
VIDEOsocket. Load a video (Video Load or Video Upload) and wire it in. This is the clip being edited. - reference_images - optional
IMAGEsocket for style/subject references on top of the source footage. - audio_setting -
auto(default) ororigin.autolets the model generate audio for the edited clip;originkeeps the source video's original audio track. - resolution -
720p/1080p; duration - 3–15s; seed - 0 for random. - api_config - optional auth override; defaults to
CIVITAI_API_TOKENor stored OAuth.
Outputs: video (the edited clip), workflow_id, raw_json - the pack's standard trio.
Installing it
Same pack as all Civitai nodes. In ComfyUI Manager search "Civitai Comfy Nodes" (publisher civitai), Install, restart. Manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/civitai/civitai-comfy-nodes.git
pip install -r civitai-comfy-nodes/requirements.txt
Only requests to install; no models to download.
Common issues
- Auth and Buzz. You need a Civitai account with Buzz. Set
CIVITAI_API_TOKENfor headless installs; otherwise connect the Civitai Auth node or use the sidebar connect panel. - Watch the audio_setting. If your source clip has a track you want preserved, set
audio_settingtoorigin- theautodefault will happily overwrite it with generated audio. - Upload time on long sources. Your source video uploads to Civitai, so big/long clips mean a longer pre-job wait and, on slower uplinks, a chunky POST. Keep sources short and compressed.
- Early preview. The pack is explicitly under active development; APIs and node behavior may change without notice. Pin the version if you rely on it.
- Cost. Editing is a full cloud video job, so it bills like one. Read the cost shown on the node after each run.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| source_video | VIDEO | — | |
| resolutionopt | COMBO | 1080p | 2 options: 720p, 1080p |
| durationopt | INT | 53–15 | — |
| seedopt | INT | 00–4294967295 | — |
| reference_imagesopt | IMAGE | — | |
| audio_settingopt | COMBO | auto | 2 options: auto, origin |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |