Image
GPT Image 2.6
Generate and edit images, create animated GIFs and request SVG output with GPT Image 2.6 through SeedRouter's asynchronous image API.
GPT Image 2.6 accepts text prompts and optional reference images. Submit once to POST /v1/images/generations, keep the task ID, and poll GET /v1/tasks/{id} for the result. Finished files are returned as URLs.
Model IDs and pricing
Use GET /v1/models to discover the models available to your key. The configured Sunburst IDs are gpt-image-2.6-sunburst-official and gpt-image-2.6-sunburst. Flare IDs, when listed, use the same parameter contract. The bare model ID uses its Default group; additional groups use the model:group ID shown by discovery.
See current prices and the Playground. Token-priced models settle using actual usage; per-image models use the configured image price. SVG responses report their author model's tokens separately in svg_usage, billed at that model's own SeedRouter price.
Generate an image
curl https://api.seedrouter.ai/v1/images/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.6-sunburst-official",
"prompt": "A red paper crane on a pale blue table, soft daylight",
"size": "1024x1024",
"quality": "low",
"complexity": "high"
}'The response contains an id. Poll that ID instead of submitting the generation again:
curl "https://api.seedrouter.ai/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer $SEEDROUTER_API_KEY"On completion, output.data contains objects with a url. Download the URL to retain the original file format and, for GIFs, every animation frame. A failed task has an error and is not charged. See task states and polling.
Parameters
There are 18 top-level fields. Only model and prompt are required. Optional fields accept null, which behaves like omission. Unknown fields are discarded. Invalid supported values fail validation before image generation.
| Field | Type | Default and constraints |
|---|---|---|
model | string | Required; use an ID available to your key. |
prompt | string | Required, nonblank, at most 32,000 Unicode characters. |
n | integer | 1; range 1–10. SVG requires 1. |
size | string | auto, or WIDTHxHEIGHT. See size rules below. |
quality | string | auto; also low, medium, high, xhigh, max. |
background | string | auto; also opaque, transparent. JPEG cannot be transparent. |
output_format | string | png; also jpeg, gif, svg. WebP output is not offered. |
output_compression | integer | 100 for JPEG; 0–100. Only send with output_format: "jpeg". |
moderation | string | auto; also low. The public Playground keeps low API-only. |
complexity | string | high; also low, medium. Planning effort, with no separate surcharge. |
frame_count | integer | 9; range 2–16. GIF only. |
frame_duration_ms | integer | 200; at least 20 milliseconds, no maximum. GIF only; the encoder rounds to the nearest 10 ms and caps each frame at 655,350 ms. |
svg | object | Omitted. Optional author model selection; see below. |
images | array | 1–16 objects shaped as {"image_url":"https://..."}; switches to editing. |
mask | object | {"image_url":"https://..."}. Requires images; cannot accompany markup. |
markup | object | {"image_url":"https://..."}. Requires images; cannot accompany mask. |
safety_identifier | string | Optional stable end-user identifier, at most 128 characters. A nonempty value takes precedence over user. |
user | string | Deprecated optional end-user identifier; omitted from the Playground and never filled automatically. |
Reference URLs must use HTTP or HTTPS and must not contain credentials. File IDs, inline base64 and multipart uploads are not accepted; upload files first and supply their public URLs. Requests use asynchronous task polling rather than stream or partial_images. input_fidelity, response_format and prompt_rewriter are not exposed by this contract.
Image size
For PNG, JPEG and SVG reference-image generation, each dimension must be divisible by 16 and no larger than 3840 pixels. Total pixels must be 655,360–8,294,400 and the aspect ratio must be between 1:3 and 3:1. Examples: 1024x1024, 1536x1024, 2160x3840, 2880x2880.
GIF dimensions must be positive multiples of 16, or use auto. GIF has a separate total pixel budget shared by frame count, frame dimensions and n; OpenAI has not published its numerical limit. A 512x512 GIF does not use the static-image minimum pixel rule.
Animated GIF
{
"model": "gpt-image-2.6-sunburst-official",
"prompt": "A red paper crane flapping its wings in a seamless loop on pale blue",
"output_format": "gif",
"size": "512x512",
"quality": "low",
"frame_count": 4,
"frame_duration_ms": 200
}GIF can be generated from a prompt or requested from reference images. Do not combine it with a mask or compression. Preview availability can depend on the selected model's access.
Documentation discrepancy, checked November 5, 2026: OpenAI's image generation guide gives 2–64 frames and 20–2000 ms and says the edit endpoint does not return GIFs. The Images API reference gives 2–16 frames, no duration maximum and lists GIF output on edits. Upstream requests on November 5, 2026 matched the reference: 17 frames were rejected and a 3,000 ms frame was accepted. This API follows the reference.
SVG
{
"model": "gpt-image-2.6-sunburst-official",
"prompt": "A simple geometric red paper-crane logo, clean editable vector paths",
"output_format": "svg",
"n": 1
}SVG is generation-only and requires n: 1. Do not send images, a mask, markup or compression. The file is static UTF-8 XML containing vector shapes; scripts, external resources and embedded raster images are unsupported.
When author selection is available, add svg: {"model":"YOUR_AUTHOR_MODEL_ID"}. An explicitly provided svg object requires a nonempty model. You may also set svg.reasoning.effort to none, minimal, low, medium, high, xhigh or max; the selected author determines which values it supports. Omit reasoning to use its default. OpenAI does not publish an author model allowlist or a universal default. If author selection is unavailable, omit the entire svg object.
The completed result can include svg_usage with model, input_tokens, output_tokens, reasoning_tokens and total_tokens. This is separate from the image usage, not an additional image-token count.
Reference images, mask and markup
{
"model": "gpt-image-2.6-sunburst-official",
"prompt": "Replace the marked background with a pale blue studio backdrop",
"images": [{"image_url":"https://example.com/reference.png"}],
"markup": {"image_url":"https://example.com/transparent-markup.png"},
"output_format": "png",
"complexity": "low"
}Reference images support PNG, JPEG and WebP, at most 50 MB each. Mask and markup must be PNG and match the first reference image's dimensions after orientation. Markup must contain transparent pixels; both markup and the first reference image may contain at most 16,777,216 pixels, and markup may be at most 50 MB. Mask and markup are mutually exclusive.
Response fields
Completed image output contains created, data: [{url}], and, when reported, size, quality, background, output_format, usage, svg_usage and safety_identifier. usage may split text/image input and output tokens and cached input. No base64 image bytes or cost fields are included in the public output.
OpenAPI schema · OpenAI generation reference · OpenAI editing reference · OpenAI image guide
