Imagen API memungkinkan Anda membuat gambar berkualitas tinggi dalam hitungan detik, menggunakan perintah teks untuk memandu pembuatan. Anda juga dapat meningkatkan resolusi gambar menggunakan Imagen API.
Melihat kartu model Imagen untuk Pembuatan
Model yang Didukung
Model | Kode |
---|---|
Pembuatan Gambar | imagen-3.0-generate-002 imagen-3.0-generate-001 imagen-3.0-fast-generate-001 imagegeneration@006 imagegeneration@005 imagegeneration@002 |
Untuk mengetahui informasi selengkapnya tentang cara setiap model mendukung fitur, lihat Pembuatan versi model.
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("imagen-3.0-generate-001") response = generation_model.generate_images( prompt="...", negative_prompt="...", aspect_ratio=..., ) response.images[0].show()
Daftar parameter
Lihat contoh untuk mengetahui detail penerapan.
Buat gambar
REST
Parameter | |
---|---|
prompt |
Wajib: Perintah teks untuk gambar. Model Model Model Model Model Model |
sampleCount |
Wajib: Jumlah gambar yang akan dibuat. Nilai defaultnya adalah 4. Model Model Model Model Model Model |
seed |
Opsional: Seed acak untuk pembuatan gambar. Ini tidak tersedia jika
|
enhancePrompt |
Opsional: Parameter opsional untuk menggunakan fitur penulisan ulang perintah berbasis LLM guna memberikan gambar berkualitas lebih tinggi yang lebih mencerminkan intent perintah asli. Menonaktifkan fitur ini dapat memengaruhi kualitas gambar dan kepatuhan perintah.
|
negativePrompt |
Opsional: Deskripsi tentang hal yang tidak disarankan dalam gambar yang dihasilkan.
Model Model Model Model Model |
aspectRatio |
Opsional: Rasio aspek untuk gambar. Nilai defaultnya adalah "1:1". Model Model Model Model Model Model |
outputOptions |
Opsional: Menjelaskan format gambar output dalam
objek |
sampleImageStyle |
Opsional: Menjelaskan gaya untuk gambar yang dihasilkan. Nilai berikut didukung:
|
personGeneration |
Opsional: Mengizinkan pembuatan orang berdasarkan model. Nilai berikut didukung:
Nilai defaultnya adalah |
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 output adalah
|
Respons
Isi respons dari permintaan REST.
Parameter | |
---|---|
predictions |
Array
objek |
Objek hasil model generatif Vision
Informasi tentang hasil model.
Parameter | |
---|---|
bytesBase64Encoded |
Gambar yang dihasilkan dan dienkode base64. Tidak ada jika gambar output tidak lulus filter Responsible AI. |
mimeType |
Jenis gambar yang dihasilkan. Tidak ada jika gambar output tidak lulus filter Responsible AI. |
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. Model Model Model Model Model |
number_of_images |
Wajib: Jumlah gambar yang akan dibuat. Nilai default adalah 1. Model Model Model Model Model |
seed |
Opsional: Seed acak untuk pembuatan gambar. Ini tidak tersedia jika
|
negative_prompt |
Opsional: Deskripsi tentang hal yang tidak disarankan dalam gambar yang dihasilkan. Model Model Model Model Model |
aspect_ratio |
Opsional: Rasio aspek untuk gambar. Nilai defaultnya adalah "1:1". Model Model Model |
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: Tambahkan 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: Mengizinkan pembuatan orang berdasarkan model. Nilai berikut didukung:
Nilai defaultnya adalah |
Meningkatkan skala gambar
REST
Parameter | |
---|---|
mode |
Wajib: Harus ditetapkan ke |
upscaleConfig |
Wajib: |
outputOptions |
Opsional: Menjelaskan format gambar output dalam
objek |
storageUri |
Opsional: URI Cloud Storage untuk tempat menyimpan gambar yang dihasilkan. |
Meningkatkan kualitas objek konfigurasi
Parameter | |
---|---|
upscaleConfig.upscaleFactor |
Wajib: Faktor peningkatan kualitas. Nilai yang didukung adalah |
Respons
Isi respons dari permintaan REST.
Parameter | |
---|---|
predictions |
Array
objek |
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
imagegeneration
yang akan digunakan. Nilai yang tersedia:-
Gambar 3:
imagen-3.0-generate-002
(model terbaru)imagen-3.0-generate-001
imagen-3.0-fast-generate-001
- Versi model latensi rendah.
-
Versi model default:
imagegeneration
- Menggunakan versi model default v.006. Sebagai praktik terbaik, Anda harus selalu menentukan versi model, terutama di lingkungan produksi.
Untuk mengetahui informasi selengkapnya tentang versi dan fitur model, lihat versi model.
-
Gambar 3:
- 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.
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 perintah, respons akan menyertakan kolom prompt
tambahan dengan perintah yang ditingkatkan 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, baca 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 untuk 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 ditingkatkan resolusinya. Gambar harus ditentukan sebagai string byte berenkode base64. Batas ukuran: 10 MB.
- IMAGE_SOURCE: Lokasi Cloud Storage gambar yang ingin Anda edit atau tingkatkan resolusinya. Contoh:
gs://output-bucket/source-photos/photo.png
. - UPSCALE_FACTOR: Opsional. Faktor yang akan digunakan untuk meningkatkan skala gambar. Jika tidak ditentukan, faktor peningkatan akan ditentukan dari sisi yang lebih panjang dari 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 selanjutnya
- Untuk mengetahui informasi selengkapnya, lihat ringkasan Imagen di Vertex AI dan Membuat gambar menggunakan perintah teks.