Buat gambar

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: string

Perintah teks untuk gambar.

Model imagen-3.0-generate-002 mendukung hingga 480 token.

Model imagen-3.0-generate-001 mendukung hingga 480 token.

Model imagen-3.0-fast-generate-001 mendukung hingga 480 token.

Model imagegeneration@006 mendukung hingga 128 token.

Model imagegeneration@005 mendukung hingga 128 token.

Model imagegeneration@002 mendukung hingga 64 token.

sampleCount

Wajib: int

Jumlah gambar yang akan dibuat. Nilai defaultnya adalah 4.

Model imagen-3.0-generate-002 mendukung nilai 1 hingga 4.

Model imagen-3.0-generate-001 mendukung nilai 1 hingga 4.

Model imagen-3.0-fast-generate-001 mendukung nilai 1 hingga 4.

Model imagegeneration@006 mendukung nilai 1 hingga 4.

Model imagegeneration@005 mendukung nilai 1 hingga 4.

Model imagegeneration@002 mendukung nilai 1 hingga 8.

seed

Opsional: Uint32

Seed acak untuk pembuatan gambar. Ini tidak tersedia jika addWatermark ditetapkan ke true.

Jika enhancePrompt ditetapkan ke true, parameter seed tidak akan berfungsi, karena enhancePrompt menghasilkan perintah baru, yang menghasilkan gambar baru atau berbeda.

enhancePrompt

Opsional: boolean

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.

imagen-3.0-generate-002 mendukung kolom ini. Nilai default: true.

imagen-3.0-generate-001 tidak mendukung kolom ini.

imagen-3.0-fast-generate-001 tidak mendukung kolom ini.

imagegeneration@006 tidak mendukung kolom ini.

imagegeneration@005 tidak mendukung kolom ini.

imagegeneration@002 tidak mendukung kolom ini.

negativePrompt

Opsional: string

Deskripsi tentang hal yang tidak disarankan dalam gambar yang dihasilkan.

imagen-3.0-generate-002 tidak mendukung kolom ini.

Model imagen-3.0-generate-001 mendukung hingga 480 token.

Model imagen-3.0-fast-generate-001 mendukung hingga 480 token.

Model imagegeneration@006 mendukung hingga 128 token.

Model imagegeneration@005 mendukung hingga 128 token.

Model imagegeneration@002 mendukung hingga 64 token.

aspectRatio

Opsional: string

Rasio aspek untuk gambar. Nilai defaultnya adalah "1:1".

Model imagen-3.0-generate-002 mendukung "1:1", "9:16", "16:9", "3:4", atau "4:3".

Model imagen-3.0-generate-001 mendukung "1:1", "9:16", "16:9", "3:4", atau "4:3".

Model imagen-3.0-fast-generate-001 mendukung "1:1", "9:16", "16:9", "3:4", atau "4:3".

Model imagegeneration@006 mendukung "1:1", "9:16", "16:9", "3:4", atau "4:3".

Model imagegeneration@005 mendukung "1:1" atau "9:16".

Model imagegeneration@002 mendukung "1:1".

outputOptions

Opsional: outputOptions

Menjelaskan format gambar output dalam objek outputOptions.

sampleImageStyle

Opsional: string (khusus imagegeneration@002)

Menjelaskan gaya untuk gambar yang dihasilkan. Nilai berikut didukung:

  • "photograph"
  • "digital_art"
  • "landscape"
  • "sketch"
  • "watercolor"
  • "cyberpunk"
  • "pop_art"
personGeneration

Opsional: string (khusus imagen-3.0-generate-002, imagen-3.0-generate-001, imagen-3.0-fast-generate-001, dan imagegeneration@006)

Mengizinkan pembuatan orang berdasarkan model. Nilai berikut didukung:

  • "dont_allow": Tidak mengizinkan penyertaan orang atau wajah dalam gambar.
  • "allow_adult": Hanya mengizinkan pembuatan orang dewasa.
  • "allow_all": Mengizinkan pembuatan orang dari segala usia.

