ComfyUI Node

Vidu Q1 (Image)

The odd one out — a Vidu image generator that needs a reference photo

By Runware·Created 2 years ago·Updated about a month ago· 140
Vidu Q1 (Image)
  • referenceImages
  • advancedFeatures.watermark.image
  • image
positivePrompt
size1080p (1:1)
numberResults1
advancedFeaturesfalse
advancedFeatures.watermark.bgColor
advancedFeatures.watermark.displayPosition(default)
advancedFeatures.watermark.fontColor
advancedFeatures.watermark.opacityfalse
advancedFeatures.watermark.opacity_value0.10
advancedFeatures.watermark.text
safetyfalse
safety.checkContentfalse
ttlfalse
ttl_value60
outputFormatJPG
outputQuality95

Here's the thing that throws everyone off about Vidu Q1 (Image): it's not a video node, even though its name screams Vidu. It's Shengshu's image-generation model - the same family that makes the Vidu videos - exposed here as a plain text-and-reference-to-image node that outputs an IMAGE. It lives under Runware/Image/vidu in the node menu, not the video section, and that's the first clue you should treat it as an image generator with a video-maker's name.

And it's a reference image generator, which is the second clue. Unlike most text-to-image nodes, referenceImages is a required input. This model is built around taking a subject from a photo and re-rendering it - think character-consistency work, product shots from a source image, "same person, new scene" type generation. If you're the kind of person who keeps a library of reference images for keeping a character's face stable across generations, this is a node that does that job on a paid cloud instead of your local stack.

How it works

Standard pack machinery, but with a required image socket. On queue, the node (vidu:q1@image, imageInference) uploads your referenceImages via the SDK, sends the request with your positivePrompt over REST, and downloads the result into a native IMAGE tensor. Wire the image output into Preview Image or Save Image and you're done. Note what's not here: no negativePrompt, no seed, no steps, no CFGScale, no scheduler. This is a first-generation API model, and Runware's node exposes exactly the knobs the API gives it - a small set, because the model leans on the reference rather than on your tuning.

The inputs that matter

  • referenceImages (required) - the IMAGE socket that makes this node what it is. This is the identity source; pick a clear, well-lit reference.
  • positivePrompt (required) - what to do with it: new scene, new style, new outfit.
  • width / height - output size, default 1024×1024.
  • numberResults - variations (each on its own internal seed, since there's no seed widget).

The pack tail (outputFormat, outputQuality, safety, ttl) rounds it out. One output: image.

Install and API key

Install once for the whole 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). You need an API key from runware.ai/api-keys, set in ComfyUI Settings → Runware API key, exported as RUNWARE_API_KEY, or stored via runware auth login.

Gotchas

The reference image does most of the work, so garbage in, garbage out - a low-res or badly framed reference will drag down every result, and you can't rescue it with prompt-wording since there's no guidance dial to turn. The missing controls are also worth knowing before you buy in: no seed widget means "same image, slightly different" isn't directly reproducible unless you fix the reference and accept the variation. And because it's a Vidu-family model, the image pricing is generally cheaper than the video siblings, but it's still a metered cloud call. If your reference needs a background removed first, run it through a background-removal node before it hits this one - the model will thank you.

CategoryRunware/Image/vidu

Inputs (18)

NameTypeDefaultDescription
referenceImagesIMAGE
positivePromptSTRINGText prompt describing elements to include in the generated output.
advancedFeatures.watermark.imageoptIMAGE
sizeoptCOMBO1080p (1:1)Output size. Only one of resolution or dimensions is sent.
numberResultsoptINT11–20Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
advancedFeaturesoptBOOLEANfalseEnable to set advancedFeatures. Off uses the model's default.
advancedFeatures.watermark.bgColoroptSTRINGBackground color in hex format.
advancedFeatures.watermark.displayPositionoptCOMBO(default)Watermark position.
advancedFeatures.watermark.fontColoroptSTRINGText color in hex format.
advancedFeatures.watermark.opacityoptBOOLEANfalseEnable to set advancedFeatures.watermark.opacity. Off uses the model's default.
advancedFeatures.watermark.opacity_valueoptFLOAT0.100.1–1Watermark opacity.
advancedFeatures.watermark.textoptSTRINGWatermark text.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking.
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`.
outputFormatoptCOMBOJPGFile format for the generated image.
outputQualityoptINT9520–99Compression quality of the output. Higher values preserve quality but increase file size.

Outputs (1)

NameTypeDescription
imageIMAGE