Skip to main content
OpenAI Images Generations API は現在、クラシックな 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-3gpt-image-1 と比較して以下の点で大幅に向上しています。
  • 指示遵守能力の向上:複雑な構図、数の指定、位置関係などの構造化指示を正確に理解可能。
  • 文字レンダリングの明瞭化:ポスター、メニュー、インフォグラフィック、ロゴなどの英数字がほぼ乱れなく描画される。
  • スタイル表現の多様化:映画風ポートレート、レトロポスター、児童向けイラスト、製品写真、インフォグラフィックなど多様なスタイルをネイティブサポート。
  • ネイティブの多アスペクト比+高解像度対応:5種類の比率(1:1、4:3、3:4、16:9、9:16)に対し3段階の解像度(1K / 2K / 4K)をカバー。
呼び出し方法は他のモデルと完全に同じで、model フィールドに gpt-image-2 を指定するだけです。返却される urlplatform.cdn.acedata.cloud に永久ホスティングされた画像リンクで、ブラウザで直接開くかウェブページに埋め込むことができます。

サポートされる size の値

gpt-image-2size のフォーマットのみを検証し、auto または空文字列でなければ WIDTHxHEIGHT(例:1024x10242048x1152800x600)の形式である必要があります。その他の形式は 400 エラーを返します。すべてのサイズ(1K / 2K / 4K / カスタム)は単一画像あたりの料金で、サイズによる追加料金はありません。 上流の厳格な制約として、幅・高さは16の倍数で、長辺は3840以下、総ピクセル数は8,294,400以下である必要があります。範囲外は上流で拒否され 4xx エラーが返されます。
size: "auto" を指定するか、size フィールドを省略すると、モデルがデフォルトのサイズを自動選択します。 1K 解像度では上流出力が厳密なピクセル数に合致しない場合があります。例えば 1024x1024 を指定しても 1254x1254 が返ることがありますが、比率は維持されます。この場合、その解像度を再度 size に指定しても課金は変わりません。 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-3n = 1 のみ対応です。
以下に複数の実例を示し、gpt-image-2 の能力を直感的にご紹介します。

シーン1:映画風ポートレート

プロンプトに映画用語(35mm フィルム、浅い被写界深度、ネオン光など)を使い、雰囲気や質感を精密にコントロール可能です。 Python サンプルコード:
返却例:
生成画像例:

シーン2:レトロ旅行ポスター(文字レンダリング付き)

gpt-image-2 はレイアウトやフォントレンダリングが安定しており、ポスター、メニュー、グリーティングカードなど文字入りデザインに最適です。
返却された url に対応する画像:

Art Deco ポスターの視覚スタイルが正確に再現されており、タイトル文字 AMALFIITALIA 1958 が鮮明かつ正確にレンダリングされています。

シーン3:複雑な構図と数量指定

以下のプロンプトは「数量」と「位置」などの構造化指示の遵守能力をテストします。
生成画像例:

三段の本棚の本の数(1 / 3 / 7)がプロンプトと完全に一致しており、dall-e-3 時代には安定して実現が難しかった性能です。

シーン4:イラストスタイル(横長)

アートメディアやムードのキーワードを指定することで、スタイライズされたイラストを生成可能です。
生成された横長イラスト:

非同期およびコールバック

gpt-image-2 の単一呼び出しは通常60~90秒かかります。長時間の接続を維持したくない場合は、後述の callback_url を使った非同期コールバック機構を利用可能で、呼び出し手順は他モデルと同様です。

Nano Banana シリーズモデル

nano-banana シリーズは Gemini ベースの画像生成モデルで、同じ /openai/images/generations インターフェースから利用可能です。エンドポイントを切り替える必要はなく、model を以下のいずれかに変更するだけで利用できます。
重要:対応パラメータ範囲 Nano Banana は適合レイヤーを介して OpenAI プロトコルに接続されており、gpt-image-* と比較して以下のパラメータのみサポートします:modelpromptsize
  • size は下表のように内部の aspect_ratio にマッピングされ、未記載のサイズは 1:1 にフォールバックします:
    • 1024x1024 / 512x512 / 256x2561:1
    • 1792x102416:9
    • 1024x17929:16
  • nqualitystyleresponse_formatbackgroundoutput_format などは非対応で、指定しても無視されます。
  • 返却構造は OpenAI 形式(data[].url)に準拠しますが、created は常に 0b64_json は返さず、revised_prompt は常に元の prompt と同一です。

