gpt-image-1、最新の gpt-image-2、および同じインターフェースで接続される nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro シリーズモデルを同時にサポートしています。
本ドキュメントでは、OpenAI Images Edits API 操作の使用フローを主に紹介します。これを利用することで、公式の OpenAI 画像編集機能を簡単に使用できます。
申請フロー
OpenAI Images Edits API を使用するには、まず Ace Data Cloud コントロールセンター にアクセスして、API トークンを取得し、バックアップとして保管してください。
まだログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録とログインを促されます。完了後、現在のページに自動的に戻ります。
1 つの API トークンでプラットフォームのすべてのサービスを呼び出すことができ、各サービスごとに個別に申請する必要はありません。 初回申請時には無料のクレジットが付与され、無料で体験できます。クレジットが不足した場合は、コントロールセンター で一般的な残高をチャージできます。
📘 完全なドキュメント:OpenAI Images Edits API →
GPT-Image-2 モデル
gpt-image-2 は画像編集シーンにおいて gpt-image-1 に比べて非常に明確な向上があります:
- 構造がより安定して保持される:スキン変更、配色変更、背景変更時に元の画像のレイアウトや構図がほとんど破壊されません。
- 文字がより正確に保持される:インフォグラフィック、ポスター、メニューなどの文字を含む画像は、編集後も文字が明瞭に読めます。
- URL 直送をサポート:従来の
multipart/form-dataファイルアップロードに加えて、gpt-image-2はJSON 形式で画像 URL を直接入力することもサポートしており、画像をローカルにダウンロードする必要がなく、サーバー側のパイプライン接続に非常に適しています。 - base64 直送をサポート:公式と同様に、
imageフィールドには base64(data:image/png;base64,...または生の base64)を直接渡すこともでき、ローカル画像を先にアップロードすることなく編集できます。 - 高解像度の再描画をサポート:1K の元画像を入力し、
sizeパラメータで 2K / 4K 出力をリクエストすることができ、モデルは編集プロセス中に同時に拡大を完了します。
回線バリアント(:official / :reverse)
gpt-image-2 はデフォルトで標準回線を使用します。モデル名のサフィックスを通じて回線を明示的に選択できます:
gpt-image-2:official:公式チャネルで、安定しており、コンプライアンスがあります。費用は文字入力トークン、編集時の画像入力トークン、画像出力トークンによって共同で決定され、最終的には応答内の実際の使用量に基づいて請求されます;ページに表示される品質/サイズの価格は推定にのみ使用されます;最大使用量パッケージに基づいて、顧客価格は OpenAI 公式標準価格の約 8 割です。サービスは利用可能なチャネル間で自動的にフォールトトレランスを行い、能力と費用は実際の返答結果に基づきます。gpt-image-2:reverse:デフォルトのgpt-image-2と完全に同等で、コストパフォーマンスが高く、価格は変わりません。
:official課金式 最終費用 = 文字入力トークン + 画像入力トークン(編集のみ)+ 画像出力トークン。ページに表示されるquality × sizeの価格はリクエスト前の推定であり、実際の請求は成功した応答のusageに基づきます。例えば、low、1024x1024は通常約 0.0505 クレジットの画像出力費用で、少量の入力トークンが追加されます;autoを使用する場合、モデルはより高品質を選択する可能性があり、事前承認のクレジットはより高いレベルで保守的にチェックされます。
サポートされる size の値
編集インターフェースの size の形式検証は生成インターフェースと一致しており、gpt-image-2 は size が auto、空、または WIDTHxHEIGHT 形式に合致する必要があります。その他の形態は 400 を返します。デフォルトの gpt-image-2 と :reverse は単一の画像に対して統一的に課金されます;:official は文字入力、参考画像入力、画像出力トークンを同時に計算し、元画像、サイズ、品質が最終費用に影響を与える可能性があります。
サイズ制限:カスタムサイズは幅と高さが共に 16 の倍数である必要があり、長辺 ≤ 3840、総ピクセル数 ≤ 8,294,400 を超えると 4xx が返されます。
例えば:元画像が以下に、2つの異なる視点から1024x1024で、sizeに2048x2048を渡すと、モデルは編集指示に従って再描画し、2K 画像を出力します;sizeに3840x2160を渡すと、4K 横向き画像を出力します。デフォルトのgpt-image-2と:reverseの三つのサイズの課金は一致します;:officialは実際のトークン使用量に基づきます。sizeフィールドを省略することと明示的にautoを渡すことは完全に同等です:gpt-image-2は最初にプロンプト内の明確なサイズ意図を読み取り、ピクセル、比率、横縦方向、解像度のレベル(例えば 4K / high-res)またはキャンバス名を含みます。サイズ意図が認識されると、計画された具体的なサイズが採用されます;プロンプトにサイズ要件がない場合や自動判断が不可能な場合は、最初の参考画像のサイズに戻ります。最終的な具体的なサイズはリクエスト提出前に 16 の倍数、長辺および総ピクセル制限に正規化されます;絶対的に制御が必要な場合は、直接WIDTHxHEIGHTを渡してください。生成が完了した後、出力ピクセルが異なるために自動的に再試行されることはなく、重複生成費用が発生するのを避けます。nパラメータについてgpt-image-2編集インターフェースはn > 1をサポートしています:一度のリクエストで対応する数の編集結果を返します。デフォルトではgpt-image-2と:reverseは成功した枚数に基づいて課金され、:officialは全体の応答に基づく実際のトークン使用量で決済されます(nの値は 1–10)。同様にgpt-image-1/gpt-image-1.5、およびnano-banana/nano-banana-2-lite/nano-banana-2/nano-banana-proシリーズにも適用されます。注意点としてresponse_format=b64_jsonはn=1のみサポートされ、n>1の場合はデフォルトの URL 返却を使用してください。生成に失敗した画像がある場合、成功した部分のみが返され、課金されます。
gpt-image-2 の編集能力を体感するための実際の例を示します。
呼び出し方法1:JSON + 画像 URL(推奨)
application/json 形式でリクエストを直接送信し、image フィールドに画像の URL を入力すると、モデルがその画像を取得し、prompt に従って編集します。
例えば、以下の元画像は gpt-image-2 で生成された科学普及図鑑です:


