ComfyUI Node

Vidu Q1 Classic

The image-to-video node with no prompt box — and that's the point

By Runware·Created 2 years ago·Updated about a month ago· 140
Vidu Q1 Classic
  • frameImages
  • video
size1080p (16:9)
seed0
numberResults1
providerSettings.vidu.movementAmplitudeauto
safetyfalse
safety.checkContentfalse
safety.modefast
ttlfalse
ttl_value60
outputFormatMP4
outputQuality95

Look at the inputs on this node and something's missing: there's no prompt box. Vidu Q1 Classic (vidu:1@0) is the original Q1 video model, and Runware's node for it is deliberately a pure image-to-video pipe - feed it frameImages, get a video. That's the entire contract, and it makes this one of the most honest nodes in the whole pack. No text to fight, no style dropdown, no duration control, no background music toggle. It's frames in, motion out.

That narrowness is a feature if you know what you're doing with it. Because there's no prompt to override the visuals, Q1 Classic is the reliable choice for animating something you already have: take a still, drop it in, and get motion that respects the source. It's the node you reach for when you've already got the composition dialed in - a keyframe from a storyboard, a character sheet, a frame you like from another generation - and you just want it to move. The newer Vidu nodes let you talk the model into things; Classic is the one that lets the image talk instead.

How it works

Pack-standard machinery: the node builds a request (vidu:1@0, videoInference), sends it over REST through the runware-sdk, and returns a native VIDEO from the result URL. The frameImages socket is the whole creative input - the SDK uploads whatever IMAGE tensors you wire in, and the model builds the clip's motion from them. There's no duration widget because the model's output length is fixed by its configuration; you get the clip it's built to produce, no negotiation.

The inputs that matter

The short list is genuinely short:

  • frameImages - the one required-by-purpose input, even though the schema technically marks it optional. Wire in one or more starting frames.
  • width / height - output resolution (default 1024×1024).
  • seed - reproducibility; the only way to get "the same clip, slightly different."
  • numberResults - up to a handful of variations, each on its own seed.
  • providerSettings.vidu.movementAmplitude - the single creative dial you get: auto by default, or force more/less motion.

Then the pack-standard tail - outputFormat (MP4), outputQuality, safety, ttl - which you can ignore on a first pass. Output is one video (VIDEO) socket.

Install and API key

Same install as every node in the pack:

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

Restart ComfyUI (or search Runware in ComfyUI Manager). You'll need an API key from runware.ai/api-keys: paste it into ComfyUI Settings → Runware API key, export RUNWARE_API_KEY, or run runware auth login.

Gotchas

The biggest trap is treating it like the other Vidu nodes: if you're reaching for a prompt and this node doesn't have one, you're on the wrong node - Q1 (the non-Classic node) is the one with a prompt box and style presets. Second, because there's no duration control, the clip length is what it is; if you need a specific length, plan to trim or extend downstream rather than fighting this node. And the usual video-cost warning applies harder here - with no prompt to iterate on, each queue is essentially a fresh roll of the dice, so set numberResults low and check one before committing to a batch. Frames in, motion out - but it's still paid motion.

CategoryRunware/Video/vidu

Inputs (12)

NameTypeDefaultDescription
frameImagesoptIMAGE
sizeoptCOMBO1080p (16:9)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.
numberResultsoptINT11–4Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
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