Gemini で画像を編集する

Gemini 2.5 Flash Image Preview は、複数のタイプの画像編集をサポートしています。

画像編集

画像生成用の Gemini 2.5 Flash Image の公開プレビュー版(gemini-2.5-flash-image-preview)では、画像の生成に加えて編集もサポートしています。この公開プレビュー リリースでは、Gemini 2.5 Flash Image で画像の編集と複数ターンの編集が改善され、より柔軟で制限の少ないユーザー エクスペリエンスを提供するように更新された安全フィルターが含まれています。

次のモダリティと機能がサポートされています。

  • 画像編集(テキストと画像による画像変換)

    • プロンプトの例: 「この画像を編集してカートゥーンのようにしてください」
    • プロンプトの例: [猫の画像] + [枕の画像] + 「この枕に猫のクロスステッチを作成してください」。
  • マルチターン画像編集(チャット)

    • プロンプトの例: [青い車の画像をアップロードして] 「この車をコンバーチブルにしてください」。「次に、色を黄色に変えてください」。 「ネタバレを追加して。」

画像を編集する

コンソール

画像を編集するには:

  1. [Vertex AI Studio] > [プロンプトを作成] を開きます。
  2. [モデルを切り替える] をクリックし、メニューから gemini-2.5-flash-image-preview を選択します。
  3. [出力] パネルで、プルダウン メニューから [画像とテキスト] を選択します。
  4. [メディアを挿入]()をクリックし、メニューからソースを選択して、ダイアログの指示に沿って操作します。
  5. [プロンプトを入力] テキスト エリアに、画像に加える編集内容を入力します。
  6. [プロンプト]()ボタンをクリックします。

Gemini は、説明に基づいて提供された画像の編集バージョンを生成します。この処理には数秒かかりますが、容量によっては比較的遅くなることがあります。

Python

インストール

pip install --upgrade google-genai

詳しくは、SDK リファレンス ドキュメントをご覧ください。

Vertex AI で Gen AI SDK を使用するための環境変数を設定します。

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import GenerateContentConfig, Modality
from PIL import Image
from io import BytesIO

client = genai.Client()

# Using an image of Eiffel tower, with fireworks in the background.
image = Image.open("test_resources/example-image-eiffel-tower.png")

response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[image, "Edit this image to make it look like a cartoon."],
    config=GenerateContentConfig(response_modalities=[Modality.TEXT, Modality.IMAGE]),
)
for part in response.candidates[0].content.parts:
    if part.text:
        print(part.text)
    elif part.inline_data:
        image = Image.open(BytesIO((part.inline_data.data)))
        image.save("output_folder/bw-example-image.png")
# Example response:
#  Here's the cartoon-style edit of the image:
#  Cartoon-style edit:
#  - Simplified the Eiffel Tower with bolder lines and slightly exaggerated proportions.
#  - Brightened and saturated the colors of the sky, fireworks, and foliage for a more vibrant, cartoonish look.
#  ....

REST

ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  https://${API_ENDPOINT}:generateContent \
  -d '{
    "contents": {
      "role": "USER",
      "parts": [
        {"file_data": {
          "mime_type": "image/jpg",
          "file_uri": "<var>FILE_NAME</var>"
          }
        },
        {"text": "Convert this photo to black and white, in a cartoonish style."},
      ]

    },
    "generation_config": {
      "response_modalities": ["TEXT", "IMAGE"],
    },
    "safetySettings": {
      "method": "PROBABILITY",
      "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    },
  }' 2>/dev/null >response.json

Gemini は、入力された説明に基づいて画像を生成します。この処理には数秒かかりますが、容量によっては比較的遅くなることがあります。

マルチターンの画像編集

Gemini 2.5 Flash Image Preview では、マルチターン編集の改善もサポートされています。これにより、編集された画像レスポンスを受け取った後に、変更内容をモデルに送信できます。これにより、画像を対話的に編集し続けることができます。

リクエスト ファイル全体のサイズは最大 50 MB に制限することをおすすめします。

マルチターンの画像編集を試すには、Gemini 2.5 Flash Image プレビュー版のノートブックをお試しください。