使用 Imagen 3 生成圖片

Gemini API 可讓您存取 Imagen 3,這是 Google 最先進的圖像生成模型。您可以使用 Imagen 從文字提示生成新穎圖像。Gemini API 與 Imagen 的整合功能旨在協助您建構新一代 AI 應用程式,只需幾秒鐘就能將使用者提示轉換為高品質的視覺素材資源。

本指南將協助您開始使用 Imagen,並使用 Gemini API Python SDK。

關於 Imagen 3

圖片 3 是 Google 最高品質的文字轉圖片模型,具備多項全新改良功能。圖片 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()

筆記本應會顯示四個類似如下的圖片:

AI 生成的圖像:廚房中兩隻毛茸茸的兔子

Imagen 模型參數

generate_images() 可用的參數如下:

  • prompt:圖片的文字提示。
  • negative_prompt:說明您要在產生的圖片中省略哪些內容。預設為無。

    舉例來說,假設提示為「夜晚無人的雨天城市街道」,模型可能會將「people」解讀為指示要納入的內容,而非省略。為獲得更精準的結果,您可以使用「夜晚的雨天城市街道」提示,並搭配「人」負面提示。

  • 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":當機率分數或嚴重性分數為 MEDIUMHIGH 時,系統會封鎖。
    • "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 為搶先體驗版。敬請密切留意這項功能的最新消息。