Nodes/SpicyAPI/Qwen Image 3.0 · Image Editing
ComfyUI Node

Qwen Image 3.0 · Image Editing

Merge references and change the words already in the picture

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
Qwen Image 3.0 · Image Editing
  • image_urls
  • images
  • task id
◄prompt►
◄aspect_ratio1:1►
◄resolution2k►
◄num_outputs1►
◄enable_prompt_expansiontrue►
◄negative_prompt►
◄seed0►

Two jobs in one node, and they're worth separating in your head. The first is the familiar instruction-edit job: hand over a picture and a sentence, get the change. The second is the one the Qwen family is uniquely good at - retyping text that's already in the frame. Swap a price on a sign, correct a typo on a package, translate a headline, change a hanging banner's wording. On most models that's a redraw with a guess at the letterforms; on this lineage the glyphs come back as type.

That's genuinely useful and slightly dangerous. Retyping a cover line without redrawing the picture is the kind of thing people were building three-stage ComfyUI masks for eighteen months ago.

Inputs

  • prompt - describe the subject, composition, lighting, and any text to render. When you're editing existing copy, name the change explicitly: "change the text on the sign from OPEN to CLOSED, keep everything else identical".
  • image_urls - one to three reference images, one autogrow socket each, in the order your instruction uses them. This is the merge half: two or three inputs, referred to positionally ("the garment from Picture 2 on the model in Picture 1"). More references make the edit less predictable, not more.
  • resolution - 1k or 2k, defaulting to 2k. Stay at 2k for text work.
  • aspect_ratio - default 1:1, eight shapes. It won't quietly inherit your source's proportions, so set it.
  • num_outputs - pinned to 1 by the schema.
  • enable_prompt_expansion - on by default, and the first thing to turn off when the whole point is the exact wording. A rewritten prompt is a rewritten instruction.
  • negative_prompt - "describe elements to exclude". Real input, but keep it short; on modern architectures a couple of specific exclusions beats a keyword wall, and it's often better to state the constraint positively.
  • seed - same seed and settings, same result. Fixed by default so a re-queue doesn't bill you twice.

Outputs

images and task id. No alpha channel on the 3.0 edit node - for transparent output you want the 2.1 text-to-image path or a background remover.

Install

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

Restart, add a key from spicyapi.ai/console/keys under Settings > SpicyAPI, restart once more so the node menu is built from your account. No GPU, no downloads, no extra dependencies - the pack is pure client code. Remote servers can set SPICY_API_KEY in the environment.

Honest expectations

The whole frame is re-emitted. That's inherent to how these editors work: nothing in the design pins the pixels you didn't ask about. Faces drift over multiple passes, and background details wander. If the untouched parts have to be truly untouched, mask, crop, edit the crop, and stitch it back - the standard 2026 hybrid, and the reason so many people still own a mask node.

Three references is a limit, not a goal. Each one raises the quote and dilutes the instruction. Start with one.

Cost per image, from about $0.03, and edits come in passes. Set Max cost per run in the SpicyAPI settings - the node quotes each run first and stops above your ceiling with nothing charged. And remember the pack-wide caveat: cancelling in ComfyUI doesn't cancel the job, which keeps running and is billed if it succeeds, with the result in your console for up to 14 days. Failures come back with a task id; 40310 is an unverified email, 40004 means no deployment serves your chosen combination.

CategorySpicyAPI/Image/Alibaba

Inputs (8)

NameTypeDefaultDescription
promptSTRINGDescribe the subject, composition, lighting, and any text to render.
image_urlsCOMFY_AUTOGROW_V3Reference images in the order used by the editing instruction.
aspect_ratioCOMBO1:1Output aspect ratio.
resolutionCOMBO2kOutput image resolution tier.
num_outputsINT11–1Number of output images.
enable_prompt_expansionBOOLEANtrueLet the service rewrite and expand the prompt before generation.
negative_promptSTRINGDescribe elements to exclude from the image.
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
imagesIMAGE—
task idSTRINGThe SpicyAPI task id, for the console logs or support.