dall-e-2、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:公式中継ルート。n > 1(一度に複数の画像を返す)および実際の 2K / 4K をサポートし、各画像ごとに課金され、単価はデフォルトのgpt-image-2の 2 倍です。現在、openai-hk チャンネルのみが提供しており、ルートが利用できない場合は直接エラーを返し、逆向きのルートにはダウングレードされません。gpt-image-2:reverse:デフォルトのgpt-image-2と完全に同等(逆向きのルート)で、価格は変わりません。
以下の「nパラメータに関する制限」はデフォルト / 逆向きのルートにのみ適用されます;gpt-image-2:officialはn > 1をサポートし、画像ごとに課金されます。
サポートされている size の値
編集インターフェースの size に対する制約は生成インターフェースと完全に一致します——gpt-image-2 は size が auto、空、または WIDTHxHEIGHT 形式に合致する限り、他の形態は 400 を返します。すべてのサイズ(1K / 2K / 4K / カスタム)は単一の画像ごとに統一して課金され、元画像の解像度や size リクエスト値には関係ありません。
上流のカスタムサイズに対する厳格な制約も同様に適用されます:幅と高さは両方とも 16 の倍数、長辺 ≤ 3840、総ピクセル数 ≤ 8,294,400。
例えば:元画像が1024x1024で、sizeに2048x2048を指定した場合、モデルは編集指示に従って再描画し、2K 画像を出力します;sizeに3840x2160を指定した場合は 4K 横向き画像を出力します;autoを指定するか省略すると、モデルが自動的に選択します。3つの料金は同じです。
以下に、2つの異なる方向からの実際の例を通じてnパラメータについてgpt-image-2編集インターフェースは現在**n > 1をサポートしていません**:このパラメータは静かに無視され、n=1またはn=10を指定しても、単一のリクエストで返されるのは 1 枚の画像のみで、1 枚分の料金のみが課金されます。複数の候補編集結果を一度に取得する必要がある場合は、自分で並行して複数のリクエストを発行してください。この制限はgpt-image-1/gpt-image-1.5、およびnano-banana/nano-banana-2-lite/nano-banana-2/nano-banana-proシリーズにも適用されます。dall-e-2は現在唯一、原生的にn > 1をサポートする編集モデルです。
gpt-image-2 の編集能力を体感します。
呼び出し方法一: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でも構いません。これは、ローカル画像を先にアップロードしたくない場合に適しています。例えば:
呼び出し方法二:JSON + 複数の参考画像
gpt-image-2 は複数の画像を同時に参照して最終結果を生成することができます。例えば、複数の製品写真を一つのギフトバスケットに合成する場合:
シーンの例:スタイルを変更 + 構造を保持
以下は別の例で、木製の本棚を現代的な浮き棚に置き換えますが、各段の本の数と配置は厳密に保たれます。 元の画像(gpt-image-2 で生成された木製の本棚):

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

呼び出し方法三: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。
imageはmultipart/form-dataでファイルをアップロードすることも(ワーカー内部でdata:<mime>;base64,...に変換され、上流に送信されます)、フォームフィールドを通じて画像 URL 文字列を直接送信することもできます。mask、n、size、response_formatなどのパラメータはサポートされていません;入力しても無視されます。- 返される構造は OpenAI フォーマット(
data[].url)に従いますが、createdは固定で0となり、b64_jsonは返されず、revised_promptは常に元のpromptと等しくなります。
フォーム + 画像 URL での呼び出し

フォーム + ローカルファイルでの呼び出し
非同期コールバック
callback_url 非同期コールバックメカニズムは nano-banana にも有効で、呼び出しフローは他のモデルと完全に一致します。詳細は下記の 非同期コールバック セクションを参照してください。
基本使用
次にコードを使用して呼び出すことができます。以下はCURLを使用した呼び出しの例です:authorization で、ドロップダウンリストから選択できます。もう一つのパラメータは model で、model は OpenAI の公式モデルカテゴリを選択するものです。ここでは主に1種類のモデルがあります。詳細は提供されたモデルを参照してください。もう一つのパラメータは prompt で、prompt は生成する画像のためのヒントです。最後のパラメータは image で、このパラメータは編集する画像のパスを指定する必要があります。編集する画像は以下のようになります:

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

dall-e-2、gpt-image-1、および gpt-image-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:内部サーバーエラー、サーバーで何かがうまくいきませんでした。

