AtlasCloud Text to Image
OpenAI's GPT Image 2, inside your ComfyUI graph — from the cloud
- images
- info
What it actually is
GPT Image 2 - OpenAI's 2026 follow-up in the GPT Image line - has no open weights. You can't download it, quantize it, or run it on your GPU. This node is the workaround: it's a thin HTTP client that sends your prompt to atlascloud.ai and pulls the finished image back into ComfyUI as a normal IMAGE tensor. From the canvas it behaves like any other generator - prompt in, image out - but the actual diffusion happened on someone else's server.
The name hides that. AtlasCloud is a pay-per-call inference host in the same shape as fal or Replicate, and this pack is one of its own integrations. So the whole thing to internalize up front: no model files, no VRAM, just a key and a network call. If you were hoping for a local GPT Image, that's not this.
How it works
Grep nodes.py and there's no magic. The node POSTs a JSON payload to /api/v1/model/generateImage with your key in a Bearer header, then polls /api/v1/model/prediction/{id} every couple of seconds until the job reports completed or failed. When it lands, the returned base64 image is decoded back into a torch tensor and handed to ComfyUI like a local sampler's output. It sets enable_base64_output so images come back inline, only sends a seed if it's >= 0, and wraps the whole call in a 5-minute timeout. Failures raise a readable exception instead of silently returning nothing.
The inputs that matter
Required is just three fields: base_url (leave it at https://api.atlascloud.ai unless you're pointing at a self-hosted endpoint - the node normalizes trailing slashes and /api suffixes for you), api_key (the one thing that must be real), and prompt. Everything else is optional, and honestly only two of the knobs get touched in normal use:
size- an enum of 11 official presets split into 1K (1024x1024,1024x1536...), 2K (up to2560x1440) and 3K (3840x2160). It's constrained for a reason: the API only accepts these.quality-low/medium/high; higher takes longer and costs more, per the author's own tooltip.
seed (-1 = random) is your reproducibility lever once you hit something you like. output_format is jpeg or png. And extra_params is the escape hatch: paste a JSON object there and it's merged into the request body, which is how you reach API features the node doesn't expose.
Outputs: images (IMAGE, ready to feed a preview or save node) and info (STRING, a small JSON blob with model, size, quality and seed) - handy when you want to log exactly what produced a given frame.
Installing it
ComfyUI Manager → search "ComfyUI-AtlasCloud", or:
cd ComfyUI/custom_nodes
git clone https://github.com/clownvary/ComfyUI-AtlasCloud.git
Then restart ComfyUI. That's the whole install - there's no model download and no dependency hunt beyond torch/pillow/numpy/requests, all of which a stock ComfyUI environment already has. The nodes show up under the AtlasCloud category as "AtlasCloud Text to Image."
Gotchas
- An empty
api_keyor emptypromptraises immediately, so those errors are easy to read. - Bad JSON in
extra_paramsthrows a "please provide valid JSON" exception. - It's a closed model, which means OpenAI's moderation applies on their side - the node can't bypass a refusal, whatever a reseller promises.
- Your prompt leaves the machine for a server you don't control. That's the deal with every API node, and this one is no exception.
- Cost is per call and it adds up faster than people expect. A local generation is free after electricity; this is metered every time. Use it because you specifically want GPT Image 2, not as a daily driver.
- One thing the README doesn't shout about: its atlascloud.ai link carries a referral code, so the author earns a cut if you sign up through it. Fine - just know it.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| base_url | STRING | https://api.atlascloud.ai | Base URL for the AtlasCloud API endpoint |
| api_key | STRING | AtlasCloud API key (required) | |
| prompt | STRING | Text description of the image to generate | |
| modelopt | STRING | openai/gpt-image-2/text-to-image | AI model to use for generation |
| sizeopt | COMBO | 1024x1024 | Output image resolution (width x height) |
| qualityopt | COMBO | medium | Image quality — higher quality takes longer to generate |
| output_formatopt | COMBO | jpeg | Output image file format |
| seedopt | INT | -1-1–2147483647 | Random seed for reproducibility (-1 = random) |
| extra_paramsopt | STRING | Additional JSON parameters to merge into the API request body |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| info | STRING | — |