Nilai defaultnya adalah "allow_adult".

safetySetting

Opsional: string (khusus imagen-3.0-generate-002, imagen-3.0-generate-001, imagen-3.0-fast-generate-001, dan imagegeneration@006)

Menambahkan tingkat filter ke pemfilteran keamanan. Nilai berikut didukung:

  • "block_low_and_above": Tingkat pemfilteran terkuat, pemblokiran paling ketat. Nilai tidak digunakan lagi: "block_most".
  • "block_medium_and_above": Memblokir beberapa perintah dan respons yang bermasalah. Nilai tidak digunakan lagi: "block_some".
  • "block_only_high": Mengurangi jumlah permintaan yang diblokir karena filter keamanan. Dapat meningkatkan konten yang tidak pantas yang dihasilkan oleh Imagen. Nilai tidak digunakan lagi: "block_few".
  • "block_none": Memblokir sangat sedikit perintah dan respons yang bermasalah. Akses ke fitur ini dibatasi. Nilai kolom sebelumnya: "block_fewest".

Nilai defaultnya adalah "block_medium_and_above".

addWatermark

Opsional: bool

Menambahkan watermark tak terlihat ke gambar yang dihasilkan. Nilai defaultnya adalah false untuk model imagegeneration@002 dan imagegeneration@005, serta true untuk model imagen-3.0-generate-002, imagen-3.0-generate-001, imagen-3.0-fast-generate-001, imagegeneration@006, dan imagegeneration@006.

storageUri

Opsional: string

URI Cloud Storage untuk menyimpan gambar yang dihasilkan.

Objek opsi output

Objek outputOptions menjelaskan output gambar.

Parameter
outputOptions.mimeType

Opsional: string

Format gambar yang akan digunakan untuk menyimpan output. Nilai berikut didukung:

  • "image/png": Menyimpan sebagai gambar PNG
  • "image/jpeg": Simpan sebagai gambar JPEG

Nilai defaultnya adalah "image/png".

outputOptions.compressionQuality

Opsional: int

Tingkat kompresi jika jenis output adalah "image/jpeg". Nilai yang diterima adalah 0 hingga 100. Nilai defaultnya adalah 75.

Respons

Isi respons dari permintaan REST.

Parameter
predictions

Array objek VisionGenerativeModelResult, satu untuk setiap sampleCount yang diminta. Jika ada gambar yang difilter oleh Responsible AI, gambar tersebut tidak akan disertakan, kecuali jika includeRaiReason ditetapkan ke true.

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 includeRaiReason diaktifkan dan gambar ini difilter keluar.

safetyAttributes.categories

Nama atribut keamanan. Hanya ditampilkan jika includeSafetyAttributes diaktifkan, dan gambar output lulus filter Responsible AI.

safetyAttributes.scores

Skor atribut keamanan. Hanya ditampilkan jika includeSafetyAttributes diaktifkan, dan gambar output lulus filter Responsible AI.

Python

Parameter
prompt

Wajib: string

Perintah teks untuk gambar.

Model imagen-3.0-generate-001 mendukung hingga 480 token.

Model imagen-3.0-fast-generate-001 mendukung hingga 480 token.

Model imagegeneration@006 mendukung hingga 128 token.

Model imagegeneration@005 mendukung hingga 128 token.

Model imagegeneration@002 mendukung hingga 64 token.

number_of_images

Wajib: int

Jumlah gambar yang akan dibuat. Nilai default adalah 1.

Model imagen-3.0-generate-001 mendukung nilai 1 hingga 8.

Model imagen-3.0-fast-generate-001 mendukung nilai 1 hingga 8.

Model imagegeneration@006 mendukung nilai 1 hingga 4.

Model imagegeneration@005 mendukung nilai 1 hingga 4.

Model imagegeneration@002 mendukung nilai 1 hingga 8.

seed

Opsional: int

Seed acak untuk pembuatan gambar. Ini tidak tersedia jika addWatermark ditetapkan ke true.

