Dengan Imagen, Anda dapat mengedit gambar dalam hitungan detik, menggunakan perintah teks, mask, dan gambar yang ada untuk memandu pengeditan.
Melihat kartu model Imagen untuk Pengeditan dan Penyesuaian
Versi model yang didukung
Imagen API mendukung model berikut:
imagen-3.0-capability-001
Untuk mengetahui informasi selengkapnya tentang fitur yang didukung model, lihat Model Imagen.
Permintaan HTTP
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": [
{
"referenceImages": [
{
"referenceType": "REFERENCE_TYPE_RAW",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": string
}
},
{
"referenceType": "REFERENCE_TYPE_MASK",
"referenceId": 2,
"referenceImage": {
"bytesBase64Encoded": string
},
"maskImageConfig": {
"maskMode": "MASK_MODE_USER_PROVIDED"
}
}
],
"prompt": string
}
],
"parameters": {
"addWatermark": boolean,
"baseSteps": integer,
"editMode": string,
"guidanceScale": integer,
"includeRaiReason": boolean,
"includeSafetyAttributes": boolean,
"language": string,
"negativePrompt": string,
"outputOptions": {
"mimeType": string,
"compressionQuality": integer
},
"personGeneration": string,
"safetySetting": string,
"sampleCount": integer,
"seed": integer,
"storageUri": string
}
}'
Instance
| Instance | |
|---|---|
prompt |
Opsional. Perintah teks untuk gambar. Jika |
referenceImages |
Daftar objek
Wajib. Untuk pengeditan mask, tepat dua gambar referensi harus
ditentukan, satu dengan |
Objek referenceImages
Objek referenceImages menjelaskan aset gambar yang akan diedit oleh Imagen.
| Parameter | |
|---|---|
referenceType |
Wajib. Jenis gambar referensi. Salah satu dari berikut ini:
|
referenceId |
Wajib. ID unik untuk gambar referensi. Tidak digunakan untuk pengeditan yang ditutup-tutupi. |
referenceImage.bytesBase64Encoded |
Wajib. Byte gambar berenkode Base64. Menerima file PNG, JPEG, GIF, dan BMP. Ukuran maksimum adalah 20 MB setelah ditranskode ke PNG. Jika Anda memberikan gambar mask, dimensi gambar tersebut harus sama dengan gambar dasar. |
maskImageConfig.maskMode |
Wajib jika
|
maskImageConfig.dilation |
Opsional. Rentang: [0, 1]. Persentase lebar gambar untuk memperlebar
(memperbesar) masker. Hal ini dapat membantu mengompensasi mask yang tidak presisi.
Untuk hasil terbaik, kami merekomendasikan setelan
|
maskImageConfig.maskClasses |
Opsional. Class mask untuk mode
|
Parameter
| Parameter | |
|---|---|
addWatermark |
Opsional. Menambahkan watermark tak terlihat ke gambar yang dihasilkan.
Nilai defaultnya adalah |
baseSteps |
Opsional. Jumlah langkah pengambilan sampel. Nilai yang lebih tinggi memiliki kualitas gambar yang lebih baik, sedangkan nilai yang lebih rendah memiliki latensi yang lebih baik. Nilai defaultnya adalah
Untuk area mask yang lebih kecil atau untuk mode penghapusan atau penyisipan, gunakan
langkah |
editMode
|
Diperlukan untuk pengeditan mask. Enum dengan salah satu nilai berikut:
|
guidanceScale |
Opsional. Mengontrol seberapa besar model mematuhi perintah teks. Nilai besar meningkatkan output dan keselarasan perintah, tetapi dapat mengurangi kualitas gambar.
Rentang yang diterima:
Default: |
includeRaiReason |
Opsional. Apakah akan menyertakan alasan keamanan untuk gambar yang difilter dalam
respons. Nilai defaultnya adalah |
includeSafetyAttributes |
Opsional. Apakah akan melaporkan skor keamanan setiap gambar dalam
respons. Nilai defaultnya adalah |
language |
Opsional. Kode bahasa yang sesuai dengan bahasa perintah teks Anda. Nilai-nilai berikut didukung:
|
negativePrompt |
Opsional. Deskripsi tentang hal yang harus dihindari dalam gambar yang dihasilkan. |
outputOptions |
Opsional. Mendeskripsikan format gambar output dalam
objek |
personGeneration |
Opsional. Izinkan pembuatan gambar orang oleh model. Nilai berikut didukung:
Untuk pengeditan berbasis mask, |
sampleCount |
Opsional. Jumlah gambar yang akan dibuat. Nilai defaultnya adalah 4. |
seed |
Opsional. Seed acak untuk pembuatan gambar. Opsi ini tidak tersedia
jika |
safetySetting |
Opsional. Menambahkan tingkat filter ke pemfilteran keamanan. Nilai berikut didukung:
Nilai defaultnya adalah
|
storageUri |
Opsional. URI Cloud Storage untuk menyimpan gambar yang dihasilkan. |
Objek opsi output
Objek outputOptions menjelaskan output gambar.
| Parameter | |
|---|---|
outputOptions.mimeType |
Opsional. Format gambar yang akan digunakan untuk menyimpan output. Nilai berikut didukung:
Nilai defaultnya adalah |
outputOptions.compressionQuality |
Opsional. Tingkat kompresi jika jenis outputnya adalah
|
Permintaan sampel
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
REGION: Region tempat project Anda berada. Untuk mengetahui informasi selengkapnya tentang region yang didukung, lihat Lokasi AI Generatif di Vertex AI. -
PROJECT_ID: Google Cloud Project ID Anda. -
TEXT_PROMPT: Opsional. Perintah teks untuk memandu gambar yang dihasilkan model. Untuk hasil terbaik, gunakan deskripsi area yang ditutupi dan hindari perintah satu kata. Misalnya, gunakan "corgi lucu" bukan "corgi". -
B64_BASE_IMAGE: Gambar yang sedang diedit yang dienkode base64 dan berukuran 10 MB atau kurang. Untuk mengetahui informasi selengkapnya tentang encoding base64, lihat Mengenkode dan mendekode file base64. -
B64_MASK_IMAGE: Gambar mask hitam putih berenkode base64 yang berukuran 10 MB atau kurang. -
MASK_DILATION: Opsional. Nilai float antara 0 dan 1, inklusif, yang merepresentasikan persentase lebar gambar untuk memperbesar mask. Menggunakandilationmembantu mengimbangi mask yang tidak presisi. Sebaiknya tetapkan nilai0.01. -
EDIT_STEPS: Opsional. Bilangan bulat yang mewakili jumlah langkah pengambilan sampel. Nilai yang lebih tinggi menawarkan kualitas gambar yang lebih baik, sedangkan nilai yang lebih rendah menawarkan latensi yang lebih baik.Sebaiknya coba
35langkah untuk memulai. Jika kualitas tidak memenuhi persyaratan Anda, sebaiknya naikkan nilai ke batas atas75. -
SAMPLE_COUNT: Opsional. Bilangan bulat yang menjelaskan jumlah gambar yang akan dibuat. Rentang nilai yang diterima adalah1-4. Nilai defaultnya adalah4.
Metode HTTP dan URL:
POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-3.0-capability-001:predict
Meminta isi JSON:
{
"instances": [
{
"prompt": "TEXT_PROMPT",
"referenceImages": [
{
"referenceType": "REFERENCE_TYPE_RAW",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": "B64_BASE_IMAGE"
}
},
{
"referenceType": "REFERENCE_TYPE_MASK",
"referenceImage": {
"bytesBase64Encoded": "B64_MASK_IMAGE"
},
"maskImageConfig": {
"maskMode": "MASK_MODE_USER_PROVIDED",
"dilation": MASK_DILATION
}
}
]
}
],
"parameters": {
"editConfig": {
"baseSteps": EDIT_STEPS
},
"editMode": "EDIT_MODE_INPAINT_INSERTION",
"sampleCount": SAMPLE_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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/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 | bird |
| 7 | cat |
| 8 | dog |
| 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 | gedung |
| 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 | bed |
| 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 | pagar 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 | car |
| 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.