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

Gemini API を使用すると、Google の最先端の画像生成モデルである Imagen 3 にアクセスできます。Imagen を使用すると、テキスト プロンプトから新しい画像を生成できます。Gemini API と Imagen の統合は、ユーザー プロンプトを高品質のビジュアル アセットに変換する次世代の AI アプリケーションを数秒で構築できるように設計されています。

このガイドでは、Gemini API Python SDK を使用して Imagen を使用する方法について説明します。

Imagen 3 について

Imagen 3 は、Google の最高品質の Text-to-Image モデルであり、多くの新機能と改善された機能を備えています。Imagen 3 は次のことができます。

  • 以前のモデルよりも細部が鮮明で、照明が豊かになり、邪魔なアーティファクトが減った画像を生成します。
  • 日常的な自然言語で記述されたプロンプトを理解することで、複雑なプロンプト エンジニアリングを行わずに、整合した出力を簡単に生成できます。
  • 写実的な風景から、重厚なタッチの油絵、クレイアニメのワンシーンまで、さまざまな形式とスタイルの画像を生成できます。
  • 以前のモデルよりもテキストを効率的にレンダリングできるため、スタイリッシュな誕生日カードやプレゼンテーションなどのユースケースに新たな可能性をもたらします。

Imagen 3 は、データとモデルの開発から本番環境まで、Google の最新の安全性と責任に関するイノベーションを活用して構築されています。Google DeepMind チームは、広範なフィルタリングとデータラベル付けを使用して、データセット内の有害なコンテンツを最小限に抑え、有害な出力の発生を減らしました。また、公平性、偏見、コンテンツの安全性などのトピックについて、レッドチームによる評価も実施しました。

詳細と出力例については、Google DeepMind Imagen 3 の概要をご覧ください。

始める前に: プロジェクトと API キーを設定する

pip install -U git+https://github.com/google-gemini/generative-ai-python@imagen

Gemini API を呼び出す前に、プロジェクトを設定して API キーを構成する必要があります。

画像を生成

このセクションでは、Imagen モデルをインスタンス化して画像を生成する方法について説明します。

サンプルコードを実行するには、まず Pillow をインストールする必要があります。

pip install --upgrade Pillow

次に、Pillow と Python SDK をインストールして、次のコードを使用して画像を生成します。

import os
import google.generativeai as genai

genai.configure(api_key=os.environ['API_KEY'])

imagen = genai.ImageGenerationModel("imagen-3.0-generate-001")

result = imagen.generate_images(
    prompt="Fuzzy bunnies in my kitchen",
    number_of_images=4,
    safety_filter_level="block_only_high",
    person_generation="allow_adult",
    aspect_ratio="3:4",
    negative_prompt="Outside",
)

for image in result.images:
  print(image)

# The output should look similar to this:
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f3396ef370>
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f3396ef700>
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f33953c2b0>
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f33953c280>

for image in result.images:
  # Open and display the image using your local operating system.
  image._pil_image.show()

ノートブックに、次のような 4 つの画像が表示されます。

キッチンでふわふわの 2 頭のウサギの AI 生成画像

Imagen モデル パラメータ

generate_images() で使用できるパラメータは次のとおりです。

  • prompt: 画像のテキスト プロンプト。
  • negative_prompt: 生成される画像から除外する内容の説明。デフォルトは none です。

    たとえば、「人がいない夜の雨の街路」というプロンプトについて考えてみましょう。モデルは、「人」を除外ではなく含むべき対象の指示として解釈する可能性があります。より良い結果を生成するには、プロンプト「夜の雨の街路」とあわせてネガティブ プロンプト「人」を使用します。

  • number_of_images: 生成する画像の数(1~4)。デフォルトは 4 です。

  • aspect_ratio: 生成される画像のアスペクト比を変更します。サポートされている値は "1:1""3:4""4:3""9:16""16:9" です。デフォルトは "1:1" です。

  • safety_filter_level: 安全フィルタリングにフィルタレベルを追加します。有効な値は次のとおりです。

    • "block_low_and_above": 確率スコアまたは重大度スコアが LOWMEDIUM、または HIGH の場合にブロックします。
    • "block_medium_and_above": 確率スコアまたは重大度スコアが MEDIUM または HIGH の場合にブロックします。
    • "block_only_high": 確率スコアまたは重大度スコアが HIGH の場合にブロックします。
  • person_generation: モデルが人物の画像を生成できるようにします。次の値を使用できます。

    • "dont_allow": 人物の画像の生成をブロックします。
    • "allow_adult": 大人の画像を生成しますが、子供の画像は生成しません。

テキスト プロンプト言語

次の入力テキスト プロンプト言語がサポートされています。

  • 中国語(簡体)(zh / zh-CN
  • 中国語(繁体)(zh-TW
  • 英語(en
  • ヒンディー語(hi
  • 日本語(ja
  • 韓国語(ko
  • ポルトガル語(pt
  • スペイン語(es

次のステップ

Gemini API の Imagen 3 は早期アクセス版です。機能のステータスに関するお知らせにご留意ください。