使用 Imagen 3 生成圖片

Gemini API 提供以下功能: Imagen 3,Google 最先進的圖像產生模型您可以利用 Imagen 就能生成圖像Gemini API 與 Imagen 的整合功能旨在 可協助您建構新一代 AI 應用程式,將使用者提示轉換為 短短幾秒內就能製作出高品質的視覺素材資源

本指南將協助您透過 Gemini API Python 開始使用 Imagen 將機器學習工作流程自動化

關於圖片 3

圖片 3 是 Google 最高品質的文字轉圖片模型,當中 新功能。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()

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

AI 生成的圖片,描繪廚房中有兩隻毛茸茸的兔子

Imagen 模型參數

以下是 generate_images() 可用的參數:

  • prompt:圖片的文字提示。
  • negative_prompt:要在產生的結果中省略的說明文字 所以映像檔較小預設為無。

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

  • number_of_images:要產生的圖片數量,範圍 1 到 4 (含 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":產生成人圖片,但不產生兒童圖片。

後續步驟

Gemini API 中的 Imagen 3 為搶先體驗版。請密切關注以下內容的公告: 功能狀態