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()
筆記本應會顯示四個類似如下的圖片:
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"
:在機率分數或嚴重性分數為LOW
、MEDIUM
或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 為搶先體驗版。敬請密切留意這項功能的最新消息。