ヒント:imageフィールドには配列を渡すことも可能で、例えば"image": ["url1", "url2", "url3"]のように最大16枚の参考画像を同時に渡し、モデルが複数の画像を総合的に参考して編集を行うことができます。
base64 直送:image(および配列内の各項目)は URL の他に base64 も使用可能です ——data:image/png;base64,...または生の base64 でも構いません。これは、ローカル画像を先にアップロードしたくない場合に適しています。例えば:
呼び出し方法2:JSON + 複数の参考画像
gpt-image-2 は最終結果を生成するために複数の画像を同時に参照することをサポートしています。例えば、複数の製品写真を一つのギフトバスケットに合成する場合:
シーン例:スタイル変更 + 構造を保持
以下は別の例で、木製の本棚を現代的な浮き棚に置き換えますが、各段の本の数と配置は厳密に保たれます。 元画像(gpt-image-2 で生成された木製の本棚):

task_id: e9544dba-727e-44a2-81e1-223d49869380):

呼び出し方法3:multipart/form-data(OpenAI SDK 互換)
もしあなたが公式の OpenAI Python SDK をすでに使用している場合、従来のmultipart/form-data アップロード方式も同様に適用可能で、model を gpt-image-2 に変更するだけです:
OPENAI_BASE_URL を https://api.acedata.cloud/openai に設定し、OPENAI_API_KEY を取得したトークンに設定します:
Nano Banana シリーズモデル
nano-banana シリーズは編集シーンでも /openai/images/edits に接続されており、model を下表のいずれかに変更するだけで使用できます。
重要:パラメータのサポート範囲 Nano Banana は適応層を通じて OpenAI プロトコルに接続されており、以下のパラメータのみをサポートします:model、prompt、image、n。
imageはmultipart/form-dataでファイルをアップロードすることも(ローカルファイルは自動的に base64 に変換されます)、フォームフィールドを通じて画像 URL 文字列を直接渡すこともできます。mask、size、response_formatなどのパラメータはサポートされていません;入力しても無視されます。n > 1はサポートされており(1–10)、対応する数の編集結果が返され、料金が請求されます。- 返される構造は OpenAI フォーマット(
data[].url)に従いますが、createdは固定で0となり、b64_jsonは返されず、revised_promptは常に元のpromptと等しくなります。
フォーム + 画像 URL を使用した呼び出し

