š¬ OpenAI DALLĀ·E
The CyberDolphin node that calls OpenAI DALLĀ·E and hands you a real IMAGE tensor
- IMAGE
- MASK
This is the one CyberDolphin node that makes actual pictures instead of strings. Type a prompt, hit run, and OpenAI's DALLĀ·E API generates an image that comes back into ComfyUI as a proper IMAGE tensor - not a URL, not a base64 blob you have to decode yourself. It's the image-generation arm of a pack whose whole pitch is "wire up OpenAI and local LLMs," and if you want API-generated content to flow into the rest of your local graph, this is the seam.
The name deserves one honest asterisk: it's a paid API call, not a local model. There's zero VRAM cost and nothing to download, but every run burns OpenAI credits, and your image only exists if your key does. Also, be real about what you're getting: DALLĀ·E 3 was superseded by GPT Image back in April 2025, and the local open-weight crowd has largely closed the gap. So the reason to reach for this node isn't "best quality" - it's plumbing. You want a DALLĀ·E image to feed a local upscaler, an img2img pass, or a ControlNet instead of saving it to disk and dragging it in manually.
How it works
The node pulls your API config from the pack's shared settings.yaml, builds an OpenAI client, and calls images.generate(n=1, size=..., prompt=..., response_format="b64_json"). The returned base64 string is decoded into a PIL image, then the node copies ComfyUI's own LoadImage conversion routine: exif-transpose, convert to RGB, scale to float in 0ā1, wrap in a torch tensor. Net result: a stock IMAGE that any standard node will accept.
Two details are worth knowing. First, no model is passed to the API - the call just says "generate an image," so you get whatever the API defaults to (historically dall-e-2, the model that shows its age). You can't pick DALLĀ·E 3 from this node, let alone GPT Image. Second, there's a MASK output, and it is always empty. DALLĀ·E images have no alpha channel, so the node returns a 64Ć64 zero tensor. It exists to keep the output shape-compatible with nodes that expect a mask slot - don't hunt for a bug when it's blank.
The inputs that matter
Only two, and the dropdown is the trap.
- prompt (STRING, multiline) - goes to DALLĀ·E exactly as typed. Unlike the pack's GPT nodes, there's no engineered-template step here; what you write is what gets generated. The default is "darth vader with yoda ears," which is a decent signal about the author's priorities.
- size (enum) -
256x256,512x512, or1024x1024. The code's type definition actually allows DALLĀ·E 3's1792x1024and1024x1792widescreen sizes, but the dropdown doesn't expose them. You can't reach those from the UI no matter how hard you will it.
Installing it
The usual. Via ComfyUI Manager, search "cyberdolphin." Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/whatbirdisthat/cyberdolphin
Then restart ComfyUI. Dependencies are openai ~= 1.2.3, gradio_client, numpy, and pillow - the README is emphatic that OpenAI 1.2.3 is required. Small pack, no model downloads, no CUDA anything.
The gotcha that bites everyone
Your API key does not come from an environment variable. The pack reads it from its own settings.yaml, which ships as settings.yaml.example and is git-ignored. Copy it, then edit the openai_compatible ā openai section with your real api_base, api_key, and organisation:
cd ComfyUI/custom_nodes/cyberdolphin
cp settings.yaml.example settings.yaml
# edit settings.yaml: api_key, api_base, organisation
Miss this and you'll get a clean authentication error on first run. The node also needs outbound access to api.openai.com - it fails entirely offline, and OpenAI's API isn't available in every region. One more thing to expect: the README candidly calls the pack experimental and "works on my machine which is a Linux distribution," so don't be shocked if Windows or macOS misbehaves. For the price of one DALLĀ·E call, test the whole pack with the silly default prompt before you build a workflow on it.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | darth vader with yoda ears | ā |
| size | COMBO | 1024x1024 | 3 options: 256x256, 512x512, 1024x1024 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | ā |
| MASK | MASK | ā |