Repository
veo3.1-comfyui
ComfyUI custom nodes for Veo 3.1 video generation — text-to-video, image-to-video, reference-to-video, extend, and 4K upscale via MuAPI
- 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
Specs
- NodeDescription
- 🎬 Veo 3.1 Text to VideoGenerate 8-second video from a text prompt
- 🎬 Veo 3.1 Image to VideoAnimate a static image; optionally anchor the last frame
- 🎬 Veo 3.1 Reference to VideoGenerate video guided by up to 4 reference images
- 🎬 Veo 3.1 Extend VideoContinue a previous generation with a new prompt
- 🎬 Veo 3.1 4K UpscaleUpscale any previous Veo 3.1 generation to 4K
- 🎬 Veo 3.1 Save VideoDownload & save generated video; returns frames tensor
- ModelSpeed
- veo3.1-text-to-videoStandard
- veo3.1-fast-text-to-videoFast
- veo3.1-lite-text-to-videoFast
- ModelSpeed
- veo3.1-image-to-videoStandard
- veo3.1-fast-image-to-videoFast
- veo3.1-lite-image-to-videoFast
- ParameterDescription
- api_keyYour MuAPI API key
- promptText description of the video
- aspect_ratio16:9 or 9:16
- resolution720p , 1080p , or 4k
- extra_params_jsonAny additional model parameters as JSON
- ParameterDescription
- imageStart frame (IMAGE tensor)
- last_imageOptional end frame for first–last mode
- ParameterDescription
- image_1 … image_4Reference images (up to 4)
- generate_audioWhether to generate audio (default: true)
- ParameterDescription
- request_idrequest_id output from a previous generation node
- FileDescription
- MuAPI_Veo31_T2V_Example.jsonText → Video → Save
- MuAPI_Veo31_I2V_Example.jsonImage → Video → Save
- MuAPI_Veo31_Reference_Example.json2 reference images → Video → Save
README
Veo 3.1 ComfyUI Nodes
ComfyUI custom nodes for generating videos with Google's Veo 3.1 model via the MuAPI platform.
Nodes
| 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.
Available Models
Text to Video
| 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 |
Image to Video
| 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 |
Other Variants
veo3.1-reference-to-video— multi-image reference generationveo3.1-extend-video— extend a previous generationveo3.1-4k-video— upscale a previous generation to 4K
All models output 8-second videos (Veo 3.1 fixed duration).
Installation
cd ComfyUI/custom_nodes
git clone https://github.com/YOUR_USERNAME/muapi-veo31-comfyui
pip install -r muapi-veo31-comfyui/requirements.txt
Restart ComfyUI.
Setup
- Get an API key from MuAPI
- Paste it into the
api_keyfield of any Veo 3.1 node
Parameters
Common
| 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) |
Extend / 4K Upscale
| Parameter | Description |
|---|---|
request_id |
request_id output from a previous generation node |
Example Workflows
| 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).
Chaining nodes
Veo31TextToVideo
└─ video_url ──► Veo31VideoSaver ──► frames ──► PreviewImage
└─ first_frame──► PreviewImage
└─ request_id ──► Veo31ExtendVideo
└─ request_id ──► Veo314KUpscale
Requirements
- Python 3.8+
- ComfyUI (any recent version)
requests,Pillow,numpy,torch,opencv-python
License
MIT