您可以使用 Imagen API,透過文字提示和參考圖片引導主題或樣式生成,製作高品質圖片。
查看「Imagen for Editing and Customization」模型資訊卡
本指南說明如何使用 Imagen API 模型自訂圖片,並涵蓋下列主題: 支援的機型 如要進一步瞭解各模型支援的功能,請參閱 Imagen 模型。 以下範例顯示的語法,可根據文字提示和參考圖片自訂圖片。 要求主體範例: 這個要求主體範例顯示人物自訂要求,其中使用臉部網格控制圖片和三張參考圖片。
如要自訂圖片,請提供一或多張參考圖片。每張參考圖片都必須有 下列各節說明要求參數和回應欄位。如要進一步瞭解實作方式,請參閱範例。 必要列舉: 必要條件 參考圖片的 ID。在提示中使用這個 ID 參照對應的圖片。舉例來說,使用 必要條件 參考圖片的 Base64 編碼字串。 選用列舉。 當 選填 這個遮罩要擴張的圖片寬度百分比。 當 選填 當 必要列舉。 當 選填 如果
選用: 與文字提示語言相應的語言代碼。
支援的值如下:
必要 圖片中主體的簡短說明。例如一位留著棕色短髮的女性。 當 必要列舉。 當 選填 樣式的簡短說明。 當 下表說明回應內容中的欄位。 Vision 生成模型結果物件 下表說明 以 Base64 編碼生成的圖片。如果輸出圖片未通過負責任的 AI 篩選器,就不會顯示這個欄位。 生成的圖片的 MIME 類型。如果輸出圖片未通過負責任的 AI 篩選器,就不會顯示這個欄位。 以下範例說明如何使用 Imagen 模型自訂圖片。
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址: JSON 要求主體: 如要傳送要求,請選擇以下其中一個選項:
將要求主體儲存在名為
將要求主體儲存在名為 使用下列物件類別 ID,根據特定物件自動建立圖片遮罩。
模型
程式碼
使用參考圖片自訂 (少樣本)
imagen-3.0-capability-001
HTTP 方法和網址
POST https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/imagen-3.0-capability-001:predict
語法範例
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/imagen-3.0-capability-001:predict \
-d '{
"instances": [
{
// Use [1] to refer to the reference images with referenceId=1
// [2] to refer to the reference images with referenceId=2,
// following the same format for all reference IDs that you provide.
"prompt": "${TEXT_PROMPT}",
"referenceImages": [
// A list of at most 4 reference image objects.
[...]
]
}
],
"parameters": {
[...]
}
}'
{
"instances": [
{
"prompt": "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",
"referenceImages": [
{
"referenceType": "REFERENCE_TYPE_CONTROL",
"referenceId": 2,
"referenceImage": {
"bytesBase64Encoded": "${IMAGE_BYTES_1}"
},
"controlImageConfig": {
"controlType": "CONTROL_TYPE_FACE_MESH",
"enableControlImageComputation": true
}
},
{
"referenceType": "REFERENCE_TYPE_SUBJECT",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": "${IMAGE_BYTES_2}"
},
"subjectImageConfig": {
"subjectDescription": "a man with short hair",
"subjectType": "SUBJECT_TYPE_PERSON"
}
},
{
"referenceType": "REFERENCE_TYPE_SUBJECT",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": "${IMAGE_BYTES_3}"
},
"subjectImageConfig": {
"subjectDescription": "a man with short hair",
"subjectType": "SUBJECT_TYPE_PERSON"
}
},
{
"referenceType": "REFERENCE_TYPE_SUBJECT",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": "${IMAGE_BYTES_4}"
},
"subjectImageConfig": {
"subjectDescription": "a man with short hair",
"subjectType": "SUBJECT_TYPE_PERSON"
}
}
]
}
],
"parameters": {
"negativePrompt": "wrinkles, noise, Low quality, dirty, low res, multi face,
rough texture, messy, messy background, color background, photo realistic,
photo, super realistic, signature, autograph, sign, text, characters,
alphabet, letter",
"seed": 1,
"language": "en",
"sampleCount": 4
}
}
選擇參考圖片類型
referenceType
,指定模型應如何使用該圖片。下表說明可用的參照類型。
參考類型
說明
用途
REFERENCE_TYPE_SUBJECT
提供主體 (例如人物、動物或產品) 的圖片,以便併入生成的圖片。你可以為同一主題提供多張圖片,提升品質。
將特定人物或物體放入新場景或風格。
REFERENCE_TYPE_STYLE
提供定義生成圖像藝術風格的圖片 (例如水彩、素描、普普藝術)。
根據來源樣式圖片,為生成的圖片套用一致的藝術風格。
REFERENCE_TYPE_CONTROL
使用控制圖片 (例如 Canny 邊緣、塗鴉或臉部網格) 引導生成圖片的結構、姿勢或構圖。
控制角色的確切姿勢或物體的輪廓。
REFERENCE_TYPE_RAW
提供編輯工作用的基礎圖片。輸出圖片的尺寸與原始圖片相同。
編輯現有圖片,例如修復或擴展圖片。
REFERENCE_TYPE_MASK
提供遮罩,指定要編輯 (塗改) 或保留原始圖片的哪些部分。遮罩可由使用者提供或自動產生。
修改圖片的特定區域,其餘部分則保持不變。
參數清單
要求參數
REST
參數
referenceType
REFERENCE_TYPE_RAW
REFERENCE_TYPE_MASK
maskMode
不是 MASK_MODE_USER_PROVIDED
,系統會根據原始參照圖片計算遮罩。REFERENCE_TYPE_CONTROL
enableControlImageComputation
為 true
,系統會從原始參照圖片計算控制圖片。REFERENCE_TYPE_SUBJECT
referenceId
REFERENCE_TYPE_STYLE
referenceId
integer
[1]
參照 referenceId=1
中的圖片,並使用 [2]
參照 referenceId=2
中的圖片。
referenceImage.bytesBase64Encoded
string
maskImageConfig.maskMode
referenceType
為 REFERENCE_TYPE_MASK
時,請使用這個參數。
MASK_MODE_USER_PROVIDED
:如果參考圖片是遮罩圖片。MASK_MODE_BACKGROUND
:使用背景分割功能自動生成遮罩。MASK_MODE_FOREGROUND
:使用前景分割功能自動生成遮罩。MASK_MODE_SEMANTIC
:使用語意區隔和指定的遮罩類別,自動產生遮罩。
maskImageConfig.dilation
float
。範圍:[0, 1]referenceType
為 REFERENCE_TYPE_MASK
時,請使用這個參數。
maskImageConfig.maskClasses
list[Integer]
。MASK_MODE_SEMANTIC
模式的遮罩類別。referenceType
為 REFERENCE_TYPE_MASK
時,請使用這個參數。
controlImageConfig.controlType
referenceType
為 REFERENCE_TYPE_CONTROL
時,請使用這個參數。
CONTROL_TYPE_FACE_MESH
,適用於臉部網格 (個人化)。CONTROL_TYPE_CANNY
,適用於Canny 邊緣。CONTROL_TYPE_SCRIBBLE
,即可塗鴉。
controlImageConfig.enableControlImageComputation
bool
。預設值:false
。referenceType
為 REFERENCE_TYPE_CONTROL
,請將此值設為 true
,讓 Imagen 從參考圖片計算控制圖片。否則請設為 false
,並提供自己的控制項圖片。
language
string
(僅限 imagen-3.0-capability-001
、imagen-3.0.generate-001
和 imagegeneration@006
)
auto
:自動偵測。如果 Imagen 偵測到支援的語言,系統會將提示和選填的負面提示翻譯成英文。如果系統偵測到的語言不支援,Imagen 會直接使用輸入文字,這可能會導致輸出結果不符預期。未傳回錯誤代碼。
en
:英文 (如省略,則為預設值)
es
:西班牙文
hi
:北印度文
ja
:日文
ko
:韓文
pt
:葡萄牙文
zh-TW
:中文 (繁體)
zh
或 zh-CN
:中文 (簡體)
subjectImageConfig.subjectDescription
string
。referenceType
為 REFERENCE_TYPE_SUBJECT
時,請使用這個參數。
subjectImageConfig.subjectType
referenceType
為 REFERENCE_TYPE_SUBJECT
時,請使用這個參數。
SUBJECT_TYPE_PERSON
:人員主體類型。SUBJECT_TYPE_ANIMAL
:動物主題類型。SUBJECT_TYPE_PRODUCT
:產品主題類型。SUBJECT_TYPE_DEFAULT
:預設主體類型。
styleImageConfig.styleDescription
string
。referenceType
為 REFERENCE_TYPE_STYLE
時,請使用這個參數。回應主體
參數
predictions
VisionGenerativeModelResult
物件陣列,每個要求的 sampleCount
各有一個物件。如果圖片遭到負責任的 AI 技術篩除,就不會納入其中。VisionGenerativeModelResult
物件中的欄位。
參數
bytesBase64Encoded
mimeType
範例
REST
us-central1
、europe-west2
或 asia-northeast3
。如需可用區域的清單,請參閱「Vertex AI 的生成式 AI 服務地區」。referenceId
。例如:
"referenceId": 1
。兩張圖片都有選填的"subjectDescription": "man with short hair"
說明:根據說明製作圖片:以鉛筆風格繪製全身肖像,man with short hair [1]採用交叉陰影繪圖,以 6B 和石墨鉛筆繪製肖像陰影,白色背景,鉛筆繪圖,高品質,鉛筆筆觸,看著鏡頭,自然的人眼
"referenceId"
:參考圖片的 ID,或對應相同主題或風格的一系列參考圖片 ID。在這個範例中,兩張參照圖片是同一個人,因此共用相同的 referenceId
(1
)。prompt
欄位。例如:
"prompt": "a full-body portrait of a man with short hair [1] with hatch-cross
drawing",
[...],
"subjectDescription": "man with short hair"
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict
{
"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"
}
}
]
}
],
"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"
}
]
}
課程 ID
課程 ID (
class_
)物件
0
後背包
1
雨傘
2
包包
3
領帶
4
手提箱
5
客服案件
6
鳥兒
7
cat
8
狗
9
馬
10
綿羊
11
母牛
12
大象
13
熊
14
斑馬
15
長頸鹿
16
動物 (其他)
17
微波爐
18
散熱器
19
烤箱
20
烤麵包機
21
儲存槽
22
輸送帶
23
接收器
24
冰箱
25
洗衣烘乾機
26
風扇
27
洗碗機
28
馬桶
29
浴缸
30
shower (蓮蓬頭)
31
通道
32
橋梁
33
碼頭
34
帳篷
35
建構中
36
ceiling
37
筆記型電腦
38
鍵盤
39
老鼠
40
遠端
41
手機
42
電視機
43
floor
44
在此流程的各個階段
45
香蕉
46
apple
47
三明治
48
orange
49
花椰菜
50
紅蘿蔔
51
熱狗
52
披薩
53
甜甜圈
54
蛋糕
55
水果 (其他)
56
食物 (其他)
57
椅子 (其他)
58
扶手椅
59
旋轉椅
60
凳子
61
帳戶名額
62
沙發
63
垃圾桶
64
盆栽
65
nightstand (床頭櫃)
66
床
67
資料表
68
撞球桌
69
槍管
70
辦公桌
71
腳凳
72
衣櫃
73
嬰兒床
74
籃子
75
抽屜櫃
76
書架
77
計數器 (其他)
78
浴室檯面
79
廚房中島
80
門
81
光線 (其他)
82
燈具
83
壁燈
84
吊燈
85
鏡像
86
透過行動裝置在 Meet 設備裝置上
87
專區
88
樓梯
89
電扶梯
90
櫃子
91
壁爐
92
火爐
93
大型電玩機台
94
砂礫
95
platform
96
playingfield
97
鐵路
98
道路
99
snow
100
人行道鋪面
101
跑道
102
地形
103
書
104
box
105
時鐘
106
花瓶
107
剪刀
108
玩物 (其他)
109
泰迪熊
110
吹風機
111
牙刷
112
繪畫
113
海報
114
公布欄
115
瓶子
116
杯子
117
葡萄酒杯
118
刀子
119
分支
120
湯匙
121
碗
122
紙匣
123
抽油煙機
124
盤子
125
使用者圖示
126
rider (other)
127
自行車騎士
128
機車騎士
129
報告
130
路燈
131
路障
132
信箱
133
監視器
134
接線盒
135
交通號誌
136
紅綠燈
137
消防栓
138
停車收費計時器
139
長椅
140
自行車架
141
看板廣告
142
Sky
143
桿子
144
籬笆
145
欄杆扶手
146
護欄
147
山丘
148
搖滾
149
飛盤
150
滑雪板
151
滑雪板
152
運動用球
153
風箏
154
球棒
155
棒球手套
156
滑板
157
衝浪板
158
網球拍
159
淨
160
base
161
雕塑
162
欄
163
噴泉
164
遮篷
165
服飾
166
橫幅
167
旗標
168
毯子
169
窗簾 (其他)
170
浴簾
171
pillow
172
毛巾
173
地毯地墊
174
植被
175
腳踏車
176
汽車
177
autorickshaw
178
摩托車
179
飛機
180
公車
181
火車
182
卡車
183
預告片
184
船隻
185
緩慢移動的輪狀物體
186
河湖
187
海洋
188
水 (其他)
189
游泳池
190
瀑布
191
牆
192
window
193
百葉窗簾
後續步驟
自訂圖片
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-19 (世界標準時間)。