Skip to main content
POST
Image editing: edit reference images (1–5)
右側のインタラクティブなPlaygroundでは、ローカル画像のアップロードに対応しています。Authorization の下にAPIキー(形式: Bearer sk-xxx)を入力し、1つ以上の image ファイルを選択して、prompt と model を入力した上で送信してください。
🔴 このエンドポイントは multipart/form-data ファイルアップロードのみを受け付けます/v1/images/edits にJSONを送信した場合(image をURL、データURI、または生のbase64として指定)、400が返されます:
画像のURLは入力としてサポートされていません。 URLのみをお持ちの場合は、まずサーバー側でダウンロードしてからファイルをアップロードしてください。ファイルアップロードなら画像ホスティングは不要で、ローカルファイルを送信するだけです。
ユースケース: このページは参照画像を使用した編集向けであり、単一画像の編集や1〜5枚の画像の合成に対応しています。テキストのみから生成する場合は、テキストから画像生成 API を使用してください。
🖼️ 1〜5枚の参照画像をサポート(2026-10-07以降)
  • 指定方法: image[] フィールドを繰り返し、1フィールドにつき1枚の画像を指定します。OpenAI SDKを使用する場合は、リストを渡します: client.images.edit(image=[f1, f2, ...])。image を繰り返すことでも動作します
  • 順序: 画像はアップロード順に番号付けされます(image 1、image 2、…)。そのため、prompt で「image 2のキツネをimage 1に配置する」のように指定できます
  • 料金: リクエストごとに課金されます。画像1枚でも5枚でも料金は同じです
  • 対応フォーマット: JPEG、PNG、WebP。GIFなどのその他のフォーマットは400を返します
  • 5枚を超える画像: 400 at most 5 reference images are accepted for <model> が返されます
image + image2 のような連番のフィールド名は使用しないでください: リクエストは200を返しますが、最初の画像のみが使用され、2枚目は破棄されます。image1 + image2 は500 image is required を返します。複数の画像を指定する場合は、常に image[] を繰り返してください。
テキストから画像生成と同じ禁止パラメータ: response_format、seed、または negative_prompt は送信しないでください(400)。レスポンスは常に data[0].b64_json(PNG)です。

コード例

Python (OpenAI SDK · 単一画像)

Python (OpenAI SDK · 複数画像の合成)

Python (requests · 単一画像)

複数の画像を使用する場合は、画像ごとに1つの image[] を持つタプルのリストとして files を渡します(辞書型では重複するキーを保持できません):

cURL

Node.js (fetch + FormData)

パラメーターリファレンス

省略時の出力サイズ: 出力は16の倍数にスナップされた元の画像のアスペクト比に従います(例: 1344×756 の入力に対しては 1360×768 が出力されます)。複数画像の場合、画像1によってアスペクト比が決まります。構図を維持すべき部分的な編集を行う場合は、width / height を送信しないでください。

編集結果とpromptの指定

編集エンドポイントは、元の構図、色、ディテールを維持し、promptで指定された内容のみを変更します。
MAI-Image-2.6-Flashの編集例:ティーポットの色がクリーム色からコバルトブルーに変更され、その他は変更なし
「keep everything else the same」と明示的に指定することは、このモデルにおいて最も効果的な手法であり、元の状態を可能な限り維持します。

複数画像の融合

画像1がベースとなり、promptの指示に従って他の参照画像のオブジェクトが配置されます。以下の例では、1回のリクエストで5枚の画像(ティーセット + キツネ + ラバーダック + 目覚まし時計 + サボテン)を送信し、画像2のキツネ、画像3の黄色いラバーダック、画像4の赤いビンテージ目覚まし時計、画像5の鉢植えサボテンを、画像1のティーテーブルの上に配置し、各オブジェクトの外観を維持したまま画像1のその他の部分を変更しないよう指示するpromptを使用しています。
MAI-Image-2.6-Flashの複数画像融合の例:5枚の参照画像を入力し、4つのオブジェクトすべてをティーセットの画像に配置し、その他は変更なし

レスポンス形式

レスポンスフィールド
  • b64_json は data: プレフィックスのないプレーンな base64 であり、PNG にデコードされます。
  • n > 1 の場合、data 配列には複数のアイテムが含まれます。data[0] だけを読み取らないようにしてください。
  • url および revised_prompt は返されません。
usage で課金を照合しないでください:プレースホルダーが含まれています(prompt_tokens は常に画像数 × 1000 です)。編集のコストはテキストから画像への生成と同じで、画像ごとに課金され、参照画像の数によって価格が変わることはありません。APIYI コンソールの請求内容が正式なものとなります。

承認

Authorization
string
header
必須

API key from the APIYI console

ボディ

multipart/form-data
model
enum<string>
デフォルト:MAI-Image-2.6-Flash
必須

Model ID (case-sensitive)

利用可能なオプション:
MAI-Image-2.6-Flash,
MAI-Image-2.6
prompt
string
必須

Edit instruction. State what to change and that everything else stays the same

例:

"Change the teapot to a deep cobalt blue glaze, keep everything else identical"

image
file[]
必須

Reference image files, 1–5, numbered image 1…N in upload order. png / jpg / webp. In code, repeat the image[] field for several images

Required array length: 1 - 5 elements
width
integer

Optional output width. Same rules as text-to-image: each side ≥ 768, width × height ≤ 2,359,296, sent together with height

必須範囲: x >= 768
height
integer

Optional output height, same rules as width

必須範囲: x >= 768
n
integer
デフォルト:1

Number of images. Works on this endpoint, billed per image

必須範囲: x >= 1
例:

1

レスポンス

Image generated

created
integer

Creation timestamp

例:

1791000788

data
object[]

Image results; length equals n

usage
object

Placeholder values, not for billing reconciliation. prompt_tokens is always 1000 × images