Jika enhancePrompt ditetapkan ke true, seed tidak akan berfungsi, karena enhancePrompt menghasilkan perintah baru, yang menghasilkan gambar baru atau berbeda.

negative_prompt

Opsional: string

Deskripsi tentang hal yang tidak disarankan dalam gambar yang dihasilkan.

Model imagen-3.0-generate-001 mendukung hingga 480 token.

Model imagen-3.0-fast-generate-001 mendukung hingga 480 token.

Model imagegeneration@006 mendukung hingga 128 token.

Model imagegeneration@005 mendukung hingga 128 token.

Model imagegeneration@002 mendukung hingga 64 token.

aspect_ratio

Opsional: string

Rasio aspek untuk gambar. Nilai defaultnya adalah "1:1".

Model imagen-3.0-generate-001 mendukung "1:1", "9:16", "16:9", "3:4", atau "4:3".

Model imagen-3.0-fast-generate-001 mendukung "1:1", "9:16", "16:9", "3:4", atau "4:3".

Model imagegeneration@006 mendukung "1:1", "9:16", "16:9", "3:4", atau "4:3".

output_mime_type

Opsional: string (khusus imagen-3.0-generate-001, imagen-3.0-fast-generate-001, dan imagegeneration@006)

Format gambar yang akan digunakan untuk menyimpan output. Nilai berikut didukung:

  • "image/png": Menyimpan sebagai gambar PNG
  • "image/jpeg": Simpan sebagai gambar JPEG

Nilai defaultnya adalah "image/png".

compression_quality

Opsional: int

Tingkat kompresi jika jenis mime output adalah "image/jpeg". Nilai defaultnya adalah 75.

language

Opsional: string

Bahasa perintah teks untuk gambar. Nilai berikut didukung:

  • "en": Inggris
  • "hi": Hindi
  • "ja": Jepang
  • "ko": Korea
  • "auto": Deteksi bahasa otomatis

Nilai defaultnya adalah "auto".

output_gcs_uri

Opsional: string

URI Cloud Storage untuk menyimpan gambar yang dihasilkan.

add_watermark

Opsional: bool

Tambahkan watermark ke gambar yang dihasilkan. Nilai defaultnya adalah false untuk model imagegeneration@002 dan imagegeneration@005, serta true untuk model imagen-3.0-fast-generate-001, imagen-3.0-generate-001, dan imagegeneration@006.

safety_filter_level

Opsional: string

Menambahkan tingkat filter ke pemfilteran keamanan. Nilai berikut didukung:

  • "block_low_and_above": Tingkat pemfilteran terkuat, yang menghasilkan pemblokiran paling ketat. Nilai tidak digunakan lagi: "block_most".
  • "block_medium_and_above": Memblokir beberapa perintah dan respons yang bermasalah. Nilai tidak digunakan lagi: "block_some".
  • "block_only_high": Memblokir lebih sedikit perintah dan respons yang bermasalah. Nilai tidak digunakan lagi: "block_few".
  • "block_none": Memblokir sangat sedikit perintah dan respons yang bermasalah. Nilai tidak digunakan lagi: "block_fewest".

Nilai defaultnya adalah "block_medium_and_above".

person_generation

Opsional: string (khusus imagen-3.0-generate-001, imagen-3.0-fast-generate-001, dan imagegeneration@006)

Mengizinkan pembuatan orang berdasarkan model. Nilai berikut didukung:

  • "dont_allow": Memblokir pembuatan orang
  • "allow_adult": Membuat orang dewasa, tetapi tidak membuat anak-anak
  • "allow_all": Membuat orang dewasa dan anak-anak

Nilai defaultnya adalah "allow_adult".

Meningkatkan skala gambar

REST

Parameter
mode

Wajib: string

Harus ditetapkan ke "upscale" untuk permintaan penskalaan.

upscaleConfig

Wajib: UpscaleConfig

Objek UpscaleConfig.

outputOptions

Opsional: OutputOptions

Menjelaskan format gambar output dalam objek outputOptions.

storageUri

Opsional: string

