Nodes/SpicyAPI/Vidu Q3 Spicy · Image to Video
ComfyUI Node

Vidu Q3 Spicy · Image to Video

The Unfiltered Vidu Node, and What It Doesn't Have

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
Vidu Q3 Spicy · Image to Video
  • image_url
  • video
  • task id
◄prompt►
◄duration_seconds5►
◄resolution720p►
◄movement_amplitudeauto►
◄generate_audiotrue►
◄bgmtrue►
◄seed0►

"Spicy" is this pack's naming convention for the unfiltered builds, and in the Vidu Q3 line it means exactly one thing: an uncensored LoRA stacked on top. The result is still Vidu Q3 - 1 to 16 seconds, up to 1080p, audio generated in the same pass - with the content filter opened up.

Two consequences follow from that, and both change how you use the node. Your own still carries the content, so the prompt is optional here, unlike its three siblings. And this is the one node in the Vidu family with no seed field at all.

Why prompt-optional matters more than it sounds

On Q3, Q3 Pro and Q3 Turbo, prompt is required and means "what happens after the opening frame." Here it's optional - the author's framing is that your own still does the describing. That makes this the node for animating an image you already made rather than directing a move from text: drop in the frame, leave the prompt empty, pick a duration, run.

It also makes the node the odd one out on repeatability. There is no seed to hold. The pack's global habit is to ship seeds fixed so that re-queueing a graph reuses the cached result instead of billing you again, and that still applies to identical inputs - but you have no seed to pin or randomise. If you want a different take, change something real: the prompt wording, a second of duration_seconds, movement_amplitude. That's the lever, and it's a slightly different mental model from the rest of the pack.

Price sits at $0.0665 per second - between plain Q3 ($0.07) and Q3 Pro ($0.054). A five-second clip lands around 33 cents, sixteen seconds a little over a dollar. Resolution goes to 1080p, so you're not paying a premium for a capped output.

The inputs

  • image_url - the opening frame, a real IMAGE socket. Uploaded when the node runs; the pack caches uploads per account for roughly twelve hours.
  • prompt - optional. Use it for motion and camera when you want direction.
  • duration_seconds - 1 to 16, whole seconds.
  • resolution - 540p, 720p or 1080p.
  • movement_amplitude - auto, small, medium, large.
  • generate_audio - synchronised audio for the scene.
  • bgm - a music bed, separate from generate_audio. Both default on; turning off one leaves the other. Turn off both for silence.

Outputs: video and task id. Save Video for the first, and the second is what you paste into the console or a support message.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi

Restart ComfyUI, then Settings > SpicyAPI, paste a key from spicyapi.ai/console/keys, restart once more so the node menu is rebuilt from your account catalogue. On a server, SPICY_API_KEY in the environment is the tidier option.

Nothing to download and nothing to install beyond the pack - dependencies = [], and it uses aiohttp, torch, Pillow and PyAV, all already present in ComfyUI. Python 3.10+, V3 node API, tested at 0.39. ComfyUI Manager installs it by pack title.

Where people get burned

Be clear about the shape of this one. It's a hosted node: your still and your prompt go to SpicyAPI's servers, and the clip comes back. That's not a bug or a leak - it is what an API node is - but it's the specific trade you're making when you route NSFW work through someone else's infrastructure, and it's worth reading a fresh API pack before your first run for the same reason. The pack itself is MIT, its key lives in user/spicyapi/config.json rather than in your workflow or image metadata, and it only ever makes the calls its nodes describe.

Operationally, the same rules as every other node here:

  • Every run is billed. Set Max cost per run in Settings > SpicyAPI and anything quoted above it stops before submission.
  • Cancelling ends your wait, not the job. It keeps running, is charged if it succeeds, and its result sits in your console for up to 14 days.
  • A restart is how the menu updates. The node list is built at startup from your account.
  • Errors: No SpicyAPI key is set, 40310 unverified email, 40004 when an option combination has no deployment, and unknown failures ending in request_id ... - that id is for support.

One last note on framing. This is a LoRA on a closed model you can't inspect, so "uncensored" means the filter pressure is lower, not that everything goes. Budget a couple of runs to find out where this model's own limits are before you plan a project around it.

CategorySpicyAPI/Video/Vidu

Inputs (8)

NameTypeDefaultDescription
image_urlIMAGEOpening frame. The clip starts from this image.
promptSTRINGDescribe what happens after the opening frame: the action, the camera, and the mood.
duration_secondsINT51–16Requested output length in seconds, from 1 to 16.
resolutionCOMBO720pOutput resolution.
movement_amplitudeCOMBOautoHow much the subject and scene move. Leave it on auto to let the model read the opening frame.
generate_audioBOOLEANtrueRequest a generated audio track synchronised with the picture.
bgmBOOLEANtrueAdd background music to the clip. Separate from generate_audio, which covers the sound of the scene itself.
seedINT00–2147483647This model takes no seed, so the number is never sent. Changing it makes ComfyUI run the node again: set 'control after generate' to randomize for a new result on every run; every run is billed.

Outputs (2)

NameTypeDescription
videoVIDEO—
task idSTRINGThe SpicyAPI task id, for the console logs or support.