Nodes/PopNow/Vidu Q3 Turbo · Video Extend
ComfyUI Node

Vidu Q3 Turbo · Video Extend

Chaining Vidu Q3 Turbo Video Extend in the same graph

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

Every image-to-video model in this pack caps out at 16 seconds, which is a fact you discover after generating something good that clearly wants to keep going. This node is the continue button: hand it a clip and a prompt for what happens next, and it appends a new segment. The best part is that it's a VIDEO-socket node in a VIDEO-returning pack, so you can wire the previous node's output straight into it and never touch a file.

The chaining trick

video_url is a socket, not a text box. That's the difference between this being pleasant and being a manual file-shuffling chore. PopNow_vidu_q3_turbo_image_to_video returns VIDEO; this node consumes VIDEO; connect them in one graph and queue once. Frames produced by your own nodes work too - anything that outputs ComfyUI's VIDEO type, which the pack handles by re-encoding the incoming clip to MP4 before uploading.

The author's description of the behaviour is precise and worth reading twice: the source clip's last frame opens the new segment, and the result is your clip with the new segment joined on. It's not a new clip of the continuation - it's the whole thing.

What it costs

Only the new segment is billed. The source is added on top and isn't charged, which makes extending genuinely cheaper than re-generating a longer shot from scratch. The per-second rate is the same as the Turbo image-to-video pair, at 540p or 720p.

Chain three extensions and you've paid for three segments and got yourself a 20-second clip out of a node family that advertises 16. Keep an eye on it, though: each extension is a separate billed run, so a four-part chain is four times the number next to a single take.

The fields

video_url - the clip to continue. MP4, MOV or WebM, up to 60 seconds in the source. Match your source's resolution in the setting below or you'll get a visible step in sharpness at the seam.

prompt - what happens next. The author's guidance is action, camera move, and sound. This is where most extensions fail aesthetically: if you don't state motion, you get a camera that keeps drifting because the model is extrapolating from the last second of the previous shot.

movement_amplitude - auto, small, medium, large, applied to the new segment only. auto is fine; small is the right call when you're extending a slow push and don't want it to turn into a charge.

duration_seconds - 1 to 16, the length of the new segment.

resolution - 540p or 720p, and the tooltip is blunt about its real function: it sets how sharp the new part is. That's the single most useful sentence on this node. Mismatched resolution is the classic "the join looks wrong" complaint.

generate_audio - generate sound for the new segment. The source keeps its own sound either way.

bgm - a music bed over the new segment only, also without touching the source. So a clip that was scored by the model will suddenly switch beds at the seam if you extend with bgm on and the source had something different. That's the audio version of the resolution mismatch.

seed - fixed by default, meaning a repeat queue gives you the same result instead of a second bill.

Outputs: video (the joined clip) and task id.

Install

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

or install PopNow from Manager and restart, or comfy node install popnow-comfyui. No weights, no extra dependencies - it's an HTTPS client for api.popnow.ai. Key goes in Settings > PopNow or POPNOW_API_KEY, then restart once more so the catalog-driven node list rebuilds. Coming from the standalone popnow_api.py file? Delete it.

Where it goes wrong

Starting from a file on disk needs a loader. If your clip came from somewhere else, load it with a video loader node first so it arrives as VIDEO - pointing at a path won't work, the socket wants the type.

The seam is a real seam. Two segments, two generations, and the model has read the last frame but not the music, the grade or the intent. Extending once works; extending five times produces a clip that gradually forgets what it was about.

Resolution mismatch is the most common quality complaint and it's self-inflicted: 540p source, 720p segment, or the reverse. Match it.

Sources longer than 60 seconds are rejected - trim first.

Credit errors. PopNow 40201 means the wallet's empty; PopNow 40004 means the model won't serve that combination, usually a resolution the source can't be matched at. Set Max credits per run to cap a chain you're not sure about.

Cancelling stops the wait, not the job. The extension keeps rendering on PopNow, is charged if it succeeds, and ends up in the API console rather than ComfyUI/output.

CategoryPopNow/Video/Vidu

Inputs (8)

NameTypeDefaultDescription
video_urlVIDEOThe clip to continue: MP4, MOV or WebM, up to 60 seconds. Its last frame opens the new segment, and the result is your clip with the new segment joined on.
promptSTRINGDescribe what happens next: the action that follows, the camera move and the sound.
movement_amplitudeCOMBOautoHow much things in the new segment move.
duration_secondsINT51–16Length of the new segment in seconds, from 1 to 16. The source clip is added on top and is not billed.
resolutionCOMBO720pResolution of the generated new segment. It sets how sharp the new part is; match your source clip.
generate_audioBOOLEANtrueGenerate sound for the new segment. The source keeps its own sound either way.
bgmBOOLEANtrueAdd a background music bed to the new segment. The source keeps its own sound.
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.