CatsAPI GrokImageVideo
Fifteen seconds of xAI motion from one prompt
- start_image
- video_path
- cost_coins
- task_id
- metadata
xAI's image model grew a video sibling, and if you've ever wanted to turn a still into motion without renting a GPU, this is the node. CatsAPIGrokImageVideo is the video half of the Grok Imagine pair in the ComfyUI_Catsapi pack - seven nodes total, all of them paid-API wrappers that call closed frontier models at catsapi.com and hand the result back to ComfyUI. The provider's name for it is "Grok Image Video"; the community signal on the video variant is thin (a handful of threads, mostly casual), so treat it as xAI's image-to-video line as resold by a third party, not as a model with a long public paper trail.
What you set
prompt- multiline text describing the motion and the scene.resolution-480por720p. That's it, and it's the first cost lever: 720p clips burn coins noticeably faster.duration-5through15seconds, whole seconds only.aspect_ratio- seven presets:1:1,16:9,9:16,4:3,3:4,3:2,2:3.max_coins- spending cap;0means uncapped. For video, set this.start_image(optional) - anIMAGEtensor for image-to-video. This is the input you'll actually want: give it a frame and the model animates it.api_key_override(optional) - leave blank locally.
Notice there's no end frame and no multi-reference input - that's Seedance's job in this pack. Grok's video node keeps it to one start image, which keeps it simple.
What comes out
Video nodes return four outputs: video_path (a string path to a downloaded .mp4 in ComfyUI/output/catsapi/), cost_coins, task_id, and metadata as JSON. There's no IMAGE/video-frame tensor - you get a file path, so the natural next step is a save or player node, or drag it into a video tool. The node is marked as an output node, meaning it's designed to be the terminal point of the branch.
How it works, and the patience tax
Same plumbing as the whole pack: preview cost, check max_coins, submit, poll every three seconds, download. The catch with video is your queue is blocked while it cooks - a 15-second 720p clip can sit in the "queued" state for minutes, and the node has a hard 15-minute polling timeout. That's normal for hosted video gen; just know it's coming. The downloader uses browser-like headers with a curl fallback because video CDNs love bot checks.
Install and the key
cd ComfyUI/custom_nodes
git clone https://github.com/maodeyu180/ComfyUI_Catsapi.git
# restart ComfyUI
No extra Python dependencies - just urllib plus what ComfyUI already ships. You need a paid CatsAPI key from catsapi.com (starts with cats-):
export CATSAPI_API_KEY=cats-your-key
python main.py
Shell env not inherited? Drop it in a .env file or ~/.catsapi.env and the node picks it up.
Where people get burned
Video is where this pack's spending guard earns its keep - a few 720p, 15-second renders will make a real dent in cat-coins, and the community's standing complaint about API video is exactly this per-call cost adding up fast. Set max_coins before your first run and watch the cost_coins output to calibrate. Also: the provider is young and unknown on English reddit, so don't commit a big balance until you've verified a couple of clips look right. And the usual API-node rules: your prompt and start image leave the machine, and never share a workflow with api_key_override filled in, since ComfyUI saves widget values into the JSON. Start at 480p and 5 seconds - cheap, fast, and enough to tell if the motion is what you wanted.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| resolution | COMBO | 480p | 2 options: 480p, 720p |
| duration | COMBO | 5 | 11 options: 5, 6, 7, 8, 9, 10, +5 |
| aspect_ratio | COMBO | 1:1 | 7 options: 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, +1 |
| max_coins | INT | 00–100000 | — |
| start_imageopt | IMAGE | — | |
| api_key_overrideopt | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| video_path | STRING | — |
| cost_coins | INT | — |
| task_id | STRING | — |
| metadata | STRING | — |