FL Dalle 3
DALL-E 3 in your ComfyUI graph, with caching and auto-save built in
- IMAGES
- WIDTH
- HEIGHT
- REVISED_PROMPTS
DALL-E 3 is technically a legacy model now - OpenAI's API stack has moved on to GPT Image 1 and 1.5 - but it's still live, still callable, and still has a look nobody else quite reproduces: illustrative, a little over-saturated, prone to over-elaborating whatever you type. If you want that specific house style, or you've got prompts already tuned for it, FL_Dalle3 is the straightforward way to hit it from inside a graph instead of tabbing over to a browser.
What it does
It sends your prompt to OpenAI's DALL-E 3 endpoint asynchronously, in batch, and caches results by the parameters you passed in - re-queuing the same prompt and settings without changing anything doesn't burn a second API call for a second image. It also surfaces the "revised prompt": DALL-E 3 famously rewrites what you type before it actually generates (it's notorious for over-elaborating simple requests), and this node hands you back exactly what it decided to render.
Inputs and outputs that matter
prompt is the multiline text you're actually working with. resolution picks one of three fixed sizes DALL-E 3 supports (1024x1024, 1024x1792, 1792x1024 - no arbitrary dimensions here). quality is HD or Standard, with HD costing more and visibly sharper on fine detail; style is vivid or natural, where vivid pushes contrast and saturation hard and natural stays closer to a literal read of your prompt. batch_size (1-10) sets how many images per run, and retry (0-5) is how many times the node re-hits the API automatically on a failed call.
There's also a dummy_seed field. DALL-E 3's API doesn't actually accept a seed - so this isn't controlling determinism the way a KSampler seed does. Given the node caches by parameters, its real job is almost certainly a cache-buster: bump it and you force a fresh API call for an otherwise-identical prompt instead of getting the cached image handed back.
Optionally, auto_save (with auto_save_dir, default ./output_dalle3) writes results to disk with metadata alongside them.
Outputs: IMAGES (the batch), WIDTH/HEIGHT matching your resolution pick, and REVISED_PROMPTS - the actual text DALL-E 3 used. Wire IMAGES downstream like any other image batch; drop REVISED_PROMPTS into a Show Text node the first few times just to see how aggressively it rewrote you.
Installing it
ComfyUI Manager: search Fill-Nodes (the pack is ComfyUI_Fill-Nodes), install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_Fill-Nodes
Restart ComfyUI.
Where people get burned
This node's schema has no api_key field on it at all, unlike a couple of the pack's other GPT-family nodes - so the key it uses comes from the OPENAI_API_KEY environment variable in whatever process is running ComfyUI. If it fails immediately with an auth error, that's almost always it: set the environment variable before launching ComfyUI, don't go hunting for a text box on the node.
Beyond that, the usual DALL-E gotchas apply. OpenAI's content filter rejects prompts it judges unsafe - you get an API error back, not a silently blank image. And since there's no real seed, "regenerate the exact same image" isn't a thing here the way it is with a local checkpoint; expect variation between calls even on a static prompt, dummy_seed or not.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| resolution | COMBO | 3 options: 1024x1024, 1024x1792, 1792x1024 | |
| dummy_seed | INT | 00–18446744073709550000 | — |
| prompt | STRING | great picture | — |
| quality | COMBO | 2 options: HD, Standard | |
| style | COMBO | 2 options: vivid, natural | |
| batch_size | INT | 11–10 | — |
| retry | INT | 00–5 | — |
| auto_saveopt | BOOLEAN | false | — |
| auto_save_diropt | STRING | ./output_dalle3 | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| IMAGES | IMAGE | — |
| WIDTH | INT | — |
| HEIGHT | INT | — |
| REVISED_PROMPTS | STRING | — |