フォーム + ローカルファイルを使用した呼び出し
非同期コールバック
callback_url の非同期コールバックメカニズムは nano-banana にも有効で、呼び出しプロセスは他のモデルと完全に一致します。詳細は以下の 非同期コールバック セクションを参照してください。
基本的な使用法
次に、コードを使用して呼び出すことができます。以下はCURLを使用した呼び出しの例です:authorization で、ドロップダウンリストから選択するだけです。もう一つのパラメータは model で、model は OpenAI の公式モデルカテゴリを選択することを意味します。ここでは主に 1 種類のモデルがあります。詳細は提供されたモデルを参照してください。もう一つのパラメータは prompt で、prompt は生成したい画像のヒントです。最後のパラメータは image で、このパラメータは編集する画像のパスを指定します。編集する画像は以下の図の通りです:
ヒント:image[]は複数回繰り返して複数の参照画像をアップロードできます。例えば-F "image[]=@a.png" -F "image[]=@b.png"のように、GPT Image シリーズモデルは最大 16 枚(各 50MB 以下、形式は png/webp/jpg)をサポートします。数量を超えると 400 が返されます。

OPENAI_BASE_URL で、https://api.acedata.cloud/openai に設定できます。もう一つは認証変数 OPENAI_API_KEY で、この値は authorization から取得したものです。Mac OS では以下のコマンドで環境変数を設定できます:
gift-basket.png という画像が生成されることがわかります。具体的な結果は以下の通りです:

gpt-image-1 と gpt-image-2 の2つのモデルをサポートしており、その中で gpt-image-2 が現在推奨されるモデルです。詳細は上記の GPT-Image-2 モデル セクションを参照してください。
非同期コールバック
OpenAI Images Edits API が画像を編集するのに時間がかかる可能性があるため、API が長時間応答しない場合、HTTP リクエストは接続を維持し続け、追加のシステムリソースを消費します。そのため、本 API では非同期コールバックのサポートも提供しています。 全体の流れは次の通りです:クライアントがリクエストを開始する際に、追加でcallback_url フィールドを指定します。クライアントが API リクエストを開始すると、API はすぐに結果を返し、現在のタスク ID を示す task_id フィールド情報を含みます。タスクが完了すると、編集された画像の結果が POST JSON 形式でクライアントが指定した callback_url に送信され、その中にも task_id フィールドが含まれているため、タスクの結果を ID で関連付けることができます。
以下の例を通じて、具体的にどのように操作するかを理解しましょう。
まず、Webhook コールバックは HTTP リクエストを受信できるサービスであり、開発者は自分が構築した HTTP サーバーの URL に置き換える必要があります。ここではデモのために、公開の Webhook サンプルサイト https://webhook.site/ を使用します。このサイトを開くと、Webhook URL を取得できます。以下のように表示されます:
この URL をコピーすれば、Webhook として使用できます。ここでのサンプルは https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab です。
次に、フィールド callback_url を上記の Webhook 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:内部サーバーエラー、サーバーで何かがうまくいきませんでした。

