Nodes/PopNow/Vidu Q3 Turbo · Image to Video
ComfyUI Node

Vidu Q3 Turbo · Image to Video

Vidu Q3 Turbo at 720p costs less than plain Vidu Q3 at 540p

By popnow-ai·Created 24 days ago·Updated about 20 hours ago· 0
Vidu Q3 Turbo · Image to Video
  • image_url
  • video
  • task id
◄prompt►
◄movement_amplitudeauto►
◄duration_seconds5►
◄resolution720p►
◄generate_audiotrue►
◄bgmtrue►
◄seed0►

The Vidu corner of this pack has several image-to-video nodes, and the naming makes you think they climb a ladder: Turbo, then Q3, then Q3 Pro. They don't. If you line up the per-second rates, Turbo at 720p is still cheaper than plain Q3 at its lowest resolution. That single fact decides most of the "which one do I add" questions.

Where Turbo fits

This is the workhorse. It takes an opening frame, moves it, and gives you something with sound, up to 16 seconds, at 540p or 720p - nothing exotic, nothing cinematic, the node you use when you have twelve shots to generate and a rough cut to build. It's also the half of a pair: PopNow_vidu_q3_turbo_video_extend continues a clip, and both sit at the same per-second rate, so a base shot plus one extension is one mental budget line.

The thing it can't do is resolution. If the deliverable is 1080p or better you're in the Q4 nodes, and no amount of setting fiddling changes that here.

Mechanism, briefly

This pack has no per-model Python. On startup it fetches PopNow's catalog and generates a node class from each model's published input schema, so this node's widgets are Vidu's accepted fields. Your image_url tensor gets uploaded (once - the pack hashes the image and reuses the upload for twelve hours), and fields you leave at their defaults are left out of the request so the model applies its own. The finished MP4 is decoded and handed back as a real ComfyUI VIDEO.

Inputs worth your attention

image_url is an IMAGE socket despite the name. The clip starts from it, so the frame you feed it is frame zero - bad hands in, bad hands for sixteen seconds.

prompt describes the motion, not the picture. Prompt for what the shot does.

duration_seconds 1–16, billed per second. On Turbo, short takes are the correct default; 16 seconds of a single shot almost always drifts.

resolution is 540p or 720p. Against the pricing table, 720p runs about 1.5× the 540p rate - which is a normal, sane step, and is exactly why the Turbo line undercuts the Q3 line at every practical setting.

movement_amplitude: auto reads the frame for you, which is right most of the time. Reach for small on locked-off shots and portraits where any global motion reads as cheap. large is for actual action and it will warp things if the frame can't support it.

generate_audio gives you scene-synced sound; bgm lays a music bed underneath. Two switches, two different jobs, and the pair on by default means a fresh clip arrives with footsteps and strings. Turn bgm off unless you want it.

seed starts fixed: re-queueing the same graph returns the same clip rather than a second charge. Change control-after-generate to randomize when you genuinely want another roll.

Outputs are video and task id. Keep the id; it's the lookup key in the API console and the only thing support can act on.

Install

Manager > Custom Nodes Manager > search PopNow > Install > restart. Or:

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

That's the whole install - no checkpoints, no pip beyond what ComfyUI ships, because the model runs on PopNow's hardware. What you do need is a key from popnow.ai/api/console/keys, either in POPNOW_API_KEY or in Settings > PopNow, followed by one more restart so the node list is rebuilt from your account's catalog. If you've been using the standalone popnow_api.py single-file node from popnow.ai's docs, delete it - same node type, and duplicates are confusing.

Where it goes wrong

Expecting 1080p. The dropdown stops at 720p. People assume Turbo is the fast and high-res option; it's the fast one.

Sticker shock mid-session, not up front. Per-second billing times attempts is the real formula, and the badge shows a rate rather than a total. Set Settings > PopNow > Max credits per run to something you're happy to lose while you're experimenting; runs quoted above the ceiling abort before credits are held.

PopNow 40201 is the not-enough-credits error and it lands after the quote, not before. Top up or drop to 540p and a shorter duration.

Cancelling isn't stopping. Interrupt the node and ComfyUI stops waiting, but the job finishes on PopNow, is charged if it succeeds, and the file lives in the API console rather than your output folder. The only free failure is a rejected or failed generation - those are refunded.

A missing node after install is almost always the catalog: it's fetched at startup, so restart. And weigh the security angle if you're new to API-wrapper nodes - this one holds a credential by design; the mitigating detail here is that it's the vendor's own pack calling the vendor's own API, under MIT, rather than a reseller proxying somebody else's.

CategoryPopNow/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.
movement_amplitudeCOMBOautoHow much things in the frame move.
duration_secondsINT51–16Requested output length in seconds.
resolutionCOMBO720pOutput resolution.
generate_audioBOOLEANtrueRequest synchronised output audio.
bgmBOOLEANtrueAdd a background music bed that fits the scene.
seedINT00–2147483647Same 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)

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