FAL Grok Imagine Reference To Video (Soze)
XAI's Grok Imagine video, one ComfyUI node and one FAL key away
- image_1
- image_2
- image_3
- image_4
- image_5
- image_6
- image_7
- image_batch
- video
- video_url
- status
Grok Imagine is xAI's image model, and the video sibling - served as xai/grok-imagine-video on FAL - turns a stack of reference images into a moving clip while keeping the subjects consistent. It's one of those closed models that's genuinely annoying to get into ComfyUI through official channels, which is exactly what a wrapper node like this is for: one node, one FAL key, and the model runs on someone else's GPU.
The inputs that matter
The prompt is the whole game, and it uses the same @ImageN citation scheme as the other reference nodes in this pack. Connect up to seven images to the image_1–image_7 sockets (or a batch to image_batch, capped at 7 and ignored if any individual socket is connected), then write "the dancer in @Image1 performs the move from @Image3". The model wires each citation to the right reference, which is how you get multi-subject consistency instead of a generic mash.
Three dials sit next to the prompt, and all of them are easy:
duration- 1 to 10 seconds. Grok clips stay short; that's the form.resolution-480por720p. There's no 1080p here, so don't go hunting for it.aspect_ratio- seven choices from16:9through9:16to square. Picks whatever framing your shot needs.
Notice what's missing: no seed, no audio toggle, no safety checker. Slim node, and that's fine.
How it works
Standard FAL machinery, identical to the rest of the pack: images are converted and uploaded to FAL's CDN, the node POSTs to the Grok Imagine reference-to-video endpoint with your FAL_KEY, waits for the synchronous response, then downloads the resulting mp4 into your output folder as a VIDEO object. Outputs are video (the object - preview it or save it), video_url (direct CDN link for logging or sharing), and status (a run summary string).
Since this is an API call and not local inference, your balance is doing the math. Grok clips bill per generation, and video is where API sessions get expensive fast - a handful of 8-second clips is usually fine, a batch run of fifty is a line item you'll notice. Treat it like what it is: a hosted service with a meter.
Install and key
It's in the Soze pack ("Quality of Life Nodes for ComfyUI"). ComfyUI Manager → search "Soze" → install is the easy path; manual is:
cd ComfyUI/custom_nodes
git clone https://github.com/SozeInc/ComfyUI_Soze.git
pip install -r ComfyUI_Soze/requirements.txt
Restart, then set your FAL key as the FAL_KEY environment variable or in ComfyUI_Soze/config.ini:
[API]
FAL_KEY=your_key_here
Get the key at fal.ai/dashboard/keys. Never commit config.ini - it's gitignored for a reason.
Common issues
- Skips with nothing returned. Reference-to-video requires at least one connected reference image; there's no pure text-to-video mode on this node.
- Subjects wander between shots. The citations only work if you use them. "The man in @Image1" locks a subject; "a man" leaves the model to guess which of your references you meant.
- Feels slow. Synchronous API call - a 10-second clip takes minutes. Let it cook.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Cite images as @Image1.. in order. | |
| duration | INT | 81–10 | Seconds (1-10). |
| resolution | COMBO | 480p | 2 options: 480p, 720p |
| aspect_ratio | COMBO | 16:9 | 7 options: 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, +1 |
| image_1opt | IMAGE | Reference image 1 (cite as @Image1 in the prompt). | |
| image_2opt | IMAGE | Reference image 2 (cite as @Image2 in the prompt). | |
| image_3opt | IMAGE | Reference image 3 (cite as @Image3 in the prompt). | |
| image_4opt | IMAGE | Reference image 4 (cite as @Image4 in the prompt). | |
| image_5opt | IMAGE | Reference image 5 (cite as @Image5 in the prompt). | |
| image_6opt | IMAGE | Reference image 6 (cite as @Image6 in the prompt). | |
| image_7opt | IMAGE | Reference image 7 (cite as @Image7 in the prompt). | |
| image_batchopt | IMAGE | Optional IMAGE batch (capped at 7). Ignored if any image_N slot is connected. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| video_url | STRING | — |
| status | STRING | — |