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] 圖片:a woman with short hair [1] 的肖像照,3D 卡通風格,背景模糊。可愛的角色,笑臉,看著鏡頭, 柔和色調,高品質,4K,傑作,超級細節,皮膚 紋理,紋理對應,柔和陰影,柔和寫實光線,鮮豔色彩 |
| 以臉部網格輸入內容,將人物圖片套用風格 |
主體圖片 (1-3) 臉部網格控制圖片 (1) |
以SUBJECT_DESCRIPTION [1]的姿勢生成CONTROL_IMAGE [2]圖片,並符合以下說明:SUBJECT_DESCRIPTION [1]的肖像 ${PROMPT} | 以「control image [2]」的姿勢繪製「a woman with short hair [1]」的圖片,並符合以下描述:以 3D 卡通風格繪製「a woman with short hair [1]」的肖像,背景模糊。可愛的微笑臉龐。請參閱 相機、柔和色調、高品質、4K、傑作、超級細節、 皮膚紋理、紋理對應、柔和陰影、柔和寫實光線、 鮮豔色彩 |
| 以臉部網格輸入內容,將人物圖片套用風格 |
主體圖片 (1-3) 臉部網格控制圖片 (1) |
建立 STYLE_DESCRIPTION [3] 圖片,內容為SUBJECT_DESCRIPTION [1],姿勢為CONTROL_IMAGE [2],與說明相符:SUBJECT_DESCRIPTION [1] 的肖像 ${PROMPT} | 建立 3d-cartoon style [3] 圖片,內容為 a woman with short hair [1] 擺出 control image [2] 的姿勢,以符合說明: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指定的控制臉部網狀圖像: Create an image about a man with short hair [1] in the pose of control image [2] to match the description: A pencil style sketch of a full-body portrait of a man with short hair [1] with hatch-cross drawing, hatch drawing of portrait with 6B and graphite pencils, white background, pencil drawing, high quality, pencil stroke, looking at camera, natural human eyes
- 以下文字提示詞適用於有兩張參考圖像的要求,且圖片具有
"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 張) | 根據說明「${PROMPT}」生成與「SUBJECT_DESCRIPTION [1]」相關的圖片: |
請根據以下說明製作 Luxe Elixir hair oil, golden liquid in glass bottle [1] 相關圖片:以高調風格拍攝女性手持 Luxe Elixir hair oil, golden liquid in glass bottle [1] 的特寫照片,背景為純白色。女人的手部光線充足,焦點清楚對準瓶子,淺景深效果模糊了背景,凸顯產品。光線柔和,採用漫射光源,在瓶子和手周圍營造出微光。整體構圖簡潔優雅,突顯產品的奢華魅力。 |
| 主體圖像 (1 到 4 張) | 生成 SUBJECT_DESCRIPTION 的圖片,但 ${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 - 品質最高的文字轉圖像模型