Imagen API memungkinkan Anda membuat gambar berkualitas tinggi dalam hitungan detik, menggunakan perintah teks untuk memandu pembuatan. Anda juga dapat meningkatkan skala gambar menggunakan Imagen API.
Melihat kartu model Imagen untuk Pembuatan Gambar
Model yang Didukung
Imagen API mendukung model berikut:
imagen-4.0-generate-preview-06-06
(Pratinjau)imagen-4.0-fast-generate-preview-06-06
(Pratinjau)imagen-4.0-ultra-generate-preview-06-06
(Pratinjau)imagen-3.0-generate-002
imagen-3.0-generate-001
imagen-3.0-fast-generate-001
imagen-3.0-capability-001
imagegeneration@006
imagegeneration@005
imagegeneration@002
Untuk mengetahui informasi selengkapnya tentang fitur yang didukung setiap model, lihat Model Imagen.
Contoh sintaksis
Sintaksis untuk membuat gambar dari perintah teks.
Sintaks
Sintaksis untuk membuat 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/${MODEL_VERSION}:predict \ -d '{ "instances": [ { "prompt": "..." } ], "parameters": { "sampleCount": ... } }'
Python
generation_model = ImageGenerationModel.from_pretrained("MODEL_VERSION") response = generation_model.generate_images( prompt="...", negative_prompt="...", aspect_ratio=..., ) response.images[0].show()
Daftar parameter
Lihat contoh untuk mengetahui detail implementasi.
Buat gambar
REST
Parameter | |
---|---|
prompt |
Wajib. Perintah teks untuk gambar. |
sampleCount |
Wajib. Jumlah gambar yang akan dibuat. Nilai defaultnya adalah 4. |
seed |
Opsional. Seed acak untuk pembuatan gambar. Fitur ini tidak tersedia
jika
Jika |
enhancePrompt |
Opsional. Parameter opsional untuk menggunakan fitur penulisan ulang perintah berbasis LLM untuk menghasilkan gambar berkualitas lebih tinggi yang lebih mencerminkan maksud perintah asli. Menonaktifkan fitur ini dapat memengaruhi kualitas gambar dan kepatuhan perintah. |
negativePrompt |
Opsional. Deskripsi tentang hal yang tidak boleh ada dalam gambar yang dihasilkan.
|
aspectRatio |
Opsional. Rasio aspek gambar. Nilai defaultnya adalah "1:1". |
outputOptions |
Opsional. Mendeskripsikan format gambar output dalam objek |
sampleImageStyle |
Opsional. Menjelaskan gaya untuk gambar yang dihasilkan. Nilai berikut didukung:
|
personGeneration |
Opsional. Izinkan pembuatan gambar orang oleh model. Nilai berikut didukung:
Nilai defaultnya adalah |
language |
Opsional. Kode bahasa yang sesuai dengan bahasa perintah teks Anda. Nilai-nilai berikut didukung:
|
safetySetting |
Opsional. Menambahkan tingkat filter ke pemfilteran keamanan. Nilai berikut didukung:
Nilai defaultnya adalah |
addWatermark |
Opsional. Menambahkan watermark tak terlihat ke gambar yang dihasilkan.
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
|
Respons
Isi respons dari permintaan REST.
Parameter | |
---|---|
predictions |
Array objek VisionGenerativeModelResult , satu untuk setiap sampleCount yang diminta. Jika ada
gambar yang difilter oleh AI bertanggung jawab, gambar tersebut tidak disertakan, kecuali
includeRaiReason ditetapkan ke true .
|
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. |
raiFilteredReason |
Alasan filter responsible AI. Hanya ditampilkan jika
|
safetyAttributes.categories |
Nama atribut keamanan. Hanya ditampilkan jika
|
safetyAttributes.scores |
Skor atribut keamanan. Hanya ditampilkan jika
|
Python
Parameter | |
---|---|
prompt |
Wajib. Perintah teks untuk gambar. |
number_of_images |
Wajib. Jumlah gambar yang akan dibuat. Nilai default adalah 1. |
seed |
Opsional. Seed acak untuk pembuatan gambar. Fitur ini tidak tersedia
jika Jika |
negative_prompt |
Opsional. Deskripsi tentang hal yang tidak boleh ada dalam gambar yang dihasilkan.
|
aspect_ratio |
Opsional. Rasio aspek gambar. Nilai defaultnya adalah "1:1". |
output_mime_type |
Opsional. Format gambar yang akan digunakan untuk menyimpan output. Nilai berikut didukung:
Nilai defaultnya adalah |
compression_quality |
Opsional. Tingkat kompresi jika jenis MIME output adalah
|
language |
Opsional. Bahasa perintah teks untuk gambar. Nilai berikut didukung:
Nilai defaultnya adalah |
output_gcs_uri |
Opsional. URI Cloud Storage untuk menyimpan gambar yang dihasilkan. |
add_watermark |
Opsional. Menambahkan watermark ke gambar yang dihasilkan.
Nilai defaultnya adalah
|
safety_filter_level |
Opsional. Menambahkan tingkat filter ke pemfilteran keamanan. Nilai berikut didukung:
Nilai defaultnya adalah |
person_generation |
Opsional. Izinkan pembuatan gambar orang oleh model. Nilai berikut didukung:
Nilai defaultnya adalah |
Meningkatkan skala gambar
REST
Parameter | |
---|---|
mode |
Wajib. Harus disetel ke |
upscaleConfig |
Wajib. Objek |
outputOptions |
Opsional. Mendeskripsikan format gambar output dalam objek |
storageUri |
Opsional. URI Cloud Storage untuk tempat menyimpan gambar yang dihasilkan. |
Objek konfigurasi peningkatan kualitas
Parameter | |
---|---|
upscaleConfig.upscaleFactor |
Wajib. Faktor peningkatan kualitas. Nilai yang didukung adalah
|
Respons
Isi respons dari permintaan REST.
Parameter | |
---|---|
predictions |
Array objek VisionGenerativeModelResult , satu untuk setiap sampleCount yang diminta. Jika ada
gambar yang difilter oleh AI bertanggung jawab, gambar tersebut tidak disertakan, kecuali
includeRaiReason ditetapkan ke true .
|
Contoh
Contoh berikut menunjukkan cara menggunakan model Imagen untuk membuat gambar.
Buat gambar
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Google Cloud Project ID Anda.
-
MODEL_VERSION: Versi model Imagen yang akan digunakan. Untuk mengetahui informasi selengkapnya tentang model yang tersedia, lihat Model Imagen.
- 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 yang memandu gambar yang dihasilkan model. Kolom ini wajib diisi untuk pembuatan dan pengeditan.
- IMAGE_COUNT: Jumlah gambar yang dihasilkan.
Nilai bilangan bulat yang diterima: 1-8 (
imagegeneration@002
), 1-4 (semua versi model lainnya). Nilai default: 4. - ADD_WATERMARK: boolean. Opsional. Apakah akan mengaktifkan watermark untuk gambar yang dihasilkan.
Gambar apa pun yang dihasilkan saat kolom disetel ke
true
berisi SynthID digital yang dapat Anda gunakan untuk memverifikasi gambar yang diberi watermark. Jika Anda menghapus kolom ini, nilai defaulttrue
akan digunakan; Anda harus menetapkan nilai kefalse
untuk menonaktifkan fitur ini. Anda dapat menggunakan kolomseed
untuk mendapatkan output deterministik hanya jika kolom ini ditetapkan kefalse
. - ASPECT_RATIO: string. Opsional. Parameter mode pembuatan yang mengontrol rasio
aspek. Nilai rasio yang didukung dan penggunaan yang dimaksudkan:
1:1
(default, persegi)3:4
(Iklan, media sosial)4:3
(TV, fotografi)16:9
(lanskap)9:16
(potret)
- ENABLE_PROMPT_REWRITING: boolean. Opsional. Parameter untuk menggunakan fitur penulisan ulang perintah berbasis LLM
guna menghasilkan gambar berkualitas lebih tinggi yang lebih mencerminkan maksud
perintah asli. Menonaktifkan fitur ini dapat memengaruhi kualitas gambar dan kepatuhan terhadap perintah. Nilai default:
true
. -
INCLUDE_RAI_REASON: boolean. Opsional. Apakah akan mengaktifkan kode alasan yang difilter Responsible AI dalam respons dengan input atau output yang diblokir. Nilai default:
true
. - INCLUDE_SAFETY_ATTRIBUTES: boolean. Opsional. Apakah akan mengaktifkan skor Responsible AI yang dibulatkan untuk daftar atribut keamanan dalam respons untuk input dan output yang tidak difilter. Kategori atribut keamanan:
"Death, Harm & Tragedy"
,"Firearms & Weapons"
,"Hate"
,"Health"
,"Illicit Drugs"
,"Politics"
,"Porn"
,"Religion & Belief"
,"Toxic"
,"Violence"
,"Vulgarity"
,"War & Conflict"
. Nilai default:false
. - MIME_TYPE: string. Opsional. Jenis MIME konten gambar. Nilai
yang tersedia:
image/jpeg
image/gif
image/png
image/webp
image/bmp
image/tiff
image/vnd.microsoft.icon
- COMPRESSION_QUALITY: bilangan bulat. Opsional. Hanya berlaku untuk file output JPEG. Tingkat detail yang dipertahankan model untuk gambar yang dihasilkan dalam format file JPEG. Nilai:
0
hingga100
, dengan angka yang lebih tinggi berarti kompresi yang lebih besar. Default:75
. - PERSON_SETTING: string. Opsional. Setelan keamanan yang mengontrol jenis orang atau pembuatan wajah yang diizinkan oleh model. Nilai yang tersedia:
allow_adult
(default): Mengizinkan pembuatan konten khusus dewasa, kecuali pembuatan konten selebritas. Pembuatan gambar selebritas tidak diizinkan untuk setelan apa pun.dont_allow
: Menonaktifkan penyertaan orang atau wajah dalam gambar yang dihasilkan.
- SAFETY_SETTING: string. Opsional. Setelan yang mengontrol batas filter keamanan
untuk gambar yang dihasilkan. Nilai yang tersedia:
block_low_and_above
: Nilai minimum keamanan tertinggi, sehingga menghasilkan jumlah gambar yang dihasilkan paling banyak yang difilter. Nilai sebelumnya:block_most
.block_medium_and_above
(default): Batas keamanan sedang yang menyeimbangkan pemfilteran untuk konten yang berpotensi berbahaya dan aman. Nilai sebelumnya:block_some
.block_only_high
: Batas keamanan yang mengurangi jumlah permintaan yang diblokir karena filter keamanan. Setelan ini dapat meningkatkan konten tidak pantas yang dibuat oleh Imagen. Nilai sebelumnya:block_few
.
- SEED_NUMBER: bilangan bulat. Opsional. Bilangan bulat non-negatif yang Anda berikan untuk membuat gambar output menjadi deterministik. Memberikan nomor seed yang sama akan selalu menghasilkan gambar output yang sama. Jika
model yang Anda gunakan mendukung watermark digital, Anda harus menyetel
"addWatermark": false
untuk menggunakan kolom ini. Nilai bilangan bulat yang diterima:1
-2147483647
. - OUTPUT_STORAGE_URI: string. Opsional. Bucket Cloud Storage untuk menyimpan gambar output. Jika tidak diberikan, byte gambar berenkode base64 akan ditampilkan dalam respons. Contoh nilai:
gs://image-bucket/output/
.
Parameter opsional tambahan
Gunakan variabel opsional berikut bergantung pada kasus
penggunaan Anda. Tambahkan beberapa atau semua parameter berikut dalam objek "parameters": {}
.
Daftar ini menampilkan parameter opsional umum dan tidak dimaksudkan untuk menjadi lengkap. Untuk mengetahui informasi selengkapnya tentang parameter opsional, lihat Referensi API Imagen: Membuat gambar.
"parameters": { "sampleCount": IMAGE_COUNT, "addWatermark": ADD_WATERMARK, "aspectRatio": "ASPECT_RATIO", "enhancePrompt": ENABLE_PROMPT_REWRITING, "includeRaiReason": INCLUDE_RAI_REASON, "includeSafetyAttributes": INCLUDE_SAFETY_ATTRIBUTES, "outputOptions": { "mimeType": "MIME_TYPE", "compressionQuality": COMPRESSION_QUALITY }, "personGeneration": "PERSON_SETTING", "safetySetting": "SAFETY_SETTING", "seed": SEED_NUMBER, "storageUri": "OUTPUT_STORAGE_URI" }
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_VERSION:predict
Isi JSON permintaan:
{ "instances": [ { "prompt": "TEXT_PROMPT" } ], "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/MODEL_VERSION: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/MODEL_VERSION: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" } ] }
Jika Anda menggunakan model yang mendukung peningkatan kualitas perintah, respons akan menyertakan kolom prompt
tambahan dengan perintah yang ditingkatkan kualitasnya yang digunakan untuk pembuatan:
{ "predictions": [ { "mimeType": "MIME_TYPE", "prompt": "ENHANCED_PROMPT_1", "bytesBase64Encoded": "BASE64_IMG_BYTES_1" }, { "mimeType": "MIME_TYPE", "prompt": "ENHANCED_PROMPT_2", "bytesBase64Encoded": "BASE64_IMG_BYTES_2" } ] }
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Python Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Dalam contoh ini, Anda memanggil metode generate_images
pada
ImageGenerationModel
(versi @006
) dan menyimpan gambar yang dihasilkan secara lokal. Kemudian, Anda dapat memilih menggunakan metode show()
di notebook untuk menampilkan gambar yang dihasilkan. Untuk mengetahui informasi selengkapnya tentang
versi dan fitur model, lihat versi model.
Meningkatkan skala gambar
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION: Region project Anda. Misalnya,
us-central1
,europe-west2
, atauasia-northeast3
. Untuk mengetahui daftar region yang tersedia, lihat Lokasi AI Generatif di Vertex AI. - PROJECT_ID: Google Cloud Project ID Anda.
- B64_BASE_IMAGE: Gambar dasar yang akan diedit atau di-upscale. Gambar harus ditentukan sebagai string byte berenkode base64. Batas ukuran: 10 MB.
- IMAGE_SOURCE: Lokasi Cloud Storage gambar yang ingin Anda edit atau tingkatkan kualitasnya. Contoh:
gs://output-bucket/source-photos/photo.png
. - UPSCALE_FACTOR: Opsional. Faktor peningkatan skala gambar. Jika tidak ditentukan, faktor peningkatan kualitas akan ditentukan dari sisi terpanjang gambar input dan
sampleImageSize
. Nilai yang tersedia:x2
ataux4
.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagegeneration@002:predict
Isi JSON permintaan:
{ "instances": [ { "prompt": "", "image": { // use one of the following to specify the image to upscale "bytesBase64Encoded": "B64_BASE_IMAGE" "gcsUri": "IMAGE_SOURCE" // end of base image input options }, } ], "parameters": { "sampleCount": 1, "mode": "upscale", "upscaleConfig": { "upscaleFactor": "UPSCALE_FACTOR" } } }
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/imagegeneration@002: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/imagegeneration@002:predict" | Select-Object -Expand Content
Anda akan melihat respons JSON yang mirip dengan berikut ini:
{ "predictions": [ { "mimeType": "image/png", "bytesBase64Encoded": "iVBOR..[base64-encoded-upscaled-image]...YII=" } ] }
Langkah berikutnya
- Untuk mengetahui informasi selengkapnya, lihat Ringkasan Imagen di Vertex AI dan Membuat gambar menggunakan perintah teks.