Skip to main content
POST
Image Editing: Edit an existing image with text instructions
右側のインタラクティブな Playground は、パラメータのドロップダウン選択をサポートしています。Authorization フィールドに API Key を入力し(形式: Bearer sk-xxx)、ワンクリックでテストリクエストを送信できます。
適用範囲: このページは画像編集用です。編集指示とともに、入力画像(base64 エンコード済み)を提供する必要があります。テキストのみから新しい画像を生成するには、Text-to-Image endpoint を使用してください。
🖥️ ブラウザ版 Playground の制限(重要)この endpoint は、レスポンス内で base64 エンコードされた画像(inlineData.data、通常は数 MB)を返します。ブラウザのレンダリング制限により、右側の Playground ではレスポンス到着後に 请求时发生错误: unable to complete request と表示される場合があります — リクエスト自体は成功しています; ブラウザがそのような長い base64 文字列をレンダリングできないだけです。推奨ワークフロー(初心者向け):
  • 下の Python / Node.js / cURL のサンプルをコピーして、ローカルで実行してください。コードが自動的に base64.b64decodes してレスポンスを処理し、画像をファイルに書き込みます
  • どうしてもブラウザ内の Playground を使う場合は、小さな参照画像(< 50KB)を使いimageSize を最小のティア(例: 512 / 1K)に設定してください。
⚠️ parts 配列構造(重要 — 複数画像編集の場合はこれを読んでください)part は、text または inlineData のどちらか一方でなければならず、両方を含めてはいけません。これは Google の公式 gemini-3.1-flash-image-preview 契約と一致しています。正しい: 1 つの text パート(指示)+ N 個の inlineData パート(画像ごとに 1 つずつ):
誤り(各パートに textinlineData の両方が含まれている — 未定義の動作になります):
🖼️ inlineData.data フィールドについてこの endpoint はJSON 形式(multipart ファイルアップロードではありません)を使用するため、Playground からローカルファイルを直接選択することはできません。まず画像をBase64 文字列に変換し、data 入力に貼り付ける必要があります。ワンラインコマンド: 変換 + クリップボードへコピー:
実行後は、Playground の data フィールドに Cmd+V / Ctrl+V して貼り付けるだけです。また、mimeType を対応する image/jpeg または image/png に設定することも忘れないでください。推奨: 長い base64 文字列によるブラウザの遅延を避けるため、テストには小さな画像(< 200KB)を使ってください。頻繁に画像編集テストを行う場合は、代わりに下のコード例を使ってローカルで実行することをおすすめします。

コード例

Python

Node.js

cURL

マルチ画像編集

複数の入力画像を結合または比較する場合は、1つの text パート(指示)に続けて、複数の inlineData パート(画像ごとに1つ)を使用してください。

Python(マルチ画像)

cURL(マルチ画像、Google の公式形式に準拠)

パラメーター クイックリファレンス

マルチターンの会話型編集

Nano Banana 2 (gemini-3.1-flash-image-preview) は、真の会話型マルチターン編集をサポートします。各ターンで生成された画像を contentsrole: "model" inlineData として再追加し、その後に次のユーザー指示を送ります。モデルは 会話履歴全体 に基づいて編集し、変更を積み重ねます(例: まずソファの色を変え、次にアクセサリーを追加する — 以前の変更は保持されます)。
これは逆画像モデルとは異なります。ネイティブの Gemini 形式は、model-ロールの履歴ターンから画像を実際に読み取ります。ターンをまたぐ一貫性と段階的な洗練のため、以下の履歴バックフィルパターンを使用してください。
既存の画像からマルチターンを開始する: 最初のユーザーメッセージに、既存の写真を編集するための inlineData(ご自身の画像)と指示を入れ、各ターンでモデル出力を contents にバックフィルし続けます。
2つのマルチターン方式:
  • 履歴バックフィル(上記、推奨): contents は、ユーザー/モデルの交互の履歴を維持し、より高い一貫性でターンをまたいで変更を積み重ねます。
  • 再フィード(よりシンプル): 各ターンで 1 つのユーザーメッセージ(text + 直前の画像の inlineData)を送り、前のコンテキストを引き継がずに 1 ステップの編集を行います。

承認

Authorization
string
header
必須

API Key obtained from APIYI Console

ボディ

application/json
contents
object[]
必須

Content array containing edit instructions and the image to edit

generationConfig
object
必須

レスポンス

Successfully edited image

candidates
object[]

Generation results array

usageMetadata
object