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

Gemini API を使用すると、Google の最先端の画像生成モデルである Imagen 3 にアクセスできます。Imagen を使用すると、画像キャプション プロンプトから生成できます。Gemini API と Imagen のインテグレーションは、 は、ユーザー プロンプトを 高品質のビジュアルアセットを わずか数秒で作成できます

このガイドでは、Gemini API Python を使用して 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 を呼び出す前に、プロジェクトをセットアップして、 取得します。

画像を生成

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

サンプルコードを実行するには、まず SDK を 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": 確率スコアまたは重大度が スコアが LOWMEDIUMHIGH のいずれかである。
    • "block_medium_and_above": 確率スコアまたは重大度が スコアは MEDIUM または HIGH です。
    • "block_only_high": 確率スコアまたは重大度スコアが HIGH です。
  • person_generation: モデルが人物の画像を生成できるようにします。次の値を使用できます。

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

次のステップ

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