「受控自訂」功能可讓您根據來源圖片或來源圖片信號 (Canny Edge 或塗鴉) 建立新圖片。本頁說明如何傳送兩種受控自訂要求:
Imagen 3 受控自訂 (正式版功能)
Imagen 2 受控自訂功能 - Canny 邊緣或塗鴉來源圖片信號 (預先發布功能)
用途
Imagen 3 Controlled Customization 提供自由風格的提示,可能會讓您覺得模型的功能超出訓練範圍。以下各節將說明 Imagen 3 Controlled Customization 的應用實例和範例。
這個模型已根據我們提供的用途進行訓練,因此我們預期您在使用 Imagen 3 受控自訂功能時,會獲得良好的結果。如果強迫模型以非預期的方式回覆,結果可能不盡理想。
預定用途範例
Imagen 3 Controlled Customization 經過訓練,可處理下列應用情境並產生良好結果:
生成符合提示和 Canny Edge 控制圖像的圖片。
根據提示和塗鴉圖片生成圖片。
為人物相片套用風格,同時保留臉部表情。
不當用途範例
Imagen 3 Controlled Customization 未經過訓練,因此無法處理下列應用實例,且會產生不佳的結果:
根據提示中指定的風格生成圖片。
從文字生成圖片,並根據參考圖片提供特定風格,同時使用控制圖片在某種程度上控制圖片構圖。
根據參考圖片提供的特定風格,透過文字生成圖像,並使用控制塗鴉,在某種程度上控制圖像構圖。
從文字生成圖像,並遵循參考圖像提供的特定風格,同時使用控制圖像,在某種程度上控制圖像構圖。圖片中的人有特定臉部表情。
為兩張以上的人像相片套用風格,並保留臉部表情。
將寵物相片轉換為手繪風格,保留或指定圖片的構圖 (例如水彩)。
事前準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
為環境設定驗證方法。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:
gcloud init
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。
撰寫自訂提示
使用 Imagen 3 自訂功能時,提示可能會影響生成的圖片品質。您可以從下列提示範本著手撰寫自訂提示。您可能需要傳送多個要求,才能取得目標輸出內容。
用途 參考圖片 提示範本 範例 控管自訂項目 手繪地圖 (1) 生成符合描述的圖片:${STYLE_PROMPT} ${PROMPT}。 scribble map [1] 生成符合 scribble map [1] 的圖片,與說明相符:圖片應為印象派油畫風格,筆觸輕鬆。這類照片通常有自然光線,且筆觸明顯。車輛的側面圖。車輛停在潮濕且會反射光線的路面上,水窪中映照著城市燈光。 控管自訂項目 Canny 控制圖片 (1) 生成與 edge map [1] 相符的圖片,並符合說明:${STYLE_PROMPT} ${PROMPT} 生成與 edge map [1] 相符的圖片,以符合說明: 圖片應為印象派油畫風格,筆觸輕鬆。這類圖片的氛圍自然明亮,筆觸也十分明顯。車輛的側面圖。車輛停在潮濕且會反射光線的路面,水窪中映照著城市燈光。 以 FaceMesh 輸入內容風格化人物圖片 主體圖片 (1-3)
FaceMesh 控制圖片 (1)以SUBJECT_DESCRIPTION [1]的姿勢建立CONTROL_IMAGE [2]圖片,符合以下說明:SUBJECT_DESCRIPTION [1]的肖像照 ${PROMPT} 以control image [2]的姿勢繪製「a woman with short hair [1]」的圖片,符合以下描述:a woman with short hair [1]的肖像照,採用 3D 卡通風格,背景模糊。可愛的角色,面帶微笑,面向鏡頭,粉彩色調,高品質,4K,傑作,細節豐富,皮膚紋理,紋理對應,柔和陰影,柔和逼真的光線,鮮豔色彩 以 FaceMesh 輸入內容風格化人物圖片 主體圖片 (1-3)
FaceMesh 控制圖片 (1)建立 ${STYLE_PROMPT} 圖片,內容為 SUBJECT_DESCRIPTION [1],姿勢為 CONTROL_IMAGE [2],與以下說明相符:SUBJECT_DESCRIPTION [1] 的肖像照${PROMPT} 以 3D 卡通風格繪製 a woman with short hair [1] 的圖片,姿勢要與 control image [2] 相同,並符合以下說明:a woman with short hair [1] 的肖像照,以 3D 卡通風格呈現,背景模糊。可愛的笑臉角色面向鏡頭,色調柔和,高品質,4K,傑作,細節豐富,皮膚紋理,紋理對應,柔和陰影,柔和逼真的光線,色彩鮮豔 傳送 Imagen 3 受控自訂要求
請使用下列範例傳送 Imagen 3 Controlled Customization 要求:
REST
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:您的 Google Cloud 專案 ID。
- LOCATION:專案的區域。例如
us-central1
、europe-west2
或asia-northeast3
。如需可用區域的清單,請參閱「Vertex AI 的生成式 AI 服務地區」。 - TEXT_PROMPT:文字提示會引導模型生成圖片。如要使用 Imagen 3 受控自訂功能,請以 [$referenceId] 格式加入您提供的控制參考圖片
referenceId
。例如:- 生成與塗鴉地圖相符的圖片 [1],並與說明相符: [image description]。
- BASE64_CONTROL_IMAGE:基礎控制圖片 (草圖)。圖片必須指定為 base64 編碼的位元組字串。
ForCONTROL_TYPE_SCRIBBLE
: The expected scribble control image has black background and white scribble line.
:預期的 Canny 邊緣控制圖片應為黑底白邊。CONTROL_TYPE_CANNY
- CONTROL_TYPE:控制信號的類型。使用
CONTROL_TYPE_CANNY
進行 Canny 邊緣偵測。使用CONTROL_TYPE_SCRIBBLE
塗鴉。 enableControlImageComputation
:如果您提供自己的控制圖片,請設為false
。在這種情況下,B64_BASE_IMAGE
應為控制訊號圖片。如要讓 Imagen 從參照圖片計算控制圖片,請設為true
。在這種情況下,B64_BASE_IMAGE
應為原始 RGB 圖片。- 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_CONTROL", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "BASE64_CONTROL_IMAGE" }, "controlImageConfig": { "controlType": "CONTROL_TYPE", "enableControlImageComputation": false } } ] } ], "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
塗鴉
Canny 邊緣
傳送 Imagen 2 受控自訂要求
輸入圖像 其他參數 輸出圖片 輸入圖片。圖片來源:Alec Cutter (Unsplash)。 提示:「數位藝術版」
負面提示:「黑白」
導覽圖片類型:標準 RGB
控制條件:canny edge
Imagen Control 比例:0.95
輸入圖片。圖片來源:Alec Cutter (Unsplash
,已套用 Canny 邊緣偵測)。提示:「數位藝術版」
負面提示:「黑白」
引導圖片類型:canny edge
Imagen Control 比例:0.95
請使用下列範例傳送 Imagen 2 受控自訂要求:
控制台
-
在 Google Cloud 控制台中,前往「Vertex AI」>「Media Studio」 頁面。
-
在下方工作面板中,按一下「編輯圖片」
。 -
按一下「上傳」,選取要編輯的本機圖片。
-
在「參數」面板的「模式」部分,按一下「控制」。
-
(選用步驟) 修改「結果數量」、提供「負面提示」,或修改「進階選項」>「區域」。
-
在「進階選項」部分,選取「引導圖片類型」:標準 RGB、Canny 邊緣或塗鴉。
-
在「Advanced options」(進階選項) 區段中,選取「Control condition」(控制條件):Canny edge 或 Scribble。
-
在提示欄位 (「撰寫提示...」) 中,輸入文字提示。
-
按一下「生成」
。
REST
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:您的 Google Cloud 專案 ID。
- TEXT_PROMPT:文字提示,引導模型生成圖片。生成和編輯時都必須填寫這個欄位。
- B64_BASE_IMAGE:要編輯或放大畫質的基礎圖片。圖片必須指定為 base64 編碼的位元組字串。大小限制:10 MB。
- EDIT_IMAGE_COUNT:編輯的圖片數量。預設值: 4。
- NEGATIVE_PROMPT:用於生成圖片的負面提示。例如:「動物」(移除動物)、「模糊」(讓圖片更清晰)、「文字」(移除文字) 或「裁剪」(移除裁剪的圖片)。
-
CONDITION:
string
。提供的控制項圖片信號類型。值:cannyEdges
或scribble
。 -
CONTROL_SCALE:
float
。控制圖片訊號的強度。值:0.0
-1.0
。預設值為0.95
。建議範圍:0.9
-1.0
。 -
SAMPLING_STEPS:
integer
。取樣步數。值:1
-30
。預設值:16
。 -
COMPUTE_CONDITION_MAP:
boolean
。是否要根據基本輸入圖片計算條件對應。設為false
時,服務會預期輸入圖片為塗鴉或 Canny 邊緣,並直接提供給模型。如果設為true
,服務會將輸入圖片視為 RGB 圖片,並根據conditionName
從輸入圖片計算 Canny 邊緣或塗鴉資訊。接著,這項服務會將處理過的條件對應提供給模型,以進行圖片編輯。提供塗鴉圖片時,圖片應為黑底,並以白線描繪要生成的物件。預設值:false
。
HTTP 方法和網址:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627:predict
JSON 要求主體:
{ "instances": [ { "prompt": "TEXT_PROMPT", "image": { "bytesBase64Encoded": "B64_BASE_IMAGE" } } ], "parameters": { "sampleCount": EDIT_IMAGE_COUNT, "negativePrompt": "NEGATIVE_PROMPT", "controlPluginConfig": { "conditions": [ { "conditionName": "CONDITION", "controlScale": CONTROL_SCALE, "samplingSteps": SAMPLING_STEPS, "computeConditionMap": COMPUTE_CONDITION_MAP } ] } } }
如要傳送要求,請選擇以下其中一個選項:
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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627: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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627: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 - 品質最高的文字轉圖像模型
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-09-04 (世界標準時間)。