Vector Engine GPT
OpenAI's image models in ComfyUI — same pack, different key
- image_1
- image_2
- image_3
- image_4
- image_5
- image
- info
Vector Engine GPT is the sibling node in the same pack as Vector Engine Gemini, and it does the same trick for a different model family. Where the Gemini node proxies Google's image API, this one fronts OpenAI's images API through the same third-party service at api.vectorengine.ai. One prompt, up to five reference images, and you get a finished image back as a normal ComfyUI tensor - no local GPU work, no model downloads.
You'd reach for it for the same reason you'd reach for GPT Image anywhere: it's stubbornly good at text rendering and at following finicky instructions, and the edit path (feed it images, tell it what to change) is one of the few places a closed model genuinely outclasses local diffusion. If you already run the Gemini node from this pack, adding GPT support costs you literally nothing except a second environment variable.
How it works
The mechanism is the OpenAI images API, shape and all. With no input images, it POSTs a JSON body to /v1/images/generations with your model, prompt, size, and n: 1. Give it any of image_1 through image_5 and it switches to /v1/images/edits - a multipart/form-data upload, images encoded as PNG and downscaled to 2048px. It reads the response as either a URL or b64_json, decodes it to a IMAGE tensor, and hands you an info STRING with the same diagnostics the Gemini node provides: model, size, resolution, per-stage timings, status, and the error message when things go sideways.
Inputs and outputs that matter
- model -
gpt-image-2(default),gpt-image-1.5, orgpt-image-1. Default is fine; step down to the older models only if you're chasing a specific behavior or price point. - prompt - multiline. This is the whole game for editing: be explicit about what stays and what changes.
- size -
auto,1024x1024,1536x1024, or1024x1536. Note the difference from the Gemini node: no aspect-ratio presets, just four fixed canvas sizes. - seed - same trap as the Gemini node: display-only. It never reaches the API, so don't use it to reroll.
Outputs: image → wire it to Preview Image / Save Image; info → read it when you get a black result (more below).
Installing
It ships in the same pack, so there's nothing new to fetch if you already have ComfyUI-Vector-Engine (Manager: search "ComfyUI-Vector-Engine", or git clone https://github.com/dzy1128/ComfyUI-Vector-Engine into custom_nodes, restart). No requirements.txt, no model files - just stdlib plus the torch/numpy/Pillow ComfyUI already ships.
The catch the README won't warn you about: this node isn't in the README at all. The pack's docs only cover the Gemini node, and the GPT node is code-only. Which is exactly why people trip on the key. It doesn't use VECTOR_ENGINE_API_KEY like its sibling - it reads a separate VECTOR_ENGINE_API_KEY_GPT, and throws a VECTOR_ENGINE_API_KEY_GPT environment variable is not set error if you launch without it:
export VECTOR_ENGINE_API_KEY_GPT="sk-your-other-key-here"
Common issues
The same failure pattern as its sibling: a black 512×512 image means it failed, and the reason lives in the info string - authentication, network, or "no image data in response." Check that before touching anything else. 20–30s generation time is normal API latency, not a hang. And the usual expectations apply: input images get downscaled to 2048px before upload, and the node is just a wrapper around a reseller proxy that has essentially zero community footprint - so your key and prompts are in this service's hands. Fine for occasional text-heavy edits; worth knowing before you build a whole pipeline on it.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | gpt-image-2 | 3 options: gpt-image-2, gpt-image-1.5, gpt-image-1 |
| prompt | STRING | A beautiful landscape with mountains and a lake. | — |
| size | COMBO | auto | 4 options: auto, 1024x1024, 1536x1024, 1024x1536 |
| seed | INT | 00–18446744073709550000 | — |
| image_1opt | IMAGE | — | |
| image_2opt | IMAGE | — | |
| image_3opt | IMAGE | — | |
| image_4opt | IMAGE | — | |
| image_5opt | IMAGE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| info | STRING | — |