基本呼び出し例

返却例:
生成画像は返却された url から直接アクセス可能です。

フラッグシップモデル nano-banana-pro へのアップグレード

modelnano-banana-pro に変更するだけで、他のパラメータは同じです。
返却例:

非同期コールバック

callback_url による非同期コールバック機構は nano-banana シリーズでも有効で、呼び出し手順は他モデルと同様です。詳細は後述の 非同期コールバック セクションを参照してください。

基本的な使い方

画面上で対応する内容を入力します。例:

初回利用時は少なくとも3つの項目を入力します。1つは authorization で、ドロップダウンリストから選択可能です。もう1つは model で、OpenAI DALL-E の公式モデルカテゴリを選択します。ここでは主に1種類のモデルを用意しています。最後に prompt を入力し、生成したい画像の説明を記述します。 右側には対応する呼び出しコードが生成されており、コピーして直接実行したり、「Try」ボタンでテストできます。

Python サンプルコード:
呼び出し後の返却例:
返却結果の主なフィールド:
  • created:今回の画像生成の ID。タスクの一意識別子。
  • data:画像生成結果の情報を含む。
data 内の url は生成された画像の詳細リンクで、以下のように表示されます。

画像品質パラメータ quality

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

右側に対応する呼び出しコードが生成され、コピーして実行可能です。

Python サンプルコード:
返却例:
standard 品質の画像例:

同様に qualityhd に設定すると、以下のようなより精細で一貫性の高い画像が得られます。

画像サイズパラメータ size

生成画像のサイズも設定可能です。以下は 1024x1024 に設定した例:

右側に対応コードが生成されます。

Python サンプルコード:
返却例:
1024x1024 サイズの生成画像例:

同様に 1792x1024 に設定した場合の画像: サイズが明確に異なることがわかります。その他のサイズ設定については公式ドキュメントを参照してください。

画像スタイルパラメータ style

画像スタイルパラメータ style は2種類あります。vivid はより鮮やかで生き生きとした画像を生成し、natural はより自然な画像を生成します。 以下は stylevivid に設定した例:

右側に対応コードが生成されます。

Python サンプルコード:
返却例:
vivid スタイルの生成画像例:

同様に stylenatural に設定した場合の画像:

vividnatural よりも生き生きとリアルな画像を生成します。

画像リンクのフォーマットパラメータ response_format

最後に画像リンクのフォーマットパラメータ response_format には2種類あります。b64_json は画像リンクを Base64 エンコードしたもので、url は通常の画像リンクで直接画像を閲覧可能です。 以下は response_formaturl に設定した例:

右側に対応コードが生成されます。

Python サンプルコード:
返却例:
url フォーマットの画像リンクは直接アクセス可能で、画像は以下の通りです。

同様に response_formatb64_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 を設定し、他のパラメータも入力します。
実行すると即座に以下のようなレスポンスが返ります。
しばらく待つと Webhook URL で画像生成結果を確認できます。
task_iddata フィールドにより、同期呼び出しと同様の画像生成結果をタスク ID で紐付け可能です。

エラー処理

API 呼び出し時にエラーが発生した場合、対応するエラーコードとメッセージが返されます。例:
  • 400 token_mismatched:不正なリクエスト、パラメータ不足や不正の可能性。
  • 400 api_not_implemented:不正なリクエスト、パラメータ不足や不正の可能性。
  • 401 invalid_token:認証エラー、無効または欠落したトークン。
  • 429 too_many_requests:リクエスト過多、レート制限超過。
  • 500 api_error:サーバ内部エラー。

エラー応答例

結論

本ドキュメントを通じて、OpenAI Images Generations API を利用して公式 OpenAI DALL-E の画像生成機能を簡単に活用する方法を理解いただけました。API の接続や利用に役立ててください。ご不明点があれば、いつでも技術サポートチームまでお問い合わせください。