Zhenzhen Grok3 Video
The Sora 2 stand-in that actually works
- image1
- image2
- image3
- image4
- image5
- image6
- image7
- video
- task_id
- response
- video_url
If you've been fighting Sora 2's constant 500s and capacity wall, the pack author has a recommendation you should actually listen to: ComflyGrok3VideoApi - the grok-video-3 node - is the Sora replacement they keep coming back to. The README is unusually specific about why: multi-shot generation, image-to-video with up to seven reference images, real-person mode, Chinese voiceover support, unlimited concurrency, and 10-second clips with audio. It's xAI's Grok video model, metered through the Zhenzhen relay, and it lands as a VIDEO tensor in your graph.
That seven-reference-image mode is the standout. It's a "multi-ref" workflow where you reference each image by name inside the prompt - @img1, @img2, up to @img7 - like the seedance-style multi-parameter videos. The node uploads your images and the model composes them into one scene.
The inputs that matter
- prompt - the video prompt, including the
@imgNreferences if you're using multiple images. - model -
grok-video-3, fixed. - ratio -
2:3,3:2,16:9,9:16,1:1. - duration -
6,10, or15seconds. - resolution -
480P,720P, or1080P. - image1–image7 - reference images (for i2v / multi-ref).
- seed, api_key, skip_error.
Outputs: video (VIDEO tensor → save node), task_id (the async handle), response, and video_url.
Install and key
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen
Restart, or ComfyUI Manager → "Comfyui-zhenzhen". Key from ai.t8star.org into api_key. Token-group note: Grok video rides the veo&grok groups on the site, so make sure your key has one assigned.
The parts that bite
Two things the README is honest about. First, Grok video content is filtered - NSFW is filtered out at the model level, so this won't be your unrestricted lane, "合规使用" (use it compliantly) as the author puts it. Second, the multi-ref @imgN prompt format is mandatory: plug in seven images and write a prompt that doesn't reference them, and you've wasted a run - the model needs the @img1...@img7 markers to know which image is which. Beyond that, standard pack rules: transient 500s re-run clean, the task_id lets you find results in the site's async list, and your prompts and reference images leave the machine. For short-form Chinese-dialogue video that doesn't require a Sora badge, this is genuinely the more reliable tool.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| model | COMBO | grok-video-3 | 1 options: grok-video-3 |
| ratio | COMBO | 1:1 | 5 options: 2:3, 3:2, 16:9, 9:16, 1:1 |
| duration | COMBO | 15 | 3 options: 6, 10, 15 |
| resolution | COMBO | 1080P | 3 options: 480P, 720P, 1080P |
| api_keyopt | STRING | — | |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| image5opt | IMAGE | — | |
| image6opt | IMAGE | — | |
| image7opt | IMAGE | — | |
| seedopt | INT | 00–2147483647 | — |
| skip_erroropt | BOOLEAN | false | 开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。 |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task_id | STRING | — |
| response | STRING | — |
| video_url | STRING | — |