WaveSpeedAI Google VEO 3.1 Fast Text-to-Video
Google video, quickly, no GPU
- client
- video_url
Google's Veo 3 is the video model that made OpenAI's Sora look like it was standing still, and 3.1 is the refinement. The "Fast" tier is exactly what it sounds like - the same family of models tuned to come back quicker, at a friendlier price, when you're iterating rather than finalizing. This node from razvanmatei-sf/razv-wavespeed puts that fast tier on your graph as a call to the WaveSpeed AI API: prompt in, hosted video URL out, zero local inference.
You cannot run Veo 3.1 on your machine. There are no weights, full stop. So the honest framing is: this node is a nicer interface to something you'd otherwise be scripting against an API directly. It's also the cheapest way into Veo 3.1 footage without learning a second SDK.
How it works
The now-familiar pack flow: WaveSpeedAI Client → prompt → POST to the Veo 3.1 fast text-to-video endpoint → poll until done → return the video as a video_url string. Note the output is a URL, not a video file on disk - download it yourself or feed it to a URL-fetch node.
Three settings define the clip:
- aspect_ratio -
16:9or9:16. Landscape or portrait, that's the menu. - duration - 4, 6, or 8 seconds.
- resolution -
720por1080p. Fast tier's value is that 720p exists at all; it's the iteration speed option. - generate_audio - a boolean, and a genuinely nice feature: native audio synchronized to the video. Off by default; if your clip doesn't have sound, check this is on before assuming the model failed.
Also there: negative_prompt, seed (-1 = random), and enable_sync_mode (defaults off - async is the right default for video, since these take a while).
The inputs that matter
- prompt - video descriptions want motion and camera language, not just subject: "slow dolly-in on a lighthouse at dusk, waves crashing" beats "lighthouse."
- duration + resolution - the cost/speed dials. Shorter and lower = faster and cheaper; save 8s/1080p for the keeper.
- generate_audio - flip it on if you need sound in the loop.
Install
Shared pack:
cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/razv-wavespeed
# restart ComfyUI
Or ComfyUI Manager → search "razv-wavespeed" → Install. Add a WaveSpeed AI key via the WaveSpeedAI Client node, config.ini (copy from config.ini.tmp, [API]), or a WAVESPEED_API_KEY env var.
Common issues
- It's paid and it's video - the most expensive category in this pack. A fast-tier 8s 1080p clip with audio still costs real money. Iterate at 720p.
- The output is a URL. Don't expect a file; grab the URL before it expires or pipe it to a downloader.
- Veo is censored and guardrailed - that's the model, not the node. NSFW prompts get blocked at the API.
- Name confusion with the WaveSpeed acceleration pack applies here too - different project, same word.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| client | WAVESPEED_AI_API_CLIENT | — | |
| prompt | STRING | Text description of the desired video scene | |
| aspect_ratio | COMBO | 16:9 | Video aspect ratio - 16:9 (landscape) or 9:16 (portrait) |
| duration | COMBO | 8 | Video duration in seconds |
| resolution | COMBO | 1080p | Video output resolution |
| generate_audio | BOOLEAN | false | Generate native audio synchronized with the video |
| negative_promptopt | STRING | Specify what to avoid in the generated video | |
| seedopt | INT | -1-1–2147483647 | Random seed for reproducible results. -1 for random seed |
| enable_sync_modeopt | BOOLEAN | false | Wait for generation to complete before returning |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_url | STRING | — |