ComfyUI custom nodes for generating videos with Google's Veo 3.1 model via the MuAPI platform.
| Node |
Description |
| 🎬 Veo 3.1 Text to Video |
Generate 8-second video from a text prompt |
| 🎬 Veo 3.1 Image to Video |
Animate a static image; optionally anchor the last frame |
| 🎬 Veo 3.1 Reference to Video |
Generate video guided by up to 4 reference images |
| 🎬 Veo 3.1 Extend Video |
Continue a previous generation with a new prompt |
| 🎬 Veo 3.1 4K Upscale |
Upscale any previous Veo 3.1 generation to 4K |
| 🎬 Veo 3.1 Save Video |
Download & save generated video; returns frames tensor |
All nodes live in the 🎬 Veo 3.1 category in the ComfyUI node menu.
| Model |
Speed |
Quality |
veo3.1-text-to-video |
Standard |
Highest, with audio |
veo3.1-fast-text-to-video |
Fast |
Good |
veo3.1-lite-text-to-video |
Fast |
Lightweight |
| Model |
Speed |
Quality |
veo3.1-image-to-video |
Standard |
Highest, with audio |
veo3.1-fast-image-to-video |
Fast |
Good |
veo3.1-lite-image-to-video |
Fast |
Lightweight |
veo3.1-reference-to-video — multi-image reference generation
veo3.1-extend-video — extend a previous generation
veo3.1-4k-video — upscale a previous generation to 4K
All models output 8-second videos (Veo 3.1 fixed duration).
cd ComfyUI/custom_nodes
git clone https://github.com/YOUR_USERNAME/muapi-veo31-comfyui
pip install -r muapi-veo31-comfyui/requirements.txt
Restart ComfyUI.
- Get an API key from MuAPI
- Paste it into the
api_key field of any Veo 3.1 node
| Parameter |
Description |
api_key |
Your MuAPI API key |
prompt |
Text description of the video |
aspect_ratio |
16:9 or 9:16 |
resolution |
720p, 1080p, or 4k |
extra_params_json |
Any additional model parameters as JSON |
Image to Video extras
| Parameter |
Description |
image |
Start frame (IMAGE tensor) |
last_image |
Optional end frame for first–last mode |
Reference to Video extras
| Parameter |
Description |
image_1 … image_4 |
Reference images (up to 4) |
generate_audio |
Whether to generate audio (default: true) |
| Parameter |
Description |
request_id |
request_id output from a previous generation node |
| File |
Description |
MuAPI_Veo31_T2V_Example.json |
Text → Video → Save |
MuAPI_Veo31_I2V_Example.json |
Image → Video → Save |
MuAPI_Veo31_Reference_Example.json |
2 reference images → Video → Save |
Load any workflow via ComfyUI → Load (drag & drop the JSON).
Veo31TextToVideo
└─ video_url ──► Veo31VideoSaver ──► frames ──► PreviewImage
└─ first_frame──► PreviewImage
└─ request_id ──► Veo31ExtendVideo
└─ request_id ──► Veo314KUpscale
- Python 3.8+
- ComfyUI (any recent version)
requests, Pillow, numpy, torch, opencv-python
MIT