DEV Community

Cover image for GPT Image 2.6 API tutorial: drafts, finals, and migration gotchas
AIHubMix
AIHubMix

Posted on Edited on

GPT Image 2.6 API tutorial: drafts, finals, and migration gotchas

Moving a basic image call from GPT Image 2.5 to 2.6 is a model-ID change. The endpoints are the same, the token rates are the same, and the three recommended sizes are the same. The parts that need attention are Batch, which 2.5 has and 2.6 does not; the Responses image tool, which OpenAI's 2.5 and 2.6 materials describe differently; and the controls — complexity, SVG, GIF, and markup — which are documented for OpenAI's Image API but are not in AIHubMix's published parameter schema yet.

This tutorial walks one representative job through AIHubMix: a 1536x1024 poster with a headline and a product shot. It starts with three cheap Flare drafts, picks one, renders the final with Sunburst, and puts a cost line on every step. The requests below are written from the OpenAI and AIHubMix documentation; no live request was run for this post, so response times and output quality are not measured.

Prerequisites

  • An AIHubMix account and an API key in AIHUBMIX_API_KEY. AIHubMix serves both 2.6 models at the official token rates.
  • The POST https://aihubmix.com/ai/v1/images/generations endpoint. AIHubMix's image generation docs recommend /ai/v1 for new integrations; the OpenAI-compatible /v1 endpoints may not support the latest models yet.
  • One of the two model IDs: gpt-image-2.6-flare for drafts, gpt-image-2.6-sunburst for the final. There is no plain gpt-image-2.6 alias.
  • If you call OpenAI directly, the paths are still v1/images/generations and v1/images/edits; the model ID is the only change.

The requests

On /ai/v1/images/generations, there is no top-level quality field. It goes inside extra.

Draft: three directions in one call

curl -s https://aihubmix.com/ai/v1/images/generations \
  -H "Authorization: Bearer $AIHUBMIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.6-flare",
    "prompt": "A minimal poster: a single ceramic coffee mug on a pale sand background, soft morning light, large empty space at the top for a headline",
    "size": "1024x1024",
    "n": 3,
    "extra": { "quality": "low" }
  }'
Enter fullscreen mode Exit fullscreen mode

n=3 returns three directions from one request. AIHubMix's per-image estimate is $0.006, so this step is $0.018. Output URLs are short-lived — roughly 30 minutes — and need the same Bearer header:

curl -s -H "Authorization: Bearer $AIHUBMIX_API_KEY" "<output-url>" -o draft-1.png
Enter fullscreen mode Exit fullscreen mode

Final: one chosen composition

curl -s https://aihubmix.com/ai/v1/images/generations \
  -H "Authorization: Bearer $AIHUBMIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.6-sunburst",
    "prompt": "A minimal poster: a single ceramic coffee mug on a pale sand background, soft morning light, large empty space at the top for a headline. Refined studio product photography, subtle shadow, no text",
    "size": "1536x1024",
    "n": 1,
    "extra": { "quality": "high" }
  }'
Enter fullscreen mode Exit fullscreen mode

AIHubMix's estimate is $0.165 per image, so one final costs about 28 times one draft image, or about nine times the three-draft step.

Migration gotchas

Batch is missing

This is the one feature where 2.5's advantage is unambiguous. GPT Image 2.5's model page lists v1/batch as supported, and Batch prices image output at $15 per million tokens instead of $30. GPT Image 2.6's model page lists Batch as not supported, and the Batch pricing table omits both 2.6 models.

If you run overnight image jobs, do not move them to 2.6. Stay on 2.5, or split the workload: interactive drafts on 2.6, batch renders on 2.5. AIHubMix's image docs list no Batch endpoint, so this decision applies only to direct OpenAI calls.

Responses support needs a smoke test

OpenAI's own materials disagree about 2.5. The September changelog lists the Responses API image generation tool alongside the Image API, but the 2.5 model page marks Responses as not supported. For 2.6 the picture is clearer: the model page marks Responses as not supported, and the November changelog lists only v1/images/generations and v1/images/edits.

If any pipeline reaches 2.5 through Responses, add a smoke test before changing the model ID. A failure there is loud, but only if it is tested; a pipeline that silently falls back to another model is worse than a 400.

Quality and size documents disagree

For 2.5, OpenAI documents five explicit quality levels besides auto: low, medium, high, xhigh, and max. For 2.6, the guide's cost calculator lists the same five for both generations, the API reference attaches xhigh and max to 2.5 snapshots only, and AIHubMix's per-image table — the source of the costs below — prices just low, medium, high, and auto.

The safe set for 2.6 today is low, medium, high, and auto. Custom WIDTHxHEIGHT values are documented for GPT Image 2 and 2.5, while 2.6's guide recommends 1024x1024, 1536x1024, and 1024x1536. Use the three recommended sizes until the 2.6 documentation is consistent.

