dall-e-3、文字レンダリング能力がより高い gpt-image-1、最新世代の gpt-image-2、および同一インターフェースで利用可能な nano-banana / nano-banana-2 / nano-banana-pro シリーズモデルをサポートしています。これらはすべてテキストの説明に基づいて高品質な画像を生成できます。
本ドキュメントでは、OpenAI Images Generations API の操作手順を主に紹介し、これを利用して OpenAI シリーズの画像生成機能を簡単に使う方法を解説します。
申請手順
OpenAI Images Generations API を使用するには、まず OpenAI Images Generations API ページで「Acquire」ボタンをクリックして、リクエストに必要な認証情報を取得してください:
ログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録およびログイン後に元のページに戻ります。
初回申請時には無料クレジットが付与され、この API を無料で利用可能です。
GPT-Image-2 モデル
gpt-image-2 は OpenAI がリリースした新世代の画像生成モデルで、dall-e-3 や gpt-image-1 と比較して以下の点で大幅に向上しています:
- 指示遵守能力が強化:複雑な構図、数の指定、位置関係などの構造化指示を正確に理解可能。
- 文字レンダリングがより鮮明:ポスター、メニュー、インフォグラフィック、ロゴなどのシーンで英数字の乱れがほぼ発生しません。
- スタイル表現が豊富:映画風ポートレート、レトロポスター、児童向けイラスト、商品写真、インフォグラフィックなど多様なスタイルをネイティブサポート。
- ネイティブで多比率+高解像度対応:5種類の比率(1:1、4:3、3:4、16:9、9:16)に対し、3段階の解像度(1K / 2K / 4K)をカバー。
model フィールドに gpt-image-2 を指定するだけです。返却される url は platform.cdn.xhuoapi.ai に永久ホスティングされた画像リンクで、ブラウザで直接開くかウェブページに埋め込むことができます。
対応する size の値と課金レベル
gpt-image-2 は size の形式のみ検証し、auto または空文字列でなければ WIDTHxHEIGHT(例:1024x1024、2048x1152、800x600)の形式である必要があります。それ以外の形式は 400 エラーを返します。課金は以下の2段階です:
- 1K 標準価格:下表のいずれかの1K推奨サイズ、または上流で一般的な1K出力の別名(
1254x1254、1672x941、941x1672)に該当する場合。これらは上流で1K帯の実際の返却サイズで、受け取って再度sizeに指定しても価格は変わりません。 - その他のサイズ(1.5倍):上記1K集合に含まれないサイズ全て。下表の2K / 4K推奨サイズや任意のカスタム
WIDTHxHEIGHTも含みます。
| 比率 | 1K(標準価格) | 2K推奨(×1.5) | 4K推奨(×1.5) |
|---|---|---|---|
| 1:1 | 1024x1024 | 2048x2048 | 2880x2880 |
| 4:3 | 1536x1024 | 2048x1536 | 3264x2448 |
| 3:4 | 1024x1536 | 1536x2048 | 2448x3264 |
| 16:9 | 1792x1024 | 2048x1152 | 3840x2160 |
| 9:16 | 1024x1792 | 1152x2048 | 2160x3840 |
size: "auto"を指定するか、sizeフィールドを省略すると、モデルがデフォルトサイズを自動選択し、1K標準価格で課金されます。 1K帯では上流の出力が厳密なピクセル一致を保証しません。例えば1024x1024を指定しても1254x1254が返ることがありますが、比率は維持されます。返却されたサイズを再度sizeに指定しても1K価格です。 4Kの単一呼び出しは通常4~8分かかるため、後述のcallback_urlを用いた非同期コールバックの利用を推奨します。
以下に、様々な実例を通じてnパラメータについてgpt-image-2は現時点でn > 1をサポートしていません。このパラメータは無視され、n=1でもn=10でも単一画像のみ返却され、課金も1枚分のみです。複数候補画像が必要な場合は、複数回のリクエストを並行して送信してください(異なるpromptまたはseedを指定することを推奨します。そうしないと類似画像が生成される可能性があります)。この制限はgpt-image-1/gpt-image-1.5、およびnano-banana/nano-banana-2/nano-banana-proシリーズにも適用されます。dall-e-2は唯一n > 1をネイティブサポートするモデルで、dall-e-3はn=1のみ対応です。
gpt-image-2 の性能を直感的にご紹介します。
シーン1:映画風ポートレート
プロンプトに映画用語(35mmフィルム、浅い被写界深度、ネオン光など)を使い、雰囲気や質感を精密にコントロール可能です。 Python サンプルコード:
シーン2:レトロ旅行ポスター(文字レンダリング付き)
gpt-image-2 はレイアウトやフォントレンダリングが安定しており、ポスター、メニュー、カードなど文字入りデザインに最適です。
url の画像:

