Skip to main content
Use openai/gpt-image-2 with the Comfy Router API. OpenAI provides the model; Router gives it the shared authentication and request route below.

Quick start

Create a key at platform.comfy.org/profile/api-keys and export it as COMFY_API_KEY. The Python and TypeScript snippets use the Comfy SDKs (pip install comfy-sdk, npm install @comfyorg/sdk); the cURL snippet is the same call over raw HTTP. Model ID: openai/gpt-image-2 Endpoint: POST https://api.comfy.org/v2/models/openai/gpt-image-2

Schema

Input

string
Background transparencyPossible values: transparent, opaque
string
The model to use for image generation (e.g., gpt-image-1, gpt-image-1.5, gpt-image-2)
string
Content moderation settingPossible values: low, auto
integer
The number of images to generate (1-10).
integer
Compression level for JPEG or WebP (0-100)
string
Format of the output imagePossible values: png, webp, jpeg
string
required
A text description of the desired image
string
The quality of the generated imagePossible values: low, medium, high, standard, hd
string
Response format of image dataPossible values: url, b64_json
string
Size of the image (e.g., 1024x1024, 1536x1024, auto)
string
Style of the image. Unused by the gpt-image models this operation admits; it was a dall-e-3-only parameter and those ids were retired when OpenAI shut them down on 2026-05-12.Possible values: vivid, natural
string
A unique identifier for end-user monitoring
Generated from the schema Router serves at GET /v2/models/openai/gpt-image-2/openapi.json, the same document it validates a call against before the request reaches the provider.

Output

object[]
string
Base64 encoded image data
string
Revised prompt
string
URL of the image
object
integer
object
integer
integer
integer
object
integer
integer
integer
string
Whether the generated image’s background is opaque or transparent. Populated on the fal-served branch only, which reports opaque.
integer
Unix timestamp, in seconds, of when the generation completed. Declared int64 because a present-day epoch value is close enough to 2^31 that an unformatted integer generates a 32-bit field in many SDK generators.Format: int64
string
The encoding of the bytes in data[].b64_json (for example png). Populated on the fal-served branch; absent on the OpenAI-served one, where the caller’s requested output_format is authoritative.
string
The quality tier the generation actually ran at. Populated on the fal-served branch when it can resolve one; absent otherwise.
string
The pixel dimensions the generation actually ran at, as <width>x<height>. Populated on the fal-served branch when it can resolve one; absent otherwise.

Examples

Input

Output

Before you ship

Save one Idempotency-Key for each call and reuse it for retries. Router can hold the connection for up to 10 minutes. The SDKs handle authentication; raw HTTP clients send the headers themselves. Use X-Comfy-Error-Type to classify a failure. A 422 means Router rejected the input before calling the provider. Download generated assets promptly because result URLs can expire.

Headers

Authentication, idempotency, request IDs, error buckets, retry pacing, spend limits.

Using the Router API

Find models, inspect schemas, and retry safely.

Limitations

What Router does not do today, and what to use instead.