Skip to main content
OpenAI 画像編集サービスでは、画像と指示を入力すると、修正後の画像が出力されます。GPT Image シリーズモデルは最大で同時に 16 枚の参考画像を入力できます。現在、インターフェースは 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-2JSON 形式で画像 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 に基づきます。例えば、low1024x1024 は通常約 0.0505 クレジットの画像出力費用で、少量の入力トークンが追加されます;auto を使用する場合、モデルはより高品質を選択する可能性があり、事前承認のクレジットはより高いレベルで保守的にチェックされます。

サポートされる size の値

編集インターフェースの size の形式検証は生成インターフェースと一致しており、gpt-image-2sizeauto、空、または WIDTHxHEIGHT 形式に合致する必要があります。その他の形態は 400 を返します。デフォルトの gpt-image-2:reverse は単一の画像に対して統一的に課金されます;:official は文字入力、参考画像入力、画像出力トークンを同時に計算し、元画像、サイズ、品質が最終費用に影響を与える可能性があります。 サイズ制限:カスタムサイズは幅と高さが共に 16 の倍数である必要があり、長辺 ≤ 3840、総ピクセル数 ≤ 8,294,400 を超えると 4xx が返されます。
例えば:元画像が 1024x1024 で、size2048x2048 を渡すと、モデルは編集指示に従って再描画し、2K 画像を出力します;size3840x2160 を渡すと、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_jsonn=1 のみサポートされ、n>1 の場合はデフォルトの URL 返却を使用してください。生成に失敗した画像がある場合、成功した部分のみが返され、課金されます。
以下に、2つの異なる視点から gpt-image-2 の編集能力を体感するための実際の例を示します。

呼び出し方法1:JSON + 画像 URL(推奨)

application/json 形式でリクエストを直接送信し、image フィールドに画像の URL を入力すると、モデルがその画像を取得し、prompt に従って編集します。 例えば、以下の元画像は gpt-image-2 で生成された科学普及図鑑です:

これを「夜間モード」配色に変更したいとします。以下のように呼び出すことができます:
または Python を使用して:
返された結果は以下の通りです:
編集後の画像は以下の通りです:

モジュールの構造、情報の区分、フォントの配置が厳密に保たれ、配色だけがダークテーマに反転されています。
ヒント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):

スタイルと環境は指示に従って完全に置き換えられましたが、各段の本の数(1 / 3 / 7)は依然として厳密に保たれ、要求に応じて多肉植物が追加されました。

呼び出し方法3:multipart/form-data(OpenAI SDK 互換)

もしあなたが公式の OpenAI Python SDK をすでに使用している場合、従来の multipart/form-data アップロード方式も同様に適用可能で、modelgpt-image-2 に変更するだけです:
SDK を使用する際には、最初に二つの環境変数をインポートする必要があります。OPENAI_BASE_URLhttps://api.acedata.cloud/openai に設定し、OPENAI_API_KEY を取得したトークンに設定します:

Nano Banana シリーズモデル

nano-banana シリーズは編集シーンでも /openai/images/edits に接続されており、model を下表のいずれかに変更するだけで使用できます。
重要:パラメータのサポート範囲 Nano Banana は適応層を通じて OpenAI プロトコルに接続されており、以下のパラメータのみをサポートします:modelpromptimagen
  • imagemultipart/form-data でファイルをアップロードすることも(ローカルファイルは自動的に base64 に変換されます)、フォームフィールドを通じて画像 URL 文字列を直接渡すこともできます。
  • masksizeresponse_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 が返されます。

同じ呼び出し効果の Python サンプル呼び出しコード:
Python を使用して呼び出すには、まず二つの環境変数をインポートする必要があります。一つは OPENAI_BASE_URL で、https://api.acedata.cloud/openai に設定できます。もう一つは認証変数 OPENAI_API_KEY で、この値は authorization から取得したものです。Mac OS では以下のコマンドで環境変数を設定できます:
呼び出し後、現在のディレクトリに gift-basket.png という画像が生成されることがわかります。具体的な結果は以下の通りです:

こうして私たちは画像の編集操作を完了しました。現在、Edits インターフェースは gpt-image-1gpt-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 に設定し、以下のコードのように対応するパラメータを入力します:
呼び出し後、すぐに結果が得られることがわかります。以下のようになります:
少し待つと、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:内部サーバーエラー、サーバーで何かがうまくいきませんでした。

エラー応答の例

結論

この文書を通じて、OpenAI Images Edits API を使用して公式の OpenAI の画像編集機能を簡単に利用する方法を理解しました。この文書が、API の接続と使用をより良くする手助けとなることを願っています。何か問題があれば、いつでも私たちの技術サポートチームにお問い合わせください。