AMALFI と ITALIA 1958 が鮮明かつ正確にレンダリングされています。
シーン3:複雑な構図と数の指定
以下のプロンプトは「数量」と「位置」などの構造化指示の遵守能力をテストします。
dall-e-3 時代には安定して実現が難しかった成果です。
シーン4:イラスト風(横長)
アートメディアやムードキーワードを指定して、スタイライズされたイラストを生成可能です。
非同期およびコールバック
gpt-image-2 の単一呼び出しは通常60~90秒かかります。長時間の接続を維持したくない場合は、後述の callback_url による非同期コールバック機構を利用可能で、呼び出し手順は他モデルと同一です。
Nano Banana シリーズモデル
nano-banana シリーズは Gemini ベースの画像生成モデルで、同じ /openai/images/generations インターフェースから利用可能です。エンドポイントを切り替える必要はなく、model を下表のいずれかに変更するだけで使えます。
| モデル | 課金(クレジット / 回) | 適用シーン |
|---|---|---|
nano-banana | 0.14 | 一般的な画像生成、最速かつ最安価 |
nano-banana-2 | 0.28 | 品質とディテールが明確に向上 |
nano-banana-pro | 0.35 | シリーズのフラッグシップ、構図・ディテール・文字表現が最良 |
重要:対応パラメータ範囲 Nano Banana は適合レイヤーを介して OpenAI プロトコルに接続しており、gpt-image-*と比べて以下のパラメータのみサポートします:model、prompt、size。
sizeは下表のように内部のaspect_ratioにマッピングされ、未記載サイズは1:1にフォールバックします:
1024x1024/512x512/256x256→1:11792x1024→16:91024x1792→9:16n、quality、style、response_format、background、output_formatなどのパラメータは非対応で、指定しても無視されます。- 返却構造は OpenAI 形式(
data[].url)に準拠しますが、createdは常に0、b64_jsonは返さず、revised_promptは常に元のpromptと同一です。
基本呼び出し例
url から直接アクセス可能です:

フラッグシップモデル nano-banana-pro へのアップグレード
model を nano-banana-pro に変更するだけで、他のパラメータは同じまま利用可能です:

非同期コールバック
callback_url による非同期コールバックは nano-banana シリーズでも有効で、呼び出し手順は他モデルと同様です。詳細は後述の 非同期コールバック 節をご参照ください。
基本的な使用方法
インターフェース上で必要な内容を入力します。例:
authorization で、ドロップダウンリストから選択可能です。もう1つは model で、OpenAI DALL-E の公式モデルカテゴリから選択します。ここでは主に1種類のモデルを利用可能で、詳細は提供されたモデル情報を参照してください。最後は prompt で、生成したい画像の説明文を入力します。
右側には対応する呼び出しコードが自動生成され、コピーして実行したり、「Try」ボタンでテスト可能です。

created:今回の画像生成タスクのID。タスクを一意に識別します。data:画像生成結果の情報を含みます。
data は生成された画像の詳細情報を含み、その中の url は生成画像の詳細リンクです。以下のように表示されます。

画像品質パラメータ quality
画像生成結果の詳細パラメータの設定方法を紹介します。画像品質パラメータ quality は2種類あります。1つは standard で標準的な画像を生成し、もう1つは hd でより細かいディテールと高い一貫性を持つ画像を生成します。
以下は quality を standard に設定した例です:


quality が standard の画像例:

quality を hd に設定すると、以下のようなより細密な画像が得られます:

hd は standard よりも細かいディテールと高い一貫性を持つ画像を生成します。
画像サイズパラメータ size
生成画像のサイズも設定可能です。以下は 1024 * 1024 に設定した例です:


1024 * 1024 サイズの生成画像例:

1792 * 1024 サイズに設定すると、以下のような画像が得られます:
画像サイズが明確に異なることがわかります。さらに多様なサイズ設定も可能で、詳細は公式ドキュメントをご参照ください。
画像スタイルパラメータ style
画像スタイルパラメータ style は2種類あります。1つは vivid でより鮮やかな画像を生成し、もう1つは natural でより自然な画像を生成します。
以下は style を vivid に設定した例です:


vivid スタイルの生成画像例:

style を natural に設定すると、以下のような画像が得られます:

vivid は natural よりもより生き生きとしたリアルな画像を生成します。
画像リンク形式パラメータ response_format
最後に画像リンクの形式パラメータ response_format は2種類あります。1つは b64_json で画像リンクを Base64 エンコードし、もう1つは url で通常の画像リンクを返します。
以下は response_format を url に設定した例です:


response_format が url の場合の画像リンクは 画像 URL で直接アクセス可能です。画像例:

response_format を b64_json に設定すると、Base64 エンコードされた画像リンクが返却されます。例:
非同期コールバック
OpenAI Images Generations API は画像生成に時間がかかる場合があり、API が長時間応答しないと HTTP リクエストが接続を維持し続け、システムリソースを消費します。そのため、本 API は非同期コールバックもサポートしています。 全体の流れは、クライアントがリクエスト時にcallback_url フィールドを指定し、API は即座に task_id を含む結果を返します。タスク完了後、生成結果が POST JSON 形式で指定された callback_url に送信され、task_id によりタスク結果を紐づけられます。
以下に具体的な操作例を示します。
まず、Webhook コールバックは HTTP リクエストを受け取るサービスで、開発者は自身で構築した HTTP サーバーの URL を指定してください。ここではデモ用に公開 Webhook サイト https://webhook.site/ を使用します。サイトを開くと Webhook URL が取得できます:
この URL をコピーし、Webhook として利用します。例:https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab
次に、callback_url フィールドに上記 URL を指定し、その他パラメータを設定します。例:
task_id が含まれ、data は同期呼び出しと同様の画像生成結果を含みます。task_id によりタスクの関連付けが可能です。
エラー処理
API 呼び出し時にエラーが発生した場合、API は対応するエラーコードとメッセージを返します。例:400 token_mismatched:不正なリクエスト、パラメータ不足または無効の可能性。400 api_not_implemented:不正なリクエスト、パラメータ不足または無効の可能性。401 invalid_token:認証エラー、トークンが無効または欠落。429 too_many_requests:リクエスト過多、レート制限超過。500 api_error:サーバ内部エラー。

