API rekonteks produk Imagen

Produk Imagen yang dikonteksualisasi ulang di Vertex AI API memungkinkan Anda mengedit gambar produk ke dalam adegan atau latar belakang yang berbeda. Anda memberikan gambar produk dan perintah, lalu Imagen product recontext membuat gambar produk Anda dalam adegan baru atau dengan latar belakang yang berbeda.

Untuk meminta akses ke fitur rekonteks produk Imagen, isi formulir Vertex AI - Permintaan Akses Media Generatif untuk Pemasaran.

Versi model yang didukung

Produk Imagen recontext mendukung model berikut:

  • imagen-product-recontext-preview-06-30

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/MODEL_ID:predict \

-d '{
  "instances": [
    {
      "prompt": string,
      "productImages": [
        // The following fields can be repeated up to 3 times for different
        // views of the same product.
        {
          "image": {
            // Union field can be only one of the following:
            "bytesBase64Encoded": string,
            "gcsUri": string,
            // End of list of possible types for union field.
          },
        }
      ]
    }
  ],
  "parameters": {
    "addWatermark": boolean,
    "enhancePrompt": boolean
    "personGeneration": string,
    "safetySetting": string,
    "sampleCount": integer,
    "seed": integer,
    "storageUri": string,
    "outputOptions": {
      "mimeType": string,
      "compressionQuality": integer
    }
  }
}'

Instance

Instance
prompt

string

Opsional. Perintah teks untuk memandu pembuatan adegan.

productImages

list[productImages]

Daftar hingga tiga ProductImages berbeda dari tampilan yang sama produk. Model menggunakan gambar untuk menempatkan kembali produk ke dalam adegan atau latar belakang yang berbeda.

Objek productImages

Objek productImages menjelaskan aset gambar yang akan ditempatkan ke dalam berbagai adegan atau latar belakang.

productImages

Kolom union image.

Gambar produk untuk imagen-product-recontext-preview-06-30 sebagai input untuk tampilan produk yang berbeda. Setiap gambar dapat berupa string bytesBase64Encoded yang mengenkode gambar atau URI string gcsUri ke lokasi bucket Cloud Storage.

bytesBase64Encoded

string

String berenkode base64 byte dari file gambar atau video.

gcsUri

string

URI string ke lokasi bucket Cloud Storage.

Parameter

Parameter
addWatermark

boolean

Opsional. Menambahkan watermark tak terlihat ke gambar yang dihasilkan.

Nilai defaultnya adalah true.

enhancePrompt

boolean

Opsional. Parameter opsional 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 defaultnya adalah true.

personGeneration

string

Opsional. Izinkan pembuatan gambar orang oleh model. Nilai berikut didukung:

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

Nilai defaultnya adalah "allow_adult".

safetySetting

string

Opsional. Menambahkan tingkat filter ke pemfilteran keamanan. Nilai berikut didukung:

  • "block_low_and_above": Tingkat pemfilteran terkuat, pemblokiran paling ketat. Nilai yang tidak digunakan lagi: "block_most".
  • "block_medium_and_above": Memblokir beberapa perintah dan respons yang bermasalah. Nilai yang tidak digunakan lagi: "block_some".
  • "block_only_high": Mengurangi jumlah permintaan yang diblokir karena filter keamanan. Dapat meningkatkan konten tidak pantas yang dihasilkan oleh Imagen. Nilai yang 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".

sampleCount

int

Jumlah gambar yang akan dibuat.

Nilai bilangan bulat dalam rentang 1-4. Nilai defaultnya adalah 1.

seed

Uint32

Opsional. Seed acak untuk pembuatan gambar. Fitur ini tidak tersedia jika addWatermark ditetapkan ke true.

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

storageUri

string

Opsional. URI string ke lokasi bucket Cloud Storage yang digunakan untuk menyimpan gambar yang dihasilkan. Jika bucket Cloud Storage tidak diberikan, byte gambar berenkode base64 akan ditampilkan dalam respons.

