ComfyUI Node

Vidu Q2 Pro

The generation-two Vidu that finally lets you dial in fractional seconds

By Runware·Created 2 years ago·Updated about a month ago· 140
Vidu Q2 Pro
  • referenceImages
  • frameImages
  • video
positivePrompt
size360p (1:1)
seed0
duration5.00
numberResults1
providerSettings.vidu.bgmfalse
providerSettings.vidu.movementAmplitudeauto
safetyfalse
safety.checkContentfalse
safety.modefast
ttlfalse
ttl_value60
outputFormatMP4
outputQuality95

Vidu Q2 is Shengshu's second-generation video line, and Q2 Pro is the full-quality member of it. Where the Q1 nodes hand you a style dropdown and hope, Q2 Pro is the workhorse: text-to-video and image-to-video in one node, references and starting frames both supported, and - the small detail that makes it feel modern - a duration control that takes fractional seconds instead of a fixed preset list. That one widget tells you a lot about what generation two improved: finer control over timing, because the model can actually deliver it.

If you're choosing between the Vidu nodes on Runware, the practical rule is: Q1 for stylized looks, Q2 for control, Pro for quality, Turbo for speed. Q2 Pro is the one you reach for when the clip matters and you're willing to spend a little more compute to get it right. It also plays nicely with reference-driven character work - referenceImages and frameImages are both available, so you can anchor identity and provide a concrete starting frame in the same run.

How it works

Identical pack plumbing to every other video node here: the node (vidu:3@1, videoInference) builds a request, uploads any wired images through the SDK, sends it over REST, and downloads the result into a native VIDEO output. There are no required inputs - you steer with a combination of positivePrompt, referenceImages, and frameImages, and total frames still works out to duration × the model's fps. The difference from Q1 is in the controls you get, not the architecture.

The inputs that matter

  • positivePrompt - optional, but this is a prompt-friendly model; describe subject, motion, and camera.
  • referenceImages - for subject/identity consistency.
  • frameImages - concrete starting frames for image-to-video.
  • duration - a FLOAT, default 5 seconds. This is Q2's signature upgrade: you can ask for something like 4.5 seconds instead of being stuck with a preset.
  • providerSettings.vidu.bgm - background music, one checkbox.
  • providerSettings.vidu.movementAmplitude - auto default; override for deliberate motion control.
  • seed / numberResults - reproducibility and variations.

Standard pack tail after that: width/height, outputFormat (MP4), outputQuality, safety toggles, ttl. Output is one video socket.

Install and API key

Same install as the rest of the pack:

cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt

Restart ComfyUI (or install Runware from ComfyUI Manager). API key from runware.ai/api-keys, set via ComfyUI Settings → Runware API key, RUNWARE_API_KEY, or runware auth login.

Gotchas

The Q2-generation models are the ones people actually use in the wild - Vidu Q2 shows up in third-party cloud ComfyUI workflows as a real option, not a curiosity - which means the community has already learned its lessons: expect the "Pro" tier to cost more per second than the Turbo tier, and expect quality gains mostly in motion coherence and prompt adherence, not magic. If results are fine but slow, that's what the Turbo sibling is for. One trap that catches people: fractional durations are a real thing, but a fraction that doesn't land on a frame boundary gets rounded by the model, so don't obsess over 4.37s - round to a reasonable value. And as always on this pack, each run is a metered cloud call; video is the priciest thing here.

CategoryRunware/Video/vidu

Inputs (16)

NameTypeDefaultDescription
referenceImagesoptIMAGE
frameImagesoptIMAGE
positivePromptoptSTRINGText prompt describing elements to include in the generated output.
sizeoptCOMBO360p (1:1)Output size. Only one of resolution or dimensions is sent.
seedoptINT00–2147483647Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
durationoptFLOAT5.001–8Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps).
numberResultsoptINT11–4Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
providerSettings.vidu.bgmoptBOOLEANfalseEnable background music generation.
providerSettings.vidu.movementAmplitudeoptCOMBOautoMovement intensity in the generated video.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking.
safety.modeoptCOMBOfastSafety checking mode for video generation.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOMP4File format for the generated video.
outputQualityoptINT9520–99Compression quality of the output. Higher values preserve quality but increase file size.

Outputs (1)

NameTypeDescription
videoVIDEO