Nodes/ComfyUI-nkxx/🎬 Veo3.1 参考图生成同步 (Grsai)
ComfyUI Node

🎬 Veo3.1 参考图生成同步 (Grsai)

Veo 3.1 with up to three reference images — keep the subject, move the camera

By nkxx188·Created 11 months ago·Updated 6 months ago· 14
🎬 Veo3.1 参考图生成同步 (Grsai)
  • ref_image_1
  • ref_image_2
  • ref_image_3
  • video
  • video_url
  • response
promptA cute cat playing on the grass
modelveo3.1-fast
aspect_ratio16:9
api_key

Where the frames node pins down your start and end, this one pins down your subject. Feed Veo 3.1 up to three reference images - a character turnaround, a product, an environment - and it generates video that keeps those references consistent while the prompt supplies the motion. It's the multi-reference path for Veo on the Grsai channel, and it's the node you reach for when "same person, new scene" matters more than "exact framing."

Inputs:

  • prompt - multiline; what happens in the video. Default "A cute cat playing on the grass".
  • model - veo3.1-fast, veo3.1-fast-1080p, veo3.1-fast-4k. Note the difference from the frames node: no Pro models here. The multi-ref path only exposes the fast family, per the pack's own model list - if you need Pro, you'll want to check the frames node or the async multi-ref node.
  • aspect_ratio - 16:9 / 9:16.
  • ref_image_1 / ref_image_2 / ref_image_3 - IMAGE inputs, all optional. One to three references; the node uploads whichever you connect. The KB's character-consistency framing applies directly here: references are how you drag the same identity across shots.
  • api_key - optional, pack-wide Grsai fallback.

Outputs: video (ComfyUI VIDEO, local MP4), video_url (remote URL), response (status/task/credits).

Mechanically it uploads the references to Grsai (/v1/video/veo with a urls array), then polls /v1/draw/result every ~5s for up to 900s with a live progress bar, and downloads via yt-dlp-first/curl-fallback. It blocks while doing it, and like every sync node here it re-runs on each queue pass (IS_CHANGED), so leaving it in an always-queueing workflow means repeated generations and repeated credit hits.

Install is pack-wide:

cd ComfyUI/custom_nodes
git clone https://github.com/jieg9341-lab/ComfyUI-nkxx

Restart; auto-install handles requests, pandas, yt-dlp, opencv-python, aiohttp. Grsai key from nkxx.grsai.ai.

Grounded gotchas:

  • Reference upload failure aborts the run. The node raises on the first reference image that fails to upload ("部分参考图上传失败"), rather than silently generating without it - so a bad image can kill an otherwise-fine job. Check your reference images are real, decodable files.
  • One reference is fine; three is not automatically better. Veo's reference handling does best with a few high-quality, consistent angles (a turnaround) rather than three random crops.
  • Fast-only model list is a real constraint - the pack's own VEO_MODELS_FAST_ONLY list governs this node, so don't hunt for a Pro option that isn't there.
  • Moderation (output_moderation/input_moderation) shows up as a Chinese status reason in response instead of a crash - Veo filters are strict, especially on faces/celebrities.
CategoryNkxx/Grsai/视频 (同步)

Inputs (7)

NameTypeDefaultDescription
promptSTRINGA cute cat playing on the grass
modelCOMBOveo3.1-fast3 options: veo3.1-fast, veo3.1-fast-1080p, veo3.1-fast-4k
aspect_ratioCOMBO16:92 options: 16:9, 9:16
api_keyoptSTRING
ref_image_1optIMAGE
ref_image_2optIMAGE
ref_image_3optIMAGE

Outputs (3)

NameTypeDescription
videoVIDEO
video_urlSTRING
responseSTRING