Agnes Text to Image (agnes-image-2.1-flash)
The seed field is a lie, and that's fine
- image
This node does not run a model. There is no checkpoint to download, no VRAM to budget, no sampler to pick. You type a prompt, it ships the request to Agnes AI's cloud (agnes-ai.cn), and a finished image lands back in your graph as a normal IMAGE. If you're on a laptop with 4GB of VRAM and no interest in quantised everything, that is the whole pitch.
It's the text-to-image half of the Agnes pair bundled in UIIIAIII Toolkit (the same pack's Image to Image node handles the edit case). Same API key, same settings panel, different door.
What you actually wire up
Four inputs, and only two of them are real decisions:
- prompt - plain text. No negative prompt on this node, so write what you want, not what you don't.
- size -
1K/2K/3K/4K, defaulting to2K. This is a preset, not a pixel count; you don't get to say 1536×640. - ratio -
1:1,3:4,4:3,16:9,9:16,2:3,3:2,21:9, default1:1. - seed - here's the trap, straight from the author's own tooltip: "the Agnes Image API does not support seed, so this value is not sent to the API."
Read that again. The seed widget exists to break ComfyUI's execution cache so the node re-fires when you re-queue. It does not make the model reproducible. Same prompt, same seed, new image every run. If your normal workflow is "dial the seed until the face is right," this node will feel like sand - you re-roll the prompt instead, or you take the good result and run it through the pack's Image to Image node for the tweak.
The output is a single image (IMAGE), so everything downstream still works: Preview Image, Save Image, a detailer, an upscaler, a ControlNet pass. It's an output node, so wiring it to a Preview is optional - but you'll want one.
How it works
The pack wraps Agnes' /v1/images/generations endpoint, which is OpenAI-shaped. Requests go out with your prompt, the size preset and the ratio; the pack asks for response_format: "url" and then downloads the returned file itself, decoding it into a ComfyUI tensor. You get progress text in the node while it runs ("Calling Agnes image API…", "Downloading generated image…").
One practical consequence of that round trip: the node blocks the queue while it waits. A single image is usually tens of seconds; large sizes feel like a stall. ComfyUI shows a progress bar, not a frozen app.
Install
The whole pack is one clone and one key. Dependency-wise it's nearly nothing - requests>=2.28.0 - because it leans on ComfyUI's own torch/PIL/numpy.
cd ComfyUI/custom_nodes
git clone https://github.com/uiiiaiii/UIIIAIII_Toolkit.git
# restart ComfyUI
Or search UIIIAIII Toolkit in ComfyUI Manager. Then get a key from Agnes (platform.agnes-ai.com) and paste it into Settings → UIIIAIII Toolkit → ① Node API. That writes config.json inside the pack folder. If you prefer environment variables, AGNES_API_KEY works, but note the lookup order - for these bundled nodes the settings/config file wins over the env var.
Two things worth knowing about the pack you just installed: it's GPL-3.0, and the bulk of its front-end weight is a node-category manager plus a UI translation layer derived from AIGODLIKE's translation pack. The Agnes nodes are the small part. Also: it's often confused with ComfyUI-Agnes-AI by 1038lab - a different pack hitting the same API, with prompt-enhancement and reference-image nodes this one doesn't have. If you googled "Agnes ComfyUI" you may have landed on the wrong repo.
Where people get burned
"API Key not found." The node reads the key from the pack's config.json (what the Settings panel writes) before it checks AGNES_API_KEY. Set it in the panel, or hand-edit config.json in the pack directory. Note that file holds your key in plaintext - the same security caveat that applies to every API-wrapper node, and the reason to install this from a repo you can actually read.
"Prompt cannot be empty." The node validates before it calls, so an all-whitespace prompt is an error, not a blank generation.
Expecting reproducibility. Covered above, but it's the number-one mismatch here. No seed support, no negative prompt, no steps, no CFG. The knobs you'd normally reach for simply aren't on this node.
Weighting the prompt like a diffusion model. This is a hosted API model behind a text encoder; (masterpiece:1.4) and BREAK syntax are noise to it. Write sentences.
Queues and rate limits. Agnes promotes its API as free - the sibling pack by 1038lab advertises "no credit cards, no token counters" - which is a very different deal from Comfy's metered Partner Nodes. It also means you're sharing capacity. If a request hangs, raise the situation to a retry rather than re-queuing twenty times.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Text prompt for image generation | |
| seed | INT | 00–18446744073709550000 | Random seed used to break the ComfyUI execution cache (the Agnes Image API does not support seed, so this value is not sent to the API) |
| size | COMBO | 2K | Output size preset |
| ratio | COMBO | 1:1 | Aspect ratio |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |