Imagen を使用して画像を生成する

Imagen は、テキスト プロンプトからリアルで高品質な画像を生成できる、Google の高忠実度画像生成モデルです。すべての生成画像には SynthID の透かしが埋め込まれています。使用可能な Imagen モデル バリエーションの詳細については、モデル バージョンをご覧ください。

Nano Banana への移行

Imagen モデルは非推奨となり、2026 年 8 月 17 日に提供が終了します。画像生成のニーズに合わせて Nano Banana に移行することをおすすめします。

移行には次の変更が含まれます。

  • モデル名: Imagen モデル名の代わりに gemini-2.5-flash-image を使用します。
  • メソッド: client.models.generate_images ではなく client.models.generate_content を使用します。
  • レスポンスの処理: Nano Banana は、特定の画像レスポンス オブジェクトではなく、画像データを含むコンテンツ部分を返します。

詳細と例については、画像生成ガイドをご覧ください。

Imagen モデルを使用して画像を生成する

次の例は、Imagen モデルを使用して画像を生成する方法を示しています。

Python

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

client = genai.Client()

response = client.models.generate_images(
    model='imagen-4.0-generate-001',
    prompt='Robot holding a red skateboard',
    config=types.GenerateImagesConfig(
        number_of_images= 4,
    )
)
for generated_image in response.generated_images:
  generated_image.image.show()

JavaScript

import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";

async function main() {

  const ai = new GoogleGenAI({});

  const response = await ai.models.generateImages({
    model: 'imagen-4.0-generate-001',
    prompt: 'Robot holding a red skateboard',
    config: {
      numberOfImages: 4,
    },
  });

  let idx = 1;
  for (const generatedImage of response.generatedImages) {
    let imgBytes = generatedImage.image.imageBytes;
    const buffer = Buffer.from(imgBytes, "base64");
    fs.writeFileSync(`imagen-${idx}.png`, buffer);
    idx++;
  }
}

main