Imagen API memungkinkan Anda membuat gambar berkualitas tinggi dalam hitungan detik, menggunakan perintah teks dan gambar referensi untuk memandu pembuatan subjek atau gaya.
Melihat kartu model Imagen untuk Pengeditan dan Penyesuaian
Model yang Didukung
Model | Kode |
---|---|
Penyesuaian menggunakan gambar referensi (few-shot) | imagen-3.0-capability-001 |
Untuk mengetahui informasi selengkapnya tentang fitur yang didukung setiap model, lihat Model Imagen.
Metode HTTP dan URL
POST https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/imagen-3.0-capability-001:predict
Contoh sintaksis
Sintaksis untuk menyesuaikan gambar dari perintah teks dan gambar referensi.
Sintaks
Sintaksis untuk menyesuaikan gambar.
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": { [...] } }'
Contoh isi permintaan:
Permintaan ini ditujukan untuk penyesuaian orang dengan gambar kontrol jaring wajah dan tiga gambar referensi.
{ "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 } }
Daftar parameter
Lihat contoh untuk mengetahui detail implementasi.
Menyesuaikan gambar
REST
Parameter | |
---|---|
referenceType |
Enumerasi yang diperlukan:
|
referenceId |
Wajib integer ID referensi. Gunakan ID referensi ini dalam perintah. Misalnya, gunakan [1] untuk merujuk ke gambar referensi dengan referenceId=1, [2] untuk
merujuk ke gambar referensi dengan referenceId=2.
|
referenceImage.bytesBase64Encoded |
Wajib string String Base64 untuk gambar referensi yang dienkode. |
maskImageConfig.maskMode |
Enumerasi opsional:
Ditentukan saat referenceType ditetapkan sebagai REFERENCE_TYPE_MASK .
|
maskImageConfig.dilation |
Opsional float . Rentang: [0, 1]Persentase lebar gambar untuk memperlebar mask ini. Ditentukan saat referenceType ditetapkan sebagai REFERENCE_TYPE_MASK .
|
maskImageConfig.maskClasses |
Opsional list[Integer] .Menyamarkan kelas untuk mode MASK_MODE_SEMANTIC .Ditentukan saat referenceType ditetapkan sebagai REFERENCE_TYPE_MASK .
|
controlImageConfig.controlType |
Enumerasi yang diperlukan:
Ditentukan saat referenceType ditetapkan sebagai REFERENCE_TYPE_CONTROL .
|
controlImageConfig.enableControlImageComputation |
Opsional bool .Default: false .
Ditentukan saat referenceType ditetapkan sebagai REFERENCE_TYPE_CONTROL .
|
language |
Opsional: Kode bahasa yang sesuai dengan bahasa perintah teks Anda. Nilai-nilai berikut didukung:
en : Inggris (jika tidak ditentukan, nilai default)
|
subjectImageConfig.subjectDescription |
Wajib string .Deskripsi singkat subjek dalam gambar. Misalnya, seorang wanita dengan rambut cokelat pendek. Ditentukan saat referenceType ditetapkan sebagai REFERENCE_TYPE_SUBJECT .
|
subjectImageConfig.subjectType |
Enumerasi yang diperlukan:
Ditentukan saat referenceType ditetapkan sebagai REFERENCE_TYPE_SUBJECT .
|
styleImageConfig.styleDescription |
Opsional string .Deskripsi singkat untuk gaya. Ditentukan saat referenceType ditetapkan sebagai REFERENCE_TYPE_STYLE .
|
Respons
Isi respons dari permintaan REST.
Parameter | |
---|---|
predictions |
Array
objek |
Objek hasil model generatif visi
Informasi tentang hasil model.
Parameter | |
---|---|
bytesBase64Encoded |
Gambar yang dihasilkan berenkode base64. Tidak ada jika gambar output tidak lulus filter AI yang bertanggung jawab. |
mimeType |
Jenis gambar yang dibuat. Tidak ada jika gambar output tidak lulus filter AI yang bertanggung jawab. |
Contoh
Contoh berikut menunjukkan cara menggunakan model Imagen untuk menyesuaikan gambar.
Menyesuaikan gambar
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Google Cloud Project ID Anda.
- LOCATION: Region project Anda. Misalnya,
us-central1
,europe-west2
, atauasia-northeast3
. Untuk mengetahui daftar region yang tersedia, lihat Lokasi AI Generatif di Vertex AI. - TEXT_PROMPT: Perintah teks memandu gambar yang dihasilkan
model. Untuk menggunakan Penyesuaian Imagen 3, sertakan
referenceId
dari gambar atau gambar referensi yang Anda berikan dalam format [$referenceId]. Contoh:- Perintah teks berikut ditujukan untuk permintaan yang memiliki dua gambar referensi dengan
"referenceId": 1
. Kedua gambar memiliki deskripsi opsional"subjectDescription": "man with short hair"
: Buat gambar tentang seorang pria dengan rambut pendek agar sesuai dengan deskripsi: Sketsa gaya pensil potret seluruh tubuh man with short hair [1] dengan gambar garis silang, gambar garis potret dengan pensil grafit dan 6B, latar belakang putih, gambar pensil, kualitas tinggi, goresan pensil, melihat ke kamera, mata manusia alami
- Perintah teks berikut ditujukan untuk permintaan yang memiliki dua gambar referensi dengan
"referenceId"
: ID gambar referensi, atau ID untuk serangkaian gambar referensi yang sesuai dengan subjek atau gaya yang sama. Dalam contoh ini, dua gambar referensi adalah orang yang sama, sehingga memilikireferenceId
(1
) yang sama.- BASE64_REFERENCE_IMAGE: Gambar referensi untuk memandu pembuatan gambar. Gambar harus ditentukan sebagai string byte berenkode base64.
- SUBJECT_DESCRIPTION: Opsional. Deskripsi teks gambar referensi yang kemudian dapat Anda gunakan di kolom
prompt
. Contoh:"prompt": "a full-body portrait of a man with short hair [1] with hatch-cross drawing", [...], "subjectDescription": "man with short hair"
- IMAGE_COUNT: Jumlah gambar yang dihasilkan. Nilai bilangan bulat yang diterima: 1-4. Nilai default: 4.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict
Isi JSON permintaan:
{ "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 } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
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
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$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
. Respons ini menampilkan dua objek prediksi, dengan byte gambar yang dihasilkan berenkode base64.
{ "predictions": [ { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" } ] }
ID Kelas
Gunakan ID class objek berikut untuk membuat masker gambar secara otomatis berdasarkan objek tertentu.
ID Kelas (class_ ) |
Objek |
---|---|
0 | ransel |
1 | payung |
2 | tas |
3 | seri |
4 | koper |
5 | case |
6 | burung |
7 | kucing |
8 | anjing |
9 | kuda |
10 | domba |
11 | sapi |
12 | gajah |
13 | beruang |
14 | zebra |
15 | jerapah |
16 | hewan (lainnya) |
17 | microwave |
18 | radiator |
19 | oven |
20 | pemanggang roti |
21 | tangki penyimpanan |
22 | sabuk konveyor |
23 | wastafel |
24 | kulkas |
25 | mesin cuci pengering |
26 | kipas |
27 | mesin pencuci piring |
28 | toilet |
29 | bak mandi |
30 | pancuran |
31 | tunnel |
32 | jembatan |
33 | dermaga |
34 | tenda |
35 | mem-build |
36 | bilangan bulat terbesar |
37 | laptop |
38 | keyboard |
39 | tikus |
40 | remote |
41 | ponsel |
42 | televisi |
43 | floor |
44 | tahap |
45 | pisang |
46 | apel |
47 | sandwich |
48 | jeruk |
49 | brokoli |
50 | wortel |
51 | hot dog |
52 | piza |
53 | donat |
54 | kue |
55 | buah (lainnya) |
56 | makanan (lainnya) |
57 | kursi (lainnya) |
58 | kursi berlengan |
59 | kursi putar |
60 | tinja |
61 | slot |
62 | sofa |
63 | tempat sampah |
64 | tanaman dalam pot |
65 | nakas |
66 | tempat tidur |
67 | tabel |
68 | meja biliar |
69 | barel |
70 | meja |
71 | ottoman |
72 | lemari pakaian |
73 | crib |
74 | keranjang |
75 | laci |
76 | bookshelf |
77 | penghitung (lainnya) |
78 | meja kamar mandi |
79 | meja dapur |
80 | pintu |
81 | cahaya (lainnya) |
82 | lampu |
83 | sconce |
84 | lampu gantung |
85 | cermin |
86 | papan tulis virtual |
87 | rak |
88 | tangga |
89 | eskalator |
90 | lemari |
91 | perapian |
92 | kompor |
93 | mesin arcade |
94 | kerikil |
95 | platform |
96 | lapangan bermain |
97 | kereta api |
98 | jalan |
99 | salju |
100 | trotoar |
101 | landasan pacu |
102 | medan |
103 | buku |
104 | box |
105 | jam |
106 | vas |
107 | gunting |
108 | mainan (lainnya) |
109 | boneka beruang |
110 | pengering rambut |
111 | sikat gigi |
112 | melukis |
113 | poster |
114 | papan buletin |
115 | botol |
116 | cangkir |
117 | gelas anggur |
118 | pisau |
119 | garpu |
120 | sendok |
121 | mangkuk |
122 | baki |
123 | penghisap asap dapur |
124 | pelat |
125 | pengguna |
126 | pengendara (lainnya) |
127 | pesepeda |
128 | pengendara sepeda motor |
129 | makalah |
130 | lampu jalan |
131 | penghalang jalan |
132 | kotak surat |
133 | kamera cctv |
134 | kotak sambungan |
135 | rambu lalu lintas |
136 | lampu lalu lintas |
137 | hidran pemadam api |
138 | meteran parkir |
139 | bangku |
140 | rak sepeda |
141 | papan reklame |
142 | sky |
143 | tiang |
144 | pagar |
145 | pegangan tangga |
146 | pembatas jalan |
147 | bukit gunung |
148 | rock |
149 | frisbee |
150 | ski |
151 | papan seluncur salju |
152 | bola olahraga |
153 | layang-layang |
154 | stik bisbol |
155 | sarung tangan bisbol |
156 | skateboard |
157 | papan selancar |
158 | raket tenis |
159 | net |
160 | base |
161 | patung |
162 | kolom |
163 | air mancur |
164 | awning |
165 | pakaian |
166 | banner |
167 | flag |
168 | selimut |
169 | tirai (lainnya) |
170 | tirai shower |
171 | bantal |
172 | handuk |
173 | keset karpet |
174 | vegetasi |
175 | sepeda |
176 | mobil |
177 | bajaj |
178 | sepeda motor |
179 | pesawat terbang |
180 | bus |
181 | kereta api |
182 | truk |
183 | cuplikan |
184 | kapal |
185 | objek beroda lambat |
186 | danau sungai |
187 | laut |
188 | air (lainnya) |
189 | kolam renang |
190 | Waterfall |
191 | dinding |
192 | jendela |
193 | tirai jendela |
Langkah berikutnya
- Untuk mengetahui informasi selengkapnya, lihat Imagen di Vertex AI.