Skip to main content
OpenAI 画像編集サービスでは、任意の数の画像と指示を入力し、修正後の画像を出力できます。現在、インターフェースは dall-e-2gpt-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:公式中継ルート。n > 1(一度に複数の画像を返す)および実際の 2K / 4K をサポートし、各画像ごとに課金され、単価はデフォルトの gpt-image-2 の 2 倍です。現在、openai-hk チャンネルのみが提供しており、ルートが利用できない場合は直接エラーを返し、逆向きのルートにはダウングレードされません。
  • gpt-image-2:reverse:デフォルトの gpt-image-2 と完全に同等(逆向きのルート)で、価格は変わりません。
以下の「n パラメータに関する制限」はデフォルト / 逆向きのルートにのみ適用されます;gpt-image-2:officialn > 1 をサポートし、画像ごとに課金されます。

サポートされている size の値

編集インターフェースの size に対する制約は生成インターフェースと完全に一致します——gpt-image-2sizeauto、空、または WIDTHxHEIGHT 形式に合致する限り、他の形態は 400 を返します。すべてのサイズ(1K / 2K / 4K / カスタム)は単一の画像ごとに統一して課金され、元画像の解像度や size リクエスト値には関係ありません。 上流のカスタムサイズに対する厳格な制約も同様に適用されます:幅と高さは両方とも 16 の倍数、長辺 ≤ 3840、総ピクセル数 ≤ 8,294,400。
例えば:元画像が 1024x1024 で、size2048x2048 を指定した場合、モデルは編集指示に従って再描画し、2K 画像を出力します;size3840x2160 を指定した場合は 4K 横向き画像を出力します;auto を指定するか省略すると、モデルが自動的に選択します。3つの料金は同じです。
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 をサポートする編集モデルです。
以下に、2つの異なる方向からの実際の例を通じて gpt-image-2 の編集能力を体感します。

呼び出し方法一: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でも構いません。これは、ローカル画像を先にアップロードしたくない場合に適しています。例えば:

呼び出し方法二:JSON + 複数の参考画像

gpt-image-2 は複数の画像を同時に参照して最終結果を生成することができます。例えば、複数の製品写真を一つのギフトバスケットに合成する場合:

シーンの例:スタイルを変更 + 構造を保持

以下は別の例で、木製の本棚を現代的な浮き棚に置き換えますが、各段の本の数と配置は厳密に保たれます。 元の画像(gpt-image-2 で生成された木製の本棚):

呼び出し:
編集結果(task_id: e9544dba-727e-44a2-81e1-223d49869380):

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

呼び出し方法三:multipart/form-data(OpenAI SDKと互換性あり)

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

Nano Banana シリーズモデル

nano-banana シリーズも編集シーンで /openai/images/edits に接続されており、model を下表のいずれかに変更するだけで使用できます。
重要:パラメータサポート範囲 Nano Banana は適応層を通じて OpenAI プロトコルに接続し、以下のパラメータのみをサポートします:modelpromptimage
  • imagemultipart/form-data でファイルをアップロードすることも(ワーカー内部で data:<mime>;base64,... に変換され、上流に送信されます)、フォームフィールドを通じて画像 URL 文字列を直接送信することもできます。
  • masknsizeresponse_format などのパラメータはサポートされていません;入力しても無視されます。
  • 返される構造は OpenAI フォーマット(data[].url)に従いますが、created は固定で 0 となり、b64_json は返されず、revised_prompt は常に元の prompt と等しくなります。

フォーム + 画像 URL での呼び出し

返される結果は以下の通りです:
編集後の画像:

フォーム + ローカルファイルでの呼び出し

非同期コールバック

callback_url 非同期コールバックメカニズムは nano-banana にも有効で、呼び出しフローは他のモデルと完全に一致します。詳細は下記の 非同期コールバック セクションを参照してください。

基本使用

次にコードを使用して呼び出すことができます。以下はCURLを使用した呼び出しの例です:
このインターフェースを初めて使用する際には、少なくとも4つの内容を入力する必要があります。一つは authorization で、ドロップダウンリストから選択できます。もう一つのパラメータは model で、model は OpenAI の公式モデルカテゴリを選択するものです。ここでは主に1種類のモデルがあります。詳細は提供されたモデルを参照してください。もう一つのパラメータは prompt で、prompt は生成する画像のためのヒントです。最後のパラメータは image で、このパラメータは編集する画像のパスを指定する必要があります。編集する画像は以下のようになります:

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

これで画像の編集操作が完了しました。現在、Edits インターフェースは3種類のモデルをサポートしています:dall-e-2gpt-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 に設定し、以下のコードのように対応するパラメータを入力します:
呼び出し後、すぐに結果が得られることがわかります。以下のようになります:
少し待つと、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 の接続と使用に役立つことを願っています。ご不明な点がございましたら、いつでも技術サポートチームにお問い合わせください。