Prefect Pony XL · Text to Image
Pony's prompt dialect without the 6 GB download
- images
- task id
What this node actually is
Pony Diffusion XL is the checkpoint that hijacked the anime side of this hobby for two years, and the honest reason it's still around is that its tag comprehension is unmatched: it reads prompts structured like a sequence of imageboard tags and mostly gives you what you asked for. The cost is that you have to learn a second language - plain-English prompting does badly on it - and the checkpoint itself is a multi-gigabyte download that eats VRAM you may want for the rest of the graph.
Prefect Pony XL is a community fine-tune of that lineage, and this node runs it on SpicyAPI's servers for $0.015 per image. No checkpoint download, no VRAM, works on a laptop. You get an IMAGE back like any local sampler had produced it, which means it drops straight into an existing upscale-and-save tail.
How it works
Same deal as every node in this pack: the node is a fancy HTTP client. Your prompt and settings go to the prefect/pony-xl/text-to-image endpoint, the picture comes back, and the node hands it to ComfyUI as an ordinary IMAGE. There's no model file on your disk and nothing to compile. The node also does the upload plumbing for you when an input needs a picture, which this one doesn't.
SpicyAPI rebuilds its node list from your account catalogue every time ComfyUI starts, so new models show up after a restart rather than a pack update.
The inputs that matter
prompt - comma-separated tags, and the tooltip's ordering is the real advice: quality tags first, then subject and wardrobe, then lighting and lens. Pony's score_9, score_8_up, score_7_up sequence and source_anime exist precisely because the model was overtrained on them; skip the quality tags and the output is noticeably worse, which is a Pony quirk, not a bug in this node.
size - seven values, all native SDXL shapes: 1024*1024, 896*1152, 1152*896, 832*1216, 1216*832, 768*1344, 1344*768. Written width*height. Pick a portrait or landscape shape here instead of generating square and cropping later.
output_format - png, jpeg or webp. png unless you're generating volume.
seed - fixed by default with a real control after generate widget, so queuing the same graph twice returns the cached first result rather than charging you again. Switch it to randomize when you want variation - and remember every new seed is a new charge.
Outputs are images (IMAGE, wire it to Save Image or an upscaler) and task id (a STRING for the SpicyAPI console if you need to look up a run or ask support).
Installing it
ComfyUI Manager → search SpicyAPI → install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi
Restart. There is genuinely nothing to install - no requirements.txt, no model files, and the pack's own pyproject.toml declares zero dependencies. It does need a reasonably current ComfyUI, because it's built on the V3 node API (from comfy_api.latest import io) and Python 3.10+.
Then add a key: Settings > SpicyAPI, paste one from spicyapi.ai/console/keys, and restart once so the node list comes from your account. On a headless server, set SPICY_API_KEY instead. Add a Max cost per run while you're in there - it's the seatbelt that stops a mis-set video node on a long prompt from spending real money.
Traps worth knowing
- You need a key and network. No key gives you
No SpicyAPI key is seton run. Proxies overHTTPS_PROXYare honoured; a broken one produces the "proxy or firewall" error. 40004 no deployment serves this combinationmeans the specific option combination isn't served - change the option named in the message. Rare on a single-model node, but it happens when a model is being rotated.- Your prompt leaves your machine. That's the mechanism, not a flaw. Fine for generic work; think twice for anything you wouldn't paste into a web form.
- Sub-1024 sizes with Pony: the tag dialect still applies, but keep the aspect close to the training shapes listed above or you'll get cropped heads - that's true of Pony locally too.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the image as comma-separated tags: quality tags first, then subject and wardrobe, then lighting and lens. | |
| size | COMBO | 1024*1024 | Output image size in pixels, written as width*height. All values are native SDXL shapes. |
| output_format | COMBO | png | File format of the returned image. |
| 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. |