GPT-Image-2.6 API ガイド:Flare、Sunburst、GIF、SVG
画像制作のスプリントを台無しにするのは、たいていメインビジュアルの生成リクエストではありません。厄介なのは、その後に続く問い合わせです。「同じ呼び出しで GIF も返せる?ロゴは SVG で受け取れる?マグカップを 2 インチ左に動かすだけで、シーン全体を再生成せずに済む?」——1 枚の平坦な PNG を前提に組んだパイプラインでは、この 3 つすべてに対して新しいプロジェクトを立ち上げるしかありません。
OpenAI は 2026 年 11 月 4 日に Images 2.6 をリリースし、API はこうした要求をカバーするようになりました。2 つのモデルバリアント、GIF と SVG の出力、マークアップに導かれた編集、そして独立した complexity 制御です。ただし、新しい機能面はあらゆるリファレンスページの更新より速く追加されました。このガイドでは、そのまま実行できる GPT-Image-2.6 API 連携を示したうえで、制限値をハードコードする前に必ず確認すべき箇所を具体的に指摘します。
TL;DR
- 2 モデル、料金表は 1 つ。
gpt-image-2.6-flareは高速な反復のための経路で、gpt-image-2.6-sunburstは medium/high 品質での高品質化、ディテール向上、編集の一貫性強化を狙います。どちらも同じトークン単価です。- 新しい API 機能。 GIF 出力、SVG 出力、マークアップによる編集、
complexityパラメータ。生成と編集は引き続き別エンドポイントです。- 1 枚課金ではなくトークン課金。 画像出力は 100 万トークンあたり $30、画像入力は 100 万あたり $8(キャッシュ時 $2)、テキスト入力は 100 万あたり $5(キャッシュ時 $1.25)です。
- ドキュメントの矛盾は 3 箇所。 GIF の
frame_count、マークアップのモデル対応、品質/サイズリファレンスの一部です。固定の制限値を出荷する前に、自分のアカウントで確認してください。
提供状況: GPT-Image-2.6 は ToAPIs で近日公開予定です。以下のコード例は公開に備えたものです。最新の提供状況は モデルページ をご確認ください。
1. GPT-Image-2.6 API で提供されたもの
Images 2.6 は 2026 年 11 月 4 日リリースの世代で、ChatGPT、Codex、API で利用できます。OpenAI によれば、前世代より 50% 速く画像を生成します。これは生成速度に関するベンダーの主張であり、あなたの環境の p95 レイテンシを約束するものでも、価格について述べたものでもありません。課金は引き続きトークンベースです。
2 つのモデル ID は異なる役割を担います。
gpt-image-2.6-flareは高速な反復のために設計されています。quality=lowでは、OpenAI は最短約 6 秒での生成と説明しており、プロンプトの探索、サムネイル、UI プレビューなど「今そこそこのものが欲しい」場面の既定候補になります。gpt-image-2.6-sunburstは品質とディテールを高め、quality=mediumまたはhighで編集の一貫性を強化します。最終アセットや、変更しない部分を確実に残す必要がある編集に使います。
両モデルは同じトークン単価を共有するため、選択の基準は「安いモデル ID かどうか」ではなく、採用率とレイテンシです。前世代から移行する場合、共通のリクエスト形式は GPT Image 2 API ガイド で説明しています。本記事は 2.6 で追加された点に焦点を当てます。アカウントでの利用可否は GPT-Image-2.6 モデルガイド で確認してください。
API は OpenAI 互換です。以下の例は https://api.toapis.com/v1 を対象にしています。別の互換ベース URL に向ける場合は、ペイロードはそのままに、ベース URL とキーだけを変更してください。
2. 最初の GPT-Image-2.6 API リクエスト
生成から始めましょう。次の curl は、Flare に正方形の下書きを低品質・低 complexity で要求する、最も手早く妥当なスモークテストです。
curl -sS https://api.toapis.com/v1/images/generations \
-H "Authorization: Bearer $TOAPIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.6-flare",
"prompt": "Paper-cut football stadium at night, layered cardstock, rim light, no text",
"size": "1024x1024",
"quality": "low",
"complexity": "low",
"n": 1
}' -o flare-response.json
ダウンローダーを書く前に、レスポンスを確認してください。モデルやリクエストオプションによって、画像 API は URL を返すことも base64 データを返すことも一般的です。data[0].url を前提にしたクライアントは、正当な base64 レスポンスで失敗します。次のヘルパーは両方に対応し、本記事のすべての例で使います。
import base64
import os
import pathlib
import requests
API = "https://api.toapis.com/v1/images/generations"
HEADERS = {"Authorization": f"Bearer {os.environ['TOAPIS_API_KEY']}"}
def generate(model: str, prompt: str, output: str, **params) -> str:
payload = {"model": model, "prompt": prompt, "n": 1, **params}
response = requests.post(API, headers=HEADERS, json=payload, timeout=180)
response.raise_for_status()
item = response.json()["data"][0]
target = pathlib.Path(output)
if item.get("b64_json"):
target.write_bytes(base64.b64decode(item["b64_json"]))
else:
target.write_bytes(requests.get(item["url"], timeout=60).content)
return str(target)
if __name__ == "__main__":
prompt = "Paper-cut football stadium at night, layered cardstock, rim light, no text"
generate("gpt-image-2.6-flare", prompt, "flare-draft.png",
size="1024x1024", quality="low", complexity="low")
generate("gpt-image-2.6-sunburst", prompt, "sunburst-final.png",
size="1536x1024", quality="high", complexity="high")
180 秒というタイムアウトは意図的なものです。複雑なプロンプトは最大 2 分程度かかることがあるため、30 秒のクライアントタイムアウトでは、サーバー側がまだ完了できる処理を打ち切ってしまいます。プロダクトがそれだけリクエストを保持できない場合は、タイムアウトを短縮してむやみに再試行するのではなく、ジョブキューを使ってください。
3. Flare と Sunburst:GPT-Image-2.6 API のモデル選択
有用な比較は「どちらのモデルが優れているか」ではありません。「このタスクで、許容できるレイテンシとコストで採用されるのはどちらか」です。却下された Flare の下書きは、そのまま出荷できる Sunburst の 1 枚より高くつくことがあります。
| 作業 | 最初に選ぶべきモデル | 理由 |
|---|---|---|
| 20 通りのプロンプト方向を探索する | gpt-image-2.6-flare | 低品質生成が高速経路。ダメな方向を早く切り捨てられる |
| UI サムネイルとプレースホルダー | gpt-image-2.6-flare | 細部より速度が重要 |
| 最終的なメインビジュアル | gpt-image-2.6-sunburst | medium/high 設定で品質とディテールが向上 |
| 同一性を保つ必要がある編集 | gpt-image-2.6-sunburst | medium/high 品質で編集の一貫性が強い |
| 大量の一次パス | gpt-image-2.6-flare | トークン単価は同じだが、試行あたりの秒数が短い |
| 形式の実験(GIF/SVG) | どちらでも。その後再実行 | 品質を最適化する前に形式サポートを確認 |
同じプロンプトと同じ出力サイズで両モデルを実行し、一度に 1 つの変数だけを変え、結果をブラインドレビューします。採用率、p50/p95 レイテンシ、生のレスポンスメタデータを記録してください。要求したモデルと返却されたモデル、quality、complexity、サイズ、形式、存在すればトークン使用量、経過時間です。魅力的なサンプル 1 枚では、モデルが優れていることの証明になりません。
実践的なパターンは、探索では Flare の低品質、選んだ方向の仕上げでは Sunburst の高品質です。プロンプトは引き継ぎますが、2 枚目がピクセル単位で同一になるとは期待しないでください。一貫性が重要な場合は、新規生成ではなく編集を試してください。
4. GPT-Image-2.6 API における品質と complexity
quality には low、medium、high、xhigh、max、auto を指定できます。デフォルトは auto です。ほとんどのチームに必要な運用ポイントは 3 つだけです。
- レイテンシが支配的で、画像が使い捨てなら
low。 - 出力をレビューする、または出荷するなら
mediumまたはhigh。 - ディテールが追加作業に見合う最終アセットなら
xhighまたはmax。
レイテンシとトークン使用量はワークロードによって変わります。2.5 の 1 枚単価をコピーしないでください。2.6 はトークン課金です。
complexity は別系統のパラメータで、low、medium、high を指定でき、ガイド上のデフォルトは high です。独立した料金はありませんが、値を上げるとレイテンシが増え、意図しない変更が入ることもあります。無料の品質アップグレードではなく、プロンプト追従性の変数として検証してください。complexity が低いリクエストは速くなることがあり、高いリクエストは混み入ったシーンを解決したり、そのままにしておきたかった部分を「改善」したりします。自分のプロンプトで小さな A/B テストを行いましょう。
| テスト | quality | complexity | わかること |
|---|---|---|---|
| レイテンシの下限 | low | low | そのプロンプトで現実的に最速のレスポンス |
| デフォルトの挙動 | auto | high(ドキュメント上のデフォルト) | 未設定のクライアントが受け取るもの |
| ドリフト確認 | high | low | complexity を下げると意図しない変更が減るか |
| 最終ディテール | high または xhigh | high | 追加作業が採用率を高めるか |
一度に 1 つの変数だけを生成してください。quality と complexity を同時に変えると、結果が悪かったときにどちらのダイヤルが原因かわかりません。