The new controls are Image API only

The image generation guide puts complexity, markup-guided edits, SVG output, and animated GIF output on the Image API. None of them is available through the Responses image tool, and SVG and GIF are generation-only: neither works on /v1/images/edits.

Each has its own constraint:

  • SVG requires n=1 and does not support streaming, partial images, output_compression, or prompt_rewriter.
  • GIF uses frame_count (default 9) and frame_duration_ms (default 200), is generation-only, and does not support streaming, partial images, custom output_compression, or prompt_rewriter.
  • Markup edits need the original image as the first input image and a separate transparent PNG of the same dimensions. Neither may exceed 16,777,216 pixels, and the markup file is capped at 50 MB. Do not combine markup with mask or prompt_rewriter.

SVG also has a billing rule: you pay the image model's rate for the reference image and the authoring model's rate for the tokens used to produce the SVG. The total depends on both, so the usual per-image estimate does not cover it.

AIHubMix's schema does not expose the new controls

AIHubMix's published schema for 2.6 accepts output_format values of png, jpeg, and webp only. It has no complexity, markup, frame_count, or frame_duration_ms, and no svg or gif output. The schema is available without authentication at the model endpoint schema, and it is the thing to check before relying on any of those features through the gateway.

This is a schema gap, not a measured failure: the features are documented on OpenAI's side, and the gateway may add them later. Until the schema lists them, plan SVG, GIF, and markup work as direct-to-OpenAI calls.

Errors and fixes

Status Meaning What to do
400 Parameter error Check prompt, size, n
401 Missing or invalid key Check Authorization header
402 Insufficient quota Add credits
403 Permission denied Check account, key, IP rules
429 Rate limited Back off and retry
503 No channel available Check model ID, retry later

A 400 often comes from the provider rather than the gateway. AIHubMix's error bodies carry a tid trace id. Keep it for support, and do not retry a 400 unchanged. This is the /ai/v1 contract; the legacy /v1 endpoints report insufficient quota as 403 insufficient_user_quota instead.

The other failure mode is time, not status: output URLs last roughly 30 minutes. Download and store the file yourself, with the Bearer header.

What the run costs

These are per-image output estimates from AIHubMix's table, which exclude input tokens.

Step Model Size Quality Images Estimated output cost
Drafts Flare 1024x1024 low 3 $0.018
Final, high Sunburst 1536x1024 high 1 $0.165
Run total, high final 4 $0.183
Final, medium Sunburst 1536x1024 medium 1 $0.041
Run total, medium final 4 $0.059

The same four images on 2.5 cost the same, because AIHubMix's per-image estimates match. The reason to use 2.6 is the faster draft loop — AIHubMix's model page claims 50% faster for the family, without stating a baseline — and the option to move SVG or GIF work to OpenAI later, not a lower bill. Input text tokens add a fraction of a cent at these prompt lengths; an edit would add image input tokens at $8 per million.

Coming from 1.5

GPT Image 1.5 and 1-mini retire on December 1, 2026, with 2.5 named as the replacement. If you render mostly at 1024x1024 high quality, the move is not cheap: OpenAI's 1.5 table puts high quality at $0.133, and AIHubMix's 2.6 estimate is $0.211, about 59% more. Medium goes from $0.034 to $0.053, and low goes the other way, from $0.009 to $0.006. At 1536x1024, 1.5 high is $0.200, so 2.6's $0.165 is cheaper at that size.

Run the same mix on 2.5 before assuming 2.6: the token rates are identical, so the difference between the two 2.x models is token consumption, not list price.

Migration checklist

  • Replace gpt-image-2.5-sunburst and gpt-image-2.5-flare with the 2.6 IDs where you want the new model; leave Batch jobs on 2.5.
  • Confirm whether any pipeline uses the Responses image tool; 2.6 documents the Image API only.
  • Keep quality to low, medium, high, or auto and sizes to the three recommended values until the 2.6 docs settle.
  • On AIHubMix's /ai/v1, put quality in extra; for 2.6, use /ai/v1, the path AIHubMix recommends for new integrations.
  • Download output URLs within 30 minutes, with the Bearer header.
  • Do not assume complexity, markup, SVG, or GIF work through AIHubMix until the schema lists them.
  • If you are on 1.5, budget for the December 1 retirement and re-check the high-quality cost.

What this post could not verify

  • No live request was run, so response times, output quality, and actual error bodies are not measured here.
  • The 50% speed claim comes from AIHubMix's model page, with no baseline stated.
  • The gateway gap is documented behavior in the published schema, not a failure observed in a request.
  • The Responses disagreement is a conflict in OpenAI's materials; a smoke test is the practical check before changing the model ID.

Keep reading: the GPT Image 2.6 series

Sources

Top comments (0)