Vidu Q3 Turbo · Image to Video
The Video Node You'd Actually Draft With
- image_url
- video
- task id
$0.042 per second, up to 720p, one to sixteen seconds, audio baked in during the same pass. Of the four Vidu Q3 nodes in this pack, Turbo is the one I'd wire up first - not because it's the best, but because it's the cheapest way to find out whether your idea works before you spend Q3 money on it.
Vidu itself is closed source, so there's no local path and no checkpoint to download; a node like this is the only way Vidu appears in a ComfyUI graph at all. It's the quieter of the Chinese video labs - big news in 2024, then out of the spotlight while it kept shipping tiers like this one.
Where it sits in the family
Same pack, four flavours of the same model, and the trade is basically price against pixels:
- Q3 Turbo - $0.042/s,
540por720p, fast tier. - Q3 Pro - $0.054/s,
540ponly. - Q3 Spicy - $0.0665/s, up to
1080p, unfiltered build, no seed field. - Q3 - $0.07/s, up to
1080p.
Turbo is the bottom of that ladder and reaches 720p, which is what makes it interesting: it isn't a cut-down 540p tier, it's the cheap end with a usable frame size. My honest take is that the quality gap between Turbo and plain Q3 rarely justifies nearly double the rate for a shot you're still iterating on - draft on Turbo, re-run the keeper on Q3 at 1080p.
Inputs
This is image-to-video, so it wants a still and a direction.
- image_url - the opening frame. A real
IMAGEsocket, soLoad Imageor anything upstream works. The image is uploaded when the node runs, and the pack caches uploads per account for about twelve hours, so tweaking your prompt doesn't re-send the same picture. - prompt - required. Describe what happens after the opening frame: the action, the camera, the mood. Restating what's visible in the still is wasted effort.
- movement_amplitude -
auto,small,medium,large. Auto reads the frame; the rest are your correction when a shot drifts too far or feels frozen. - duration_seconds - 1 to 16, whole seconds. At this rate five seconds is about 21 cents and sixteen seconds about 67 cents, so length is the knob that moves your balance.
- resolution -
540por720p. - generate_audio - synchronised scene audio, on by default.
- bgm - a background music bed, on by default and independent of
generate_audio. This is the pair people get wrong: turn offgenerate_audioand you still get music; turn off both for a silent clip. - seed - same seed and settings, same result.
Outputs: video, a ComfyUI VIDEO for Save Video, plus task id - the string for console lookups and support. The node isn't an output node, so nothing is written until something downstream asks for it.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi
Restart, then Settings > SpicyAPI, paste a key from spicyapi.ai/console/keys, and restart once more - the node list is rebuilt from your account at each start, which is also why a model you've just enabled might not be in your menu.
Nothing else to install. The pack declares dependencies = [] and uses only aiohttp, torch, Pillow and PyAV, all shipped with ComfyUI, so it can't collide with another pack's version pins. Python 3.10+, V3 node API, tested at ComfyUI 0.39. ComfyUI Manager can install it by pack title if you'd rather not open a terminal.
Where people get burned
- Cheap is not free. Every run is billed per second. The pack ships seeds fixed on purpose so an accidental re-queue reuses the cached result instead of charging twice; switch control-after-generate to
randomizewhen you want a fresh take. Settings > SpicyAPI > Max cost per run refuses anything quoted above your ceiling before submission. - Cancelling stops the wait, not the job. The task keeps running on SpicyAPI, is charged if it succeeds, and its result stays in your console for up to 14 days.
40004means no deployment serves the combination you picked - the message names the field, and it's usually about resolution.40310is an unverified email.No SpicyAPI key is setis self-explanatory. Errors ending inrequest_id ...go to support as-is.- No internet, no node. If a proxy or firewall sits between ComfyUI and
api.spicyapi.ai, you'll get the interception warning;HTTPS_PROXYis honoured.
One genuinely useful workflow detail: Turbo's 540p output is fine as a motion reference. Generate three cheap 5-second takes, pick the move that reads best, then re-run that prompt on the full Q3 node at 1080p. The whole exploration costs less than a single premium take.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| image_url | IMAGE | Opening frame. The clip starts from this image. | |
| prompt | STRING | Describe what happens after the opening frame: the action, the camera, and the mood. | |
| movement_amplitude | COMBO | auto | How much things in the frame move. |
| duration_seconds | INT | 51–16 | Requested output length in seconds. |
| resolution | COMBO | 720p | Output resolution. |
| generate_audio | BOOLEAN | true | Request synchronised output audio. |
| bgm | BOOLEAN | true | Add a background music bed that fits the scene. |
| seed | INT | 00–2147483647 | Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The SpicyAPI task id, for the console logs or support. |