GPT-Image-2.6 の例(中品質):重ねたカードストックとスタジアムの照明。例示用の出力であり、ベンチマークではありません。

GPT-Image-2.6 の例(高品質):表面のディテールが増え、エッジが引き締まっています。表示サイズでは、シャープさではなく採用可否を比較してください。
5. GPT-Image-2.6 API で GIF を出力する
GIF は生成専用です。POST /v1/images/generations で output_format に gif を指定します。編集ではサポートされません。制御できる項目は次のとおりです。
frame_count: デフォルト9。イメージガイドは2-64、API リファレンスは2-16と記載しています。この矛盾は未解決のため、実際に確認せずに 64 をハードコードしないでください。frame_duration_ms: デフォルト200、最小20。9 フレーム×200 ms で 1.8 秒、16 フレームで 3.2 秒です。これは単なる算術であって、滑らかな動きの保証ではありません。
generate(
"gpt-image-2.6-flare",
"A paper lantern monkey swinging through a bamboo forest, simple background, no text",
"monkey-lantern.gif",
size="1024x1024",
quality="low",
output_format="gif",
frame_count=9,
frame_duration_ms=200,
)
まずは既定の 9 フレームから始めてください。もっと必要な場合は、小さな刻みで上に試し、最初に拒否されたところで止めます。それが現時点でアカウントが受け付ける値です。GIF はフレームごとに視覚的な判断が増えるため、シーンはシンプルに保ちます。HTTP ステータスだけでなく、配信されるファイルサイズと寸法も確認してください。

