GPT-Image-2
GPT-Image-2 画像生成
- 非同期処理モード、後続のクエリ用にタスクIDを返します
- OpenAI Images 互換プロトコルに基づき、テキストから画像 / 画像から画像をサポート
sizeフィールドで 15 種類の比率をサポートresolution(1k/2k/4k)で実際の出力ピクセル段階を制御- 参照画像は最大 16 枚、URL と base64 の混在をサポート
- 解像度段階(1K / 2K / 4K)に応じて課金
POST
Authorizations
すべてのエンドポイントは Bearer Token による認証が必要ですAPI キーの取得:API キー管理ページ にアクセスして API キーを取得してください使用時はリクエストヘッダーに以下を追加:
Body
画像生成モデル名
gpt-image-2 に固定画像生成のテキスト記述
- 日本語・英語・中国語をサポート、詳細な記述を推奨
- 送信前にプラットフォームのセンシティブワード / セーフティレビューを通過します。違反内容は即座にエラーを返します
生成する画像の枚数範囲:
1画像生成の比率以下の比率をサポート、
auto を渡すとサーバー側で適切な比率を自動選択します:| size | タイプ |
|---|---|
auto | 自動 |
1:1 | 正方形 |
3:2 | 横 |
2:3 | 縦 |
4:3 | 横 |
3:4 | 縦 |
5:4 | 横 |
4:5 | 縦 |
16:9 | 横 |
9:16 | 縦 |
2:1 | 横 |
1:2 | 縦 |
3:1 | 横 |
1:3 | 縦 |
21:9 | 横 |
9:21 | 縦 |
1881x836 / 887x1774 のようなピクセルサイズも直接指定できます。出力解像度の段階選択肢:
1k / 2k / 4ksize × resolution → 実際のピクセル対応:| size | 1k | 2k | 4k |
|---|---|---|---|
1:1 | 1024×1024 / 1254×1254 | 2048×2048 | 2880×2880 |
3:2 | 1536×1024 | 2048×1360 | 3520×2336 |
2:3 | 1024×1536 | 1360×2048 | 2336×3520 |
4:3 | 1024×768 | 2048×1536 | 3312×2480 |
3:4 | 768×1024 | 1536×2048 | 2480×3312 |
5:4 | 1280×1024 / 1448×1086 | 2560×2048 | 3216×2576 |
4:5 | 1024×1280 / 1122×1402 | 2048×2560 | 2576×3216 |
16:9 | 1536×864 / 1672×941 | 2048×1152 | 3840×2160 |
9:16 | 864×1536 / 941×1672 | 1152×2048 | 2160×3840 |
2:1 | 2048×1024 / 1774×887 | 2688×1344 | 3840×1920 |
1:2 | 1024×2048 / 887×1774 | 1344×2688 | 1920×3840 |
3:1 | 1881×836 / 1536×512 | 3072×1024 | 3840×1280 |
1:3 | 887×1774 / 512×1536 | 1024×3072 | 1280×3840 |
21:9 | 2016×864 / 1915×821 | 2688×1152 | 3840×1648 |
9:21 | 864×2016 / 821×1915 | 1152×2688 | 1648×3840 |
参照画像配列(OpenAI 標準フィールド)。渡すと画像から画像モードに切り替わります
その他の OpenAI 標準フィールド(
response_format、quality、style など)は現在サポートされておらず、無視されます。タスク結果は url のみを返します。base64 が必要な場合はご自身でダウンロードして変換してください。公式チャネルをフォールバックとして使用するかどうか
false:使用しない(デフォルト)true:公式チャネルを使用
使用シナリオ例
テキストから画像(最小リクエスト)Response
レスポンスステータスコード
レスポンスデータ配列
タスク結果のクエリ
提出成功後にtask_id が返されます。GET /v1/tasks/{task_id} でタスク状態をポーリングしてください。詳細は タスククエリ API を参照。
成功レスポンス例
data.result.images[0].url[0]
タスクステータス
| ステータス | 意味 |
|---|---|
submitted | 提出済み |
processing | 上流で処理中 |
completed | 成功、result.images 利用可能 |
failed | 失敗、error.message を確認 |
ポーリングの推奨事項
- 初回クエリの遅延:提出後 10~20 秒待ってから最初のクエリを実行
- クエリ間隔:3~5 秒推奨。ミリ秒単位のポーリングは避けてください
- タイムアウトの目安:1 枚通常 30
60 秒で完了(実測53s)actual_time44 - バッチクエリ:複数タスクを同時にクエリする場合は
POST /v1/tasks/batchを使用、ボディ{"task_ids": ["task_xxx", "task_yyy"]}
注意事項
- 非同期処理:提出後に
task_idが返ります。/v1/tasks/{task_id}をポーリングして最終画像 URL を取得 - コンテンツレビュー:
promptは先にレビューされ、違反は即拒否 & 課金なし - 結果 URL:プラットフォームが上流の一時署名リンクを自社 R2 オブジェクトストレージにミラーリング、返されるのは安定リンクでクライアントから直接アクセス可能
- URL 有効期限:レスポンスの
expires_at = completed + 24hはビジネス層のヒントフィールド。早めにダウンロードまたは自社 CDN に転送してください - 比率の競合:比率は
sizeフィールドでのみ指定することを推奨。promptでの重複記述は上流の解釈の競合を招くため避けてください - 課金規則:解像度段階(1K / 2K / 4K)に応じて課金、失敗・レビュー拒否は課金なし
- 4K 対応比率:上記 15 種類の比率はいずれも 4K 対応。対応するピクセルサイズを
sizeで直接指定することもできます - タスクの保持:
task_idはデータベースにデフォルトで数日間保持されます(TASK_RETENTION_DAYSで設定)。期限切れのクエリは「タスクが存在しないか期限切れ」を返します