Qwen Image 3.0 Pro · Text to Image
Pay the extra cent when skin, glass and typography have to hold up
- images
- task id
The Pro tier is a detail premium. It's the same shape of node as Qwen Image 3.0 - same 5,000-character prompt, same 1k/2k tiers, same eight aspect ratios - except the model spends more of its budget on the things that usually give generators away: multi-element typography, and the textures that read as fake when they're wrong. Skin, fabric, glass. It costs about $0.04 an image against $0.03 for the standard tier.
So the decision is genuinely one cent. My take: don't default to Pro. Start on the standard 3.0 node, and switch when the thing you're making has a hero surface in it - a product shot with a bottle, a portrait where the skin is the subject, a poster where four separate blocks of type have to be legible at once. For a background element or a rough concept, Pro is money on the floor.
Inputs
prompt- subject, composition, lighting, and any text to render. Quote the copy you want on the page.resolution-1kor2k, default2k. Detail premiums only pay off at the top tier; running Pro at 1k is a good way to spend more for the same result.aspect_ratio- default 1:1, eight options.enable_prompt_expansion- on by default. The service rewrites and expands your prompt before generating, which helps a sparse brief and hurts a precise one.prompt_optimization_mode- defaultdirect, single pass. The alternative is a multi-step agent rewrite, which is the setting to reach for when you've written a vague brief and want the model to build the scene out of it. Turn expansion off if you want your prompt followed word for word.negative_prompt- a real input here, though worth using sparingly: on 2026-era models with LLM text encoders, a short list of specific exclusions does more than the inherited SDXL keyword block of "blurry, ugly, deformed". Restating the constraint positively still works better.num_outputs- pinned to 1. One image per request, no ambiguity.seed- fixed after generate by default, so a re-queue reuses the result you already paid for. Randomize when you want a new take.
Outputs
images and task id. Standard IMAGE value - Save Image, an upscaler, whatever's next.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi
Restart ComfyUI. The pack installs no dependencies of its own and needs no model weights, because the model runs on SpicyAPI's servers; a CPU-only machine or a laptop is enough. Paste a key from spicyapi.ai/console/keys into Settings > SpicyAPI, restart once so the catalogue loads from your account, and you're set. Server installs: SPICY_API_KEY in the environment.
The cost discipline this node rewards
A/B it once. Run the same prompt and seed through the standard 3.0 node and this one, look at them side by side, and decide whether the difference is visible at the size you actually deliver. If it isn't, you've just saved yourself a permanent 33% on your image spend.
Quote first, always. Settings > SpicyAPI > Max cost per run makes the node quote every run before submitting. Pick a ceiling you're happy to lose in a single mis-click.
Cancelling doesn't stop the task. Interrupting in ComfyUI stops you waiting; the job keeps running and is charged if it succeeds, with the result in your console for up to 14 days. Errors come back with a task id worth keeping - No SpicyAPI key is set means exactly that, 40310 means the email on the account is unverified, and 40004 means no deployment serves the options you selected.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the subject, composition, lighting, and any text to render. | |
| aspect_ratio | COMBO | 1:1 | Output aspect ratio. |
| resolution | COMBO | 2k | Output image resolution tier. |
| num_outputs | INT | 11–1 | Number of output images. |
| enable_prompt_expansion | BOOLEAN | true | Let the service rewrite and expand the prompt before generation. |
| negative_prompt | STRING | Describe elements to exclude from the image. | |
| prompt_optimization_mode | COMBO | direct | How prompt expansion rewrites the brief: single pass, or a multi-step agent rewrite. |
| seed | INT | 00–2147483647 | Same 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)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| task id | STRING | The SpicyAPI task id, for the console logs or support. |