Imagen 3 Customization 的主體自訂功能可根據文字提示和您提供的參考圖片,生成新圖片。您提供的參考圖片有助於引導生成新圖片。
下列機型支援自訂主體:
用途
Imagen 3 Customization 提供自由式提示,因此可能會給人一種印象,認為這項工具的功能比實際訓練內容更多。以下各節將說明 Imagen 3 Customization 的預期用途,以及非預期用途的範例 (僅列舉部分)。
建議您針對預期用途使用 Imagen 3 Customization,因為我們已針對這些用途訓練模型,預期可獲得良好結果。反之,雖然您可以讓模型執行預期用途以外的動作,但我們不認為會得到良好的結果。
預定用途
以下是 Imagen 3 Customization 主題自訂功能的適用用途:
- 為人物相片套用風格
- 為人物相片套用風格,並保留臉部表情
- (成功率低) 將產品 (例如沙發或餅乾) 放置在不同場景,並從不同角度拍攝。
- 生成產品變體,但不會保留確切詳細資料
- 為人物相片套用風格,同時保留臉部表情
不當用途範例
以下列舉幾個 Imagen 3 自訂功能無法訓練的用途,以及可能產生不良結果的用途:
- 在不同場景中放置兩個人以上,同時保留他們的身份
- 在不同場景中放置兩個人以上,同時保留身分,並使用範例圖片做為樣式輸入,指定輸出圖片的樣式。
- 為兩張以上的相片套用風格,同時保留人物身分
- 將寵物放入不同場景,同時保留其身分
- 將寵物相片轉換為手繪風格
- 將寵物相片轉換成繪圖,同時保留或指定圖片風格 (例如水彩)
- 將寵物和人物分別放入不同場景,同時保留兩者的身分。
- 將寵物和一或多個人物的相片套用風格,變成手繪風
- 將兩項產品放置在不同場景,並以不同角度拍攝
- 將產品 (例如餅乾或沙發) 放置在不同場景中,並從不同角度拍攝,或採用特定圖片風格 (例如特定顏色、光線風格或動畫的擬真照片)
- 將產品放入不同場景,同時保留控制圖片指定的特定場景構圖
- 將兩項產品放置在不同場景中,並從不同角度呈現產品, 以特定圖片做為輸入內容 (例如具有特定色彩、光線風格或動畫的擬真圖片)
- 將兩項產品放入不同場景,同時保留控制圖片指定的特定場景構圖
主旨自訂範例
以下各節說明 Imagen 3 Customization 主體自訂功能支援的案例:
自訂人員
| 輸入內容範例 | 輸出內容範例 |
|---|---|
|
|
1 使用 Imagen 3 生成的參考輸入圖片 提示詞:巴黎女子肖像。她穿著黑褲和白襯衫。
產品自訂
| 輸入內容範例 | 輸出內容範例 |
|---|---|
|
|
查看「Imagen for Editing and Customization」模型資訊卡
事前準備
- 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
為環境設定驗證機制。
選取這個頁面上的分頁,瞭解如何使用範例:
控制台
使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。
自訂主旨
使用 Imagen 3 自訂功能時,您可以提供主體類型的參考圖片。具體來說,Imagen 3 Customization 的少樣本提示支援下列主體:產品、人物和寵物。選擇的主題會影響生成要求的形式。
使用 Imagen 3 自訂功能時,提示可能會影響生成的圖片品質。以下各節說明建議的提示範本和範例,可傳送自訂要求。
自訂人員
下表列出建議的提示範本,可做為撰寫個人化提示的起點:
| 用途 | 參考圖片 | 提示範本 | 範例 |
|---|---|---|---|
| 以臉部網格輸入內容為人物圖片套用風格 |
主體圖像 (1) 臉部網格控制圖像 (1) |
使用facemesh from the control image [2]生成 SUBJECT_DESCRIPTION [1] 的圖片。${PROMPT} | 使用 facemesh from the control image [2] 生成 the person [1] 的圖片。拍攝對象應面向正前方,表情自然。背景應為 ... |
| 不使用臉部網格輸入內容,為人物圖片套用風格 | 主體圖像 (1 到 4 張) | 建立與說明相符的 SUBJECT_DESCRIPTION [1] 圖片:SUBJECT_DESCRIPTION [1] 的肖像照 ${PROMPT} | 請根據以下說明,製作與「a woman with short hair[1]」相關的圖片:以 3D 卡通風格繪製「a woman with short hair[1]」的肖像,背景模糊處理。可愛迷人的角色、笑臉、看著相機、柔和色調、高畫質、4K、傑作、超級細節、皮膚材質、材質對應、柔和陰影、柔和寫實的光線、鮮豔色彩 |
| 不使用臉部網格輸入內容,為人物圖片套用風格 | 主體圖像 (1 到 4 張) | 根據以下說明建立 STYLE_DESCRIPTION [2] 圖片:SUBJECT_DESCRIPTION [1] SUBJECT_DESCRIPTION [1] 的肖像,STYLE_PROMPT | 請根據以下說明,建立有關「a woman with short hair [1]」的 3d-cartoon style [2] 圖片:以 3D 卡通風格繪製「a woman with short hair [1]」的肖像,並模糊背景。可愛的角色,笑臉,看著鏡頭, 柔和的色調,高品質,4K,傑作,超級細節,皮膚 紋理,紋理對應,柔和的陰影,柔和的寫實光線,鮮豔的 色彩 |
| 以臉部網格輸入內容為人物圖片套用風格 |
主體圖片 (1-3) 臉部網格控制圖片 (1) |
Create an image about SUBJECT_DESCRIPTION [1] in the pose of the CONTROL_IMAGE [2] to match the description: a portrait of SUBJECT_DESCRIPTION [1] ${PROMPT} | 以control image [2]的姿勢繪製「a woman with short hair [1]」的圖片,符合以下描述:a woman with short hair [1]的肖像照,採用 3D 卡通風格,背景模糊。可愛的微笑臉龐。請參照 相機、柔和色調、高品質、4K、傑作、超級細節、 皮膚紋理、紋理對應、柔和陰影、柔和逼真光線、 鮮豔色彩 |
| 以臉部網格輸入內容為人物圖片套用風格 |
主體圖片 (1-3) 臉部網格控制圖片 (1) |
Create a STYLE_DESCRIPTION [3] image about SUBJECT_DESCRIPTION [1] in the pose of the CONTROL_IMAGE [2] to match the description: a portrait of SUBJECT_DESCRIPTION [1] ${PROMPT} | 以control image [2]的姿勢建立3d-cartoon style [3]圖片,內容為a woman with short hair [1],以符合說明:a woman with short hair [1]的肖像照,採用 3D 卡通風格,背景模糊。可愛的微笑臉龐,See the camera, pastel color tone, high quality, 4k, masterpiece, super details, skin texture, texture mapping, Soft shadows, soft realistic lighting, vibrant colors |
建議參考圖片中的臉部具有下列特徵:
- 置中顯示,且至少占據整張圖片的一半
- 在正面視角中朝各個方向旋轉 (側滾、俯仰和偏擺)
- 未被太陽眼鏡或口罩等物品遮住
使用下列範例傳送自訂要求,並附上用來引導圖片生成的個人參考圖片。你可以傳送這類要求,並視需要提供臉部網格控制圖片,進一步引導系統生成圖片。
REST
如要進一步瞭解 Imagen API,請參閱下列內容:
- 方法:
endpoints.predict VisionGenerativeModelInstanceVisionGenerativeModelParamsVisionGenerativeModelResult
這個範例說明如何指定臉部網格控制區域來引導生成作業,但您也可以省略控制參照物件 ("referenceType": "REFERENCE_TYPE_CONTROL"),Imagen 會自動偵測臉部網格控制區域。
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID:您的 Google Cloud 專案 ID。
- LOCATION:專案的區域。例如
us-central1、europe-west2或asia-northeast3。如需可用區域的清單,請參閱「Vertex AI 生成式 AI 服務地區」。使用地區 API 端點時,系統會根據端點網址中的區域,決定要求處理位置,並忽略資源路徑中發生衝突的LOCATION。 - TEXT_PROMPT:文字提示會引導模型生成圖片。如要使用 Imagen 3 自訂功能,請在 [$referenceId] 格式中加入您提供的參考圖片
referenceId。例如:- 以下文字提示適用於有兩張參照圖片的要求,且圖片具有
"referenceId": 1。兩張圖片都有選填的"subjectDescription": "man with short hair"說明。此外,還有以"referenceId": 2指定的控制臉部網格圖像: 建立與控制圖像 [2] 姿勢相同的 man with short hair [1] 圖像, 符合以下描述:以鉛筆風格繪製 man with short hair [1] 的全身肖像,並以交叉影線繪製,以 6B 和石墨鉛筆繪製肖像的影線, 白色背景,鉛筆繪製,高品質,鉛筆筆觸,看著鏡頭,自然的人眼
- 以下文字提示適用於有兩張參照圖片的要求,且圖片具有
"referenceId":參考圖片的 ID,或對應相同主題或風格的一系列參考圖片 ID。在本範例中,兩張參照圖片都是同一人,因此共用相同的referenceId(1),而控制臉部網格圖片則有不同的referenceId(2)。生成的圖片會遵循從參照圖片擷取的臉部網格臉部結構,並改善臉部外觀。系統僅支援一個臉部網格控制項。- BASE64_REFERENCE_IMAGE:引導圖片生成的參考圖片。圖片必須指定為Base64 編碼的位元組字串。
- SUBJECT_DESCRIPTION:選用。參考圖片的文字說明,可用於
prompt欄位。例如:"prompt": "a full-body portrait of a man with short hair [1] with hatch-cross drawing", [...], "subjectDescription": "man with short hair" - IMAGE_COUNT:生成的圖像數量。 接受的整數值:1 到 4。預設值:4。
HTTP 方法和網址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict
JSON 要求內文:
{
"instances": [
{
"prompt": "TEXT_PROMPT",
"referenceImages": [
{
"referenceType": "REFERENCE_TYPE_SUBJECT",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
},
"subjectImageConfig": {
"subjectDescription": "SUBJECT_DESCRIPTION",
"subjectType": "SUBJECT_TYPE_PERSON"
}
},
{
"referenceType": "REFERENCE_TYPE_SUBJECT",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
},
"subjectImageConfig": {
"subjectDescription": "SUBJECT_DESCRIPTION",
"subjectType": "SUBJECT_TYPE_PERSON"
}
},
{
"referenceType": "REFERENCE_TYPE_CONTROL",
"referenceId": 2,
"referenceImage": {
"bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
},
"controlImageConfig": {
"controlType": "CONTROL_TYPE_FACE_MESH",
"enableControlImageComputation": true
}
}
]
}
],
"parameters": {
"sampleCount": IMAGE_COUNT
}
}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict" | Select-Object -Expand Content
"sampleCount": 2。回應會傳回兩個預測物件,其中包含以 base64 編碼的生成圖片位元組。
{
"predictions": [
{
"bytesBase64Encoded": "BASE64_IMG_BYTES",
"mimeType": "image/png"
},
{
"mimeType": "image/png",
"bytesBase64Encoded": "BASE64_IMG_BYTES"
}
]
}
Python
產品自訂
下表列出建議的提示範本,可做為撰寫產品自訂提示的起點:
| 參考圖片 | 提示範本 | 範例 |
|---|---|---|
| 主體圖像 (1 到 4 張) | 根據以下說明,生成與 SUBJECT_DESCRIPTION [1] 相關的圖片:${PROMPT} |
請根據以下說明製作 Luxe Elixir hair oil, golden liquid in glass bottle [1] 相關圖片:以純白色背景為襯,特寫呈現女性的手拿著 Luxe Elixir hair oil, golden liquid in glass bottle [1],並以高調風格呈現。女子的手部光線充足,焦點清晰地落在瓶子上,淺景深效果則模糊了背景,突顯產品。光線柔和,採用漫射光源,在瓶子和手周圍營造出微光。整體構圖簡單優雅,凸顯產品的奢華魅力。 |
| 主體圖像 (1 到 4 張) | Generate an image of a SUBJECT_DESCRIPTION but ${PROMPT} |
生成Seiko watch [1]的圖片,但顏色為藍色。 |
使用下列範例傳送自訂要求,並提供產品參考圖片,引導圖片生成。
控制台
-
在 Google Cloud 控制台中,依序前往「Vertex AI」>「Vertex AI Studio」
頁面。
前往 Vertex AI Studio - 在「Parameters」(參數) 窗格的「Model」(模型) 部分,選取「Imagen 3」(如果尚未選取)。
- 選用。選擇 1:1 (預設) 以外的顯示比例。
- 選用。變更「結果數量」。
- 選用。提供負面提示,引導模型避免生成特定內容。
- 選用。變更任何進階選項。
- 在「文字提示」欄位 (「撰寫提示...」) 中,按一下「新增參照」。
- 在「新增參照」窗格中,選擇「參照類型」: Subject - product。
- 在「參考圖片」部分中,按一下「上傳」
- 選擇儲存在本機的圖片,然後按一下「開啟」。
- 選用。提供參考圖像的說明。
- 按一下 [完成]。
- 選用。如要新增更多參考圖片,請按一下「新增圖片」並上傳其他圖片。
- 新增所有參考圖片後,按一下「新增參考資料」。
在該窗格中新增的所有參考圖片都有相同的參考編號。新增文字提示時,請使用這個參考編號。
- 在「文字提示」欄位 (「輸入提示...」) 中,加入包含參考圖像參考編號的文字提示。例如:
- 明亮的白色房間,玻璃桌上放著 product [1]
- animal [1]站在廣闊的田野上,遠處是森林
- person [1]在film noir style [2]城市街道上的黑白肖像照
REST
如要進一步瞭解 imagen-3.0-capability-001 模型要求,請參閱 imagen-3.0-capability-001 模型 API 參考資料。
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID:您的 Google Cloud 專案 ID。
- LOCATION:專案的區域。例如
us-central1、europe-west2或asia-northeast3。如需可用區域的清單,請參閱「Vertex AI 生成式 AI 服務地區」。使用地區 API 端點時,系統會根據端點網址中的區域,決定要求處理位置,並忽略資源路徑中發生衝突的LOCATION。 - TEXT_PROMPT:文字提示會引導模型生成圖片。如要使用 Imagen 3 自訂功能,請在 [$referenceId] 格式中加入您提供的參考圖片
referenceId。例如:- 根據Luxe Elixir hair oil, golden liquid in glass bottle [1]建立圖片:以高調風格近距離拍攝女性的手,Luxe Elixir hair oil, golden liquid in glass bottle [1],背景為純白色。女子的手部光線充足,焦點清晰地落在瓶子上,淺景深效果模糊了背景,突顯產品。
"referenceId":參考圖片的 ID,或對應相同主題或風格的一系列參考圖片 ID。在這個範例中,兩張參照圖片都是同一項產品,因此共用相同的referenceId(1)。- BASE64_REFERENCE_IMAGE:引導圖片生成的參考圖片。圖片必須指定為Base64 編碼的位元組字串。
- SUBJECT_DESCRIPTION:選用。參考圖片的文字說明,可用於
prompt欄位。例如:"prompt": "Luxe Elixir hair oil, golden liquid in glass bottle [1] against a pure white background.", [...], "subjectDescription": "Luxe Elixir hair oil, golden liquid in glass bottle" - IMAGE_COUNT:生成的圖像數量。 接受的整數值:1 到 4。預設值:4。
HTTP 方法和網址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict
JSON 要求內文:
{
"instances": [
{
"prompt": "TEXT_PROMPT",
"referenceImages": [
{
"referenceType": "REFERENCE_TYPE_SUBJECT",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
},
"subjectImageConfig": {
"subjectType": "SUBJECT_TYPE_PRODUCT",
"subjectDescription": "SUBJECT_DESCRIPTION"
}
},
{
"referenceType": "REFERENCE_TYPE_SUBJECT",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
},
"subjectImageConfig": {
"subjectType": "SUBJECT_TYPE_PRODUCT",
"subjectDescription": "SUBJECT_DESCRIPTION"
}
}
]
}
],
"parameters": {
"sampleCount": IMAGE_COUNT
}
}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict" | Select-Object -Expand Content
"sampleCount": 2。回應會傳回兩個預測物件,其中包含以 base64 編碼的生成圖片位元組。
{
"predictions": [
{
"bytesBase64Encoded": "BASE64_IMG_BYTES",
"mimeType": "image/png"
},
{
"mimeType": "image/png",
"bytesBase64Encoded": "BASE64_IMG_BYTES"
}
]
}
產品使用量累進區間
如要查看與 Vertex AI 上的 Imagen 相關聯的使用標準和內容限制,請參閱使用指南。
模型版本
你可以使用多種圖片生成模型。詳情請參閱「Imagen 模型」。
後續步驟
閱讀有關 Imagen 和其他 Vertex AI 生成式 AI 產品的文章:
- 開發人員指南:開始在 Vertex AI 使用 Imagen 3
- 專為創作者打造的全新生成式媒體模型和工具
- Gemini 新功能:自訂 Gem 和 Imagen 3 強化圖像生成功能
- Google DeepMind:Imagen 3 - 品質最高的文字轉圖像模型