URI Cloud Storage untuk tempat menyimpan gambar yang dihasilkan.

Meningkatkan kualitas objek konfigurasi

Parameter
upscaleConfig.upscaleFactor

Wajib: string

Faktor peningkatan kualitas. Nilai yang didukung adalah "x2" dan "x4".

Respons

Isi respons dari permintaan REST.

Parameter
predictions

Array objek VisionGenerativeModelResult, satu untuk setiap sampleCount yang diminta. Jika ada gambar yang difilter oleh Responsible AI, gambar tersebut tidak akan disertakan, kecuali jika 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 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.

  • LOCATION: Region project Anda. Misalnya, us-central1, europe-west2, atau asia-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.
  • 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 daftar lengkap. Untuk mengetahui informasi selengkapnya tentang parameter opsional, lihat Referensi Imagen API: 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"
    }
    
    • ADD_WATERMARK: boolean. Opsional. Apakah akan mengaktifkan watermark untuk gambar yang dihasilkan. Setiap gambar yang dihasilkan saat kolom ditetapkan ke true berisi SynthID digital yang dapat Anda gunakan untuk memverifikasi gambar yang diberi watermark. Jika Anda menghapus kolom ini, nilai default true akan digunakan; Anda harus menetapkan nilai ke false untuk menonaktifkan fitur ini. Anda dapat menggunakan kolom seed untuk mendapatkan output deterministik hanya jika kolom ini ditetapkan ke false.
    • ASPECT_RATIO: string. Opsional. Parameter mode pembuatan yang mengontrol rasio lebar tinggi. Nilai rasio yang didukung dan penggunaannya:
      • 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 memberikan gambar berkualitas lebih tinggi yang lebih mencerminkan intent perintah asli. Menonaktifkan fitur ini dapat memengaruhi kualitas gambar dan kepatuhan 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: false.
    • 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 keselamatan: "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 hingga 100, dengan angka yang lebih tinggi berarti lebih banyak kompresi. Default: 75.
    • PERSON_SETTING: string. Opsional. Setelan keamanan yang mengontrol jenis orang atau pembuatan wajah yang diizinkan model. Nilai yang tersedia:
      • allow_adult (default): Mengizinkan pembuatan orang dewasa saja, kecuali untuk pembuatan selebritas. Pembuatan 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 nilai minimum filter keamanan untuk gambar yang dihasilkan. Nilai yang tersedia:
      • block_low_and_above: Batas keamanan tertinggi, yang menghasilkan jumlah terbesar gambar yang dihasilkan 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 yang tidak pantas yang dihasilkan 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 menetapkan "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 yang dienkode base64 akan ditampilkan dalam respons. Contoh nilai: gs://image-bucket/output/.

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
Contoh respons berikut adalah untuk permintaan dengan "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, 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 untuk menggunakan metode show() di notebook untuk menampilkan gambar yang dihasilkan. Untuk mengetahui informasi selengkapnya tentang versi dan fitur model, lihat versi model.


import vertexai
from vertexai.preview.vision_models import ImageGenerationModel

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# output_file = "input-image.png"
# prompt = "" # The text prompt describing what you want to see.

vertexai.init(project=PROJECT_ID, location="us-central1")

model = ImageGenerationModel.from_pretrained("imagen-3.0-generate-002")

images = model.generate_images(
    prompt=prompt,
    # Optional parameters
    number_of_images=1,
    language="en",
    # You can't use a seed value and watermark at the same time.
    # add_watermark=False,
    # seed=100,
    aspect_ratio="1:1",
    safety_filter_level="block_some",
    person_generation="allow_adult",
)

images[0].save(location=output_file, include_generation_parameters=False)

# Optional. View the generated image in a notebook.
# images[0].show()

print(f"Created output image using {len(images[0]._image_bytes)} bytes")
# Example response:
# Created output image using 1234567 bytes

Meningkatkan skala gambar

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION: Region project Anda. Misalnya, us-central1, europe-west2, atau asia-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 atau x4 .

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