GPT-Image-2.6 の例:1 回の呼び出しで生成した短いアニメーション GIF。フレーム数と再生時間は指定した設定に依存します。
GIF はマスターアセットではなくプレビュー形式として扱ってください。設定を保存し、可能であればサムネイルやアクセシビリティのフォールバック用に静止フレームも残します。
6. GPT-Image-2.6 API で SVG を出力する
SVG も生成専用です。output_format に svg を指定し、n=1 を維持し、静的なベクター出力を想定してください。文書化された制約は、ストリーミングなし、部分画像なし、圧縮なし、prompt_rewriter なしです。編集は SVG をサポートしません。
generate(
"gpt-image-2.6-sunburst",
"A minimal field-and-flour bakery label, wheat stalk and rolling pin, two-color vector, no text",
"field-and-flour.svg",
size="1024x1024",
quality="high",
output_format="svg",
n=1,
)
クライアント側で n>1 を拒否してください。output_compression を送らず、プログレッシブレンダリングも期待しないでください。SVG は完全な静的アセットとして届きます。SVG はマークアップなので、ファイルを信頼できないものとして扱います。画像として配信するか、インライン化する前にサニタイズしてください。見た目は正しいベクターに想定外の要素が含まれていれば、それはセキュリティ上の問題です。
SVG はアイコン、ラベル、図表、印刷用マークなど、ラスターのアップスケールが目立つ用途に向いています。写真、アニメーション、編集ワークフローには向きません。ベクターを修正する場合は、より厳密なプロンプトで再生成するか、デザインツールで作り直してください。構造を確認していない限り、編集可能なレイヤーを約束してはいけません。
GPT-Image-2.6 の例:シンプルな 2 色ラベルの静的な SVG 出力。インラインで配信する前に、返却されたマークアップを確認してください。
7. GPT-Image-2.6 API におけるマークアップガイド付き編集
マークアップに導かれた編集では、元画像と透過 PNG のオーバーレイを POST /v1/images/edits に送ります。オーバーレイは最初の画像に描画され、その寸法と一致している必要があります。最初の画像とオーバーレイはそれぞれ最大 16,777,216 ピクセル、オーバーレイファイルは最大 50 MB です。
ルールは厳格です。
- マークアップは
maskやprompt_rewriterと併用できません。 - オーバーレイは透過 PNG である必要があり、平坦化されたスクリーンショットは不可です。
- 複数の画像を送る場合、オーバーレイは最初の画像に適用されます。
- マークアップ自体に追加料金はありませんが、リクエストはトークンで課金されます。
ベース画像を書き出し、同じピクセル寸法で RGBA のオーバーレイを作成し、対象の周囲に半透明の矢印や輪郭を描き、変更内容と固定すべき点を定義したプロンプトとともに両方をアップロードします。オーバーレイは「どこを」示し、プロンプトは「何を」伝えます。「マグカップを右に移動し、テーブル、影、背景は維持する」は検証可能です。「もっと良くして」は検証できません。
import base64
import os
import requests
url = "https://api.toapis.com/v1/images/edits"
headers = {"Authorization": f"Bearer {os.environ['TOAPIS_API_KEY']}"}
with open("base.png", "rb") as image, open("overlay.png", "rb") as markup:
response = requests.post(
url,
headers=headers,
data={
"model": "gpt-image-2.6-sunburst",
"prompt": "Move the mug to the right side of the table and keep the table, shadow, and background unchanged.",
"size": "1024x1024",
"quality": "high",
"complexity": "medium",
},
files={"image": image, "markup": markup},
timeout=180,
)
response.raise_for_status()
item = response.json()["data"][0]
if item.get("b64_json"):
open("edited.png", "wb").write(base64.b64decode(item["b64_json"]))
else:
open("edited.png", "wb").write(requests.get(item["url"], timeout=60).content)
この例ではオーバーレイのパート名として markup を使っています。現在の API リファレンスで確認してください。リファレンスではマークアップを 2.5 の機能としていますが、イメージガイドでは 2.5 と 2.6 で説明しています。テストリクエストが成功するまで出荷しないでください。Sunburst がマークアップを拒否した場合、黙ってバージョンを切り替えず、失敗を明示して最後に動作確認した経路を維持します。

GPT-Image-2.6 の例:マークアップガイド付き編集の前の元画像。オーバーレイとプロンプトは表示していません。

GPT-Image-2.6 の例:編集後の結果。変更していない領域も、依頼した変更と同じくらい注意深く確認してください。説得力のある新しいオブジェクトでも、影を動かしたり背景を変えたりすることがあります。
編集品質はリージョン単位のチェックリストで測ります。対象が変更されたか、対象外の形状が保たれたか、影と反射が一貫しているか、テキストが変わっていないか、オーバーレイの端に新しいオブジェクトが生まれていないか。ベース画像を保持しておけば、再生成せずに再試行できます。
8. GPT-Image-2.6 API のサイズと制限
推奨サイズは 1024x1024、1536x1024、1024x1536 です。カスタムサイズは、16 の倍数の寸法、1:3 から 3:1 のアスペクト比、最大 3840x2160 という条件を満たす必要があります。2560x1440 を超えるものは実験的扱いです。レイアウトが推奨サイズと異なる場合は、まずそこを確認してください。
クライアント側の小さなガードで、往復コストが発生する前にほとんどの不正リクエストを捕まえられます。
def validate_size(width: int, height: int) -> str:
if width % 16 or height % 16:
raise ValueError("width and height must be multiples of 16")
if not (1 / 3 <= width / height <= 3):
raise ValueError("aspect ratio must stay between 1:3 and 3:1")
if width > 3840 or height > 2160:
raise ValueError("maximum size is 3840x2160")
if width * height > 3840 * 2160:
raise ValueError("pixel area exceeds the documented maximum")
return f"{width}x{height}"
GPT-Image-2.6 API のドキュメントの矛盾は見た目だけの問題ではありません。クライアントが何を受け入れるべきかを変えます。
| 項目 | ある資料の記載 | 別の資料の記載 | エンジニアリング上の対応 |
|---|---|---|---|
GIF の frame_count | イメージガイド:2-64 | API リファレンス:2-16 | 9 から始め、上方向に試し、64 をハードコードしない |
| マークアップのモデル対応 | イメージガイド:2.5 と 2.6 | API リファレンス:2.5 のみ | アカウントで 2.6 を試し、フォールバックを用意する |
| 品質/サイズの表 | 2.6 ガイドには新しいレベルとサイズが含まれる | 一部のリファレンスページは前世代のまま | 実行時に enum と寸法を検証する |
ドキュメントはバージョン付きの設定として扱いましょう。ソース URL、参照日、アカウントの実際の挙動を記録します。未サポートの enum による 400 は証拠ですが、設定ファイルのコメントは証拠になりません。
9. GPT-Image-2.6 API 呼び出しの実際のコスト
OpenAI は Images 2.6 をトークンで課金します。gpt-image-2.6-flare と gpt-image-2.6-sunburst は同じ単価を使います。
| トークン種別 | 標準 | キャッシュ |
|---|---|---|
| 画像出力 | $30.00 / 1M | 該当なし |
| 画像入力 | $8.00 / 1M | $2.00 / 1M |
| テキスト入力 | $5.00 / 1M | $1.25 / 1M |
コストの計算式は次のとおりです。
cost = (image_output_tokens * 30
+ image_input_tokens * 8
+ cached_image_input_tokens * 2
+ text_input_tokens * 5
+ cached_text_input_tokens * 1.25) / 1_000_000
公式の固定 1 枚単価はありません。見積もりは実測のトークン使用量から始まります。たとえば生成リクエストがテキスト入力 400 トークン、画像出力 5,000 トークンを課金したとします。(400 × 5 + 5,000 × 30) / 1,000,000 = $0.152 です。これらの数値は例示用であり、平均値ではありません。さらに画像入力 2,000 トークンを課金する編集では $0.016 が加算され、$0.168 になります。
1,000 リクエストでは、仮定の $0.152 は約 $152 になります(画像入力やキャッシュ割引を除く)。追うべきはリクエスト単価ではなく、採用された画像 1 枚あたりのコストです。再試行、却下、レビュー時間、ストレージを含めてください。レビューで出力の 40% が却下されるなら、安い呼び出しは負けることがあります。
計算を正しく保つルールは 2 つです。50% 高速でも 50% 安くはなりません。速度はレイテンシを変えるだけで、トークン単価は変わりません。また、2.5 の 1 枚単価は 2.6 には適用されません。キャッシュ入力が効くのは、同じ参照を繰り返す編集で、入力がキャッシュから提供される場合だけです。料金ページ を確認し、返却された usage と突き合わせてください。
10. 本番チェックリストと既知の制限
GPT-Image-2.6 API は高性能ですが、決定論的なレイアウトエンジンではありません。文書化された制約は依然として適用されます。複雑なプロンプトは最大 2 分程度かかることがあり、テキスト描画には限界があり、世代間の一貫性は保証されず、構図の制御も完全ではありません。1 回の完璧な呼び出しではなく、レビューと再試行を前提に設計してください。
GPT-Image-2.6 API のトラフィックを流す前に、次の点を確認してください。
- 最悪ケースより長いタイムアウトを設定するか、長時間ジョブをキューに入れます。曖昧なタイムアウト後に有料リクエストをむやみに再試行せず、まずステータスや冪等性を確認してください。
- モデル ID、quality、complexity、サイズ、出力形式を自前のクライアントで検証します。未サポートの組み合わせはリクエストを消費する前に拒否します。
- 要求したモデルと返却されたモデル、形式、寸法、quality、complexity、トークン使用量、レイテンシ、出力のハッシュをログに残します。キーと機密プロンプトは伏せます。
- メトリクスでは生成の失敗と編集の失敗を分けます。拒否されたマークアップリクエストと遅い生成は別のインシデントです。
- マルチターンの画像編集には Responses API を使います。ターンをまたいだ生成と編集をサポートします。1 回限りのジョブには Images エンドポイントのほうがシンプルです。
- テスト済みのフォールバックを用意します。Sunburst が利用できない場合でも Flare がリクエストを処理できることがありますが、出力は異なります。黙って差し替えず、フォールバックモデルが動いたことをユーザーに伝えてください。
- 必要なアセットは管理下のストレージに保存します。一時 URL を恒久的なアーカイブとみなさず、信頼できない SVG はサニタイズせずにインライン化しないでください。
ロールアウトには、ワークロードを代表する固定スイートを使います。小さなパッケージのテキスト、編集後も形状を保つ必要がある商品、横長の構図、短いアニメーション。記述したチェックリストに沿って採点し、スクリーンショットではなく採用率と p95 レイテンシでモデルを比較してください。
11. FAQ
gpt-image-2.6-flare と gpt-image-2.6-sunburst のどちらを使うべきですか?
探索、バリアント生成、レイテンシを重視する下書きには Flare を使ってください。特に quality=low が適しています。最終的なディテールと、残りの部分を保持する必要がある編集には Sunburst を quality=medium または high で使います。両モデルはトークン単価が同じなので、高品質モデルが常に必要だと決めつけず、小さな採用テストを実行してください。
GPT-Image-2.6 API は編集で GIF と SVG をサポートしますか?
いいえ。GIF と SVG は GPT-Image-2.6 API の生成形式で、編集はどちらもサポートしません。SVG は静的なベクターで、n=1、ストリーミングなし、部分画像なし、圧縮なし、prompt_rewriter なしです。GIF も生成専用です。編集が形式を無視することを期待せず、別々の経路を構築してください。
GPT-Image-2.6 API の画像 1 枚あたりのコストはいくらですか?
公式の固定 1 枚単価はありません。画像出力は 100 万トークンあたり $30、画像入力は 100 万あたり $8(キャッシュ時 $2)、テキスト入力は 100 万あたり $5(キャッシュ時 $1.25)です。実測したトークン数で見積もり、総支出を採用画像数で割ってください。2.6 の予算に 2.5 の 1 枚単価を流用しないでください。
GPT-Image-2.6 API のドキュメントが食い違うのはなぜですか?
ガイドと API リファレンスは完全には同期していません。frame_count は 2-64 と 2-16 の両方で記載され、マークアップはリファレンスでは 2.5 のみ、ガイドでは 2.5/2.6 と記載されています。品質とサイズの表の一部も遅れています。これらはバージョン固有の制限として扱い、自分のアカウントでテストし、確認日と結果を記録してください。
12. 移行ではなく、3 回の呼び出しから始める
GPT-Image-2.6 API は、統制されたバッチで評価してください。Flare の low/low の下書き 1 本、Sunburst の high/high の最終 1 本、プロダクトに合った形式のリクエスト 1 本です。トークン、レイテンシ、採用率を記録し、どれがパイプラインに残るべきかを決めます。
ToAPIs アカウント を作成し、現在のアクセス状況は GPT-Image-2.6 モデルガイド で確認し、料金は 料金ページ で確認してください。まだ前世代を使っている場合は、先に GPT Image 2 API ガイド を読み、パイプライン全体を書き換えるのではなく 1 エンドポイントずつ移行してください。