grok / edit-video
Edit an existing clip with xAI Grok — prompt-driven video editing in the cloud
- video_url
- api_config
- video
- workflow_id
- raw_json
Take an existing clip and change it with words. CivitaiVideoGenGrokEditVideo is xAI Grok's edit-video mode on Civitai's cloud: you wire in a source video, write a prompt describing the edit ("make it night, add rain, keep the camera move"), and get a modified clip back. It's prompt-driven video editing, which sounds like magic and mostly is - a whole different thing from video upscaling or interpolation, because the model re-renders the content rather than just cleaning it up.
It lives in Civitai/Video/grok, part of Civitai's official ComfyUI pack. Where image-to-video is "animate a still," this is "rewrite a clip." You can restyle footage, change the environment, swap the mood - anything Grok's model understands well enough to re-imagine. The catch is that it's a closed cloud model: the source video goes up to Civitai's servers, the job costs Buzz, and Grok's own content filters apply to what it will edit.
How it works
The node submits a videoGen workflow (engine: grok, operation: edit-video) to Civitai's Orchestration API. The video_url input is a VIDEO socket - wire in any video from your graph (a Load Video node, a clip from another Civitai video node). The pack uploads it, the cloud analyzes and re-renders it per your prompt, and the result returns as a native VIDEO tensor plus workflow_id and raw_json.
The inputs that matter
- prompt (required) - the edit you want. Specificity pays: "convert to a neon-noir cyberpunk scene, characters unchanged, add slow zoom" gives the model something to work with.
- video_url (required) - the source clip to edit.
- duration - output length in seconds, 1–15, default 6.
- resolution -
480por720p, default 720p. - analyzed_duration - how much of the source the model should consider (0 = default/full). Leave it alone unless you want to restrict the edit to a portion of a long clip.
Installing it
This is one of ~160 nodes in Civitai Comfy Nodes, Civitai's official pack for their Orchestration API:
- ComfyUI Manager: Manager → Custom Nodes Manager → search Civitai Comfy Nodes → Install, then restart.
- CLI:
comfy node registry-install civitai-comfy-nodes - Source:
cd ComfyUI/custom_nodes && git clone https://github.com/civitai/civitai-comfy-nodes.git && pip install -r civitai-comfy-nodes/requirements.txt(justrequests).
You need a Civitai account with Buzz and credentials - a Civitai Auth node, CIVITAI_API_TOKEN (best for headless), or a stored key via the Civitai sidebar.
Where people get burned
- No credentials → immediate error. Export
CIVITAI_API_TOKENand restart ComfyUI. - Source video is uploaded to the cloud. The whole clip leaves your machine and hits Civitai's servers. That's the mechanism, not a bug - but budget for it (privacy, and upload time for long clips).
- Video editing is the priciest meter in the pack. Per-second cloud video plus the upload; check the cost report on the node after a run. The community's standing objection to API video is exactly this bill.
- Grok's filter is not bypassable. Closed model, own moderation on top of Civitai's. If it won't do the edit, there's no local patch.
- Early preview. The README warns of breaking changes without notice; early community reports flagged slow jobs and bugs. Long edits can hit the default 30-minute timeout - raise it via the Auth node or
CIVITAI_COMFY_TIMEOUT.
If you've got footage you want re-lit or re-scened in one shot, this is the node. Keep the source clip short, the prompt concrete, and the Buzz meter visible.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| video_url | VIDEO | — | |
| durationopt | INT | 61–15 | — |
| resolutionopt | COMBO | 720p | 2 options: 480p, 720p |
| analyzed_durationopt | INT | 00–2147483647 | — |
| 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 | — |