Wan 2.7 · Text to Image
The reasoning pass that plans the shot before drawing it
- images
- task id
Wan 2.7 is a video-generation family, and this node uses it to make stills - one to four images at roughly a megapixel, seven aspect ratios, $0.03 an image. That's cheap. The reason to notice it at all is enable_thinking, which is on by default: the model runs a reasoning pass over your prompt and plans the composition before it starts drawing.
We're used to "thinking" models writing text; a sampling model that deliberates first is the interesting part. In practice it means multi-element prompts - several objects with stated relationships, a specific layout, spatial logic - come back closer to what you wrote, because something upstream of the pixels decided where things go. Turn it off and generation is faster and cheaper-feeling, right up until it isn't.
The inputs
prompt is the image: subject, composition, style, lighting. Write it as a description of a photograph, not a list of tags.
enable_thinking is the switch above (default on). Leave it on for anything with structure to it and off for a single subject where speed is what you want.
num_outputs generates 1 to 4 images in one run. Four at $0.03 is twelve cents, which makes this one of the nicer batch-and-pick endpoints in the pack - the batch comes back as a standard IMAGE batch, so a downstream node with batch indexing gets at whichever you like.
resolution is a 1k tier (about a megapixel). aspect_ratio spans the usual seven shapes, so you're not cropping after the fact.
color_palette takes 3 to 10 colours as JSON with optional shares of the frame, splitting evenly when you leave the shares out:
[{"hex": "#101820", "ratio": 55}, {"hex": "#f2aa4c", "ratio": 25}, {"hex": "#f2f2ef"}]
It's a blunter instrument than prompting for a look, and considerably more reliable when you need a set of images to match.
seed repeats a draw exactly. Outputs: images, plus task id for the console or support.
A note on licensing and where the files go
Nothing here is downloadable as weights - Wan 2.7 is API-only, like 2.5, 2.6 and 3.0 - so this is the sole route to the model. And as with any hosted endpoint, your prompt and any inputs leave the machine and land on a service you don't control. For a stock photo or a poster that's unremarkable; for a client's unreleased product shots it's a decision someone should make on purpose rather than by default.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi
Restart, then Settings > SpicyAPI with a key from spicyapi.ai/console/keys. ComfyUI Manager works - search "SpicyAPI". No dependencies, no model files, no GPU: the client is aiohttp, which ComfyUI already ships, which is why this pack can't break an existing setup. The key is kept in the ComfyUI user folder rather than in a node widget precisely so it stays out of shared workflows and image metadata; set SPICY_API_KEY on a server.
Cost and the usual bruises
The badge is a per-image rate, so num_outputs multiplies it - four images is four times the number on the node. Set Max cost per run in the SpicyAPI settings before you start batching. Seeds default to fixed, which means re-queueing an unchanged graph costs one run and returns the same images; switch control after generate to randomize when you want variety, and expect to pay for it. Cancelling a run stops your wait but not the server-side job, which is billed if it succeeds and stored in your console for up to 14 days.
If runs start failing, the codes are specific: 40004 means no deployment serves that combination and names the parameter to change; 40901 means the price moved before the task was created, so run it again to accept the new price; 40310 is an unverified account email; 50302 means the generation failed upstream and was refunded, so re-queue without worrying; No SpicyAPI key is set means no key reached the pack.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the image to generate: subject, composition, style, and lighting. | |
| aspect_ratio | COMBO | 1:1 | Aspect ratio of the generated image. |
| enable_thinking | BOOLEAN | true | Run the deep-thinking pass before generating. Turning it off generates faster. |
| num_outputs | INT | 11–4 | How many images to generate in one run. |
| resolution | COMBO | 1k | Output resolution tier. |
| color_palette | STRING | Custom colour theme: 3 to 10 colours, each with an optional share of the image in percent. Leave the shares empty to split them evenly. JSON. A list of objects with "hex", "ratio"?. | |
| 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. |