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 17 days 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. Increases total generation time.
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