outputOptions

outputOptions

Opsional. Mendeskripsikan format gambar output dalam objek outputOptions.

Objek opsi output

Objek outputOptions menjelaskan output gambar.

Parameter
outputOptions.mimeType

Opsional: string

Format output gambar. Nilai-nilai berikut didukung:

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

Nilai defaultnya adalah "image/png".

outputOptions.compressionQuality

Opsional: int

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

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: ID project Google Cloud Anda.
  • TEXT_PROMPT: Opsional. Perintah teks untuk memandu gambar yang dihasilkan model.
  • BASE64_SUBJECT_IMAGE: Gambar subjek yang dienkode base64.
  • PERSON_SETTING: Opsional: Nilai string yang mengontrol jenis pembuatan orang atau wajah yang diizinkan model. Anda dapat menggunakan nilai berikut untuk personGeneration:
    • "allow_adult": Mengizinkan pembuatan konten dewasa saja, kecuali untuk pembuatan konten selebritas. Pembuatan gambar selebritas tidak diizinkan untuk setelan apa pun. Ini adalah setelan default.
    • "allow_all": Mengizinkan pembuatan gambar orang dari segala usia, kecuali pembuatan gambar selebritas. Pembuatan gambar selebritas tidak diizinkan untuk setelan apa pun.
    • "dont_allow": Tidak mengizinkan pembuatan orang atau wajah dalam output yang dihasilkan.
  • SAFETY_SETTING: Opsional: Nilai string yang mengontrol batas filter keamanan untuk gambar yang dihasilkan. Anda dapat menggunakan nilai berikut untuk memilih setelan keamanan Anda:
    • "block_low_and_above": Nilai minimum keamanan yang paling ketat. "block_low_and_above" memfilter jumlah terbesar gambar yang dihasilkan.
    • "block_medium_and_above": Nilai minimum keamanan sedang, yang menyeimbangkan pemfilteran untuk konten yang berpotensi berbahaya dan aman. "block_medium_and_above" adalah setelan keamanan default.
    • "block_only_high": Nilai minimum keamanan terendah, yang mengurangi jumlah permintaan yang diblokir karena filter keamanan. Menggunakan nilai minimum keamanan "block_only_high" dapat meningkatkan jumlah gambar tidak pantas yang dihasilkan oleh model.
  • WATERMARK_SETTING: Opsional: Boolean. Jika nilai ini ditetapkan ke true, model akan menambahkan watermark digital yang dapat Anda gunakan untuk memverifikasi gambar yang dihasilkan. Nilai defaultnya adalah true.
  • IMAGE_COUNT: Jumlah gambar yang akan dibuat. Rentang nilai yang diterima adalah 1-4.
  • PROMPT_SETTING: Opsional: Boolean. Jika nilai ini disetel ke true, model akan menggunakan perintah yang ditingkatkan. Nilai defaultnya adalah true.

Metode HTTP dan URL:

POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-product-recontext-preview-06-30:predict

Isi JSON permintaan:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "productImages": [
        {
          "image": {
            "bytesBase64Encoded": "BASE64_SUBJECT_IMAGE"
          },
        }
      ]
    }
  ],
  "parameters": {
    "personGeneration": PERSON_SETTING,
    "safetySetting": SAFETY_SETTING,
    "addWatermark": WATERMARK_SETTING,
    "sampleCount": IMAGE_COUNT,
    "enhancePrompt": PROMPT_SETTING
  }
}

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-product-recontext-preview-06-30: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-product-recontext-preview-06-30:predict" | Select-Object -Expand Content
Permintaan ini menampilkan objek gambar. Dalam contoh ini, dua objek gambar ditampilkan, dengan dua objek prediksi sebagai gambar berenkode base64.
{
  "predictions": [
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    },
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    }
  ]
}