Menghilangkan konten menggunakan perintah negatif

Coba Imagen di Colab

Halaman ini menjelaskan cara menghilangkan konten dari gambar yang dibuat oleh Imagen di Vertex AI.

Perintah negatif adalah deskripsi tentang hal yang ingin Anda hapus dalam gambar yang dibuat. Misalnya, perintah "jalanan kota di malam hari saat turun hujan tanpa satu orang pun". Model dapat menafsirkan "orang" sebagai perintah untuk menyertakan, bukan menghilangkan. Untuk memberikan hasil yang lebih baik, Anda dapat menggunakan perintah "jalanan kota di malam hari saat turun hujan" dengan perintah negatif "orang".

Imagen membuat gambar ini dengan dan tanpa dialog negatif:

Khusus perintah teks

  • Perintah teks: "pizza"

tiga contoh gambar pizza

Perintah teks dan perintah negatif

  • Perintah teks: "pizza"
  • Perintah negatif: "pepperoni"

tiga contoh gambar pizza tanpa pepperoni

Model berikut mendukung prompt negatif:

  • imagen-3.0-capability-001
  • imagen-3.0-fast-generate-001
  • imagen-3.0-generate-001

Menggunakan perintah negatif

Untuk menghilangkan konten dari gambar yang dihasilkan, lakukan hal berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Vertex AI > Media Studio.

    Buka Media Studio

  2. Klik Imagen. Halaman pembuatan gambar Imagen Media Studio akan ditampilkan.

  3. Di panel Setelan, sesuaikan opsi berikut:

    • Model: Pilih model dari opsi yang tersedia.

      Untuk mengetahui informasi selengkapnya tentang model yang tersedia, lihat Model Imagen

    • Jumlah hasil: Sesuaikan penggeser atau masukkan nilai antara 1 dan 4.

    • Di kotak Negative prompt, masukkan perintah yang menjelaskan hal yang tidak ingin Anda hasilkan dalam gambar.

  4. Di kotak Tulis perintah Anda, masukkan perintah teks yang menjelaskan gambar yang akan dibuat. Misalnya, ilustrasi cat air perahu kecil di atas air pada pagi hari.

    Untuk mengetahui detail informasi selengkapnya tentang cara menulis perintah yang efektif, lihat Panduan atribut perintah dan gambar.

  5. Klik Buat.

REST

Prompt negatif adalah kolom opsional dalam objek parameters dari isi permintaan JSON.

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, 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 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"
    }
    
    • 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 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 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 hingga 100, 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 gambar khusus dewasa, kecuali pembuatan gambar 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/.

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 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"
    }
  ]
}

  1. Ganti kode berikut:

    • NEGATIVE_PROMPT: Perintah negatif untuk membantu membuat gambar. Misalnya: "hewan" (menghapus hewan), "blur" (memperjelas gambar), "teks" (menghapus teks), atau "terpangkas" (menghapus gambar yang dipangkas).
    {
      "instances": [
        ...
      ],
      "parameters": {
        "sampleCount": IMAGE_COUNT,
        "negativePrompt": "NEGATIVE_PROMPT"
      }
    }
    

Langkah berikutnya