Mengedit gambar menggunakan perintah teks

Halaman ini menjelaskan pengeditan tanpa mask menggunakan perintah teks saja. Pengeditan tanpa mask memungkinkan Anda mengedit gambar tanpa mask. Metode pengeditan ini berguna untuk pengeditan yang berkaitan dengan seluruh gambar, atau jika lokasi pengeditan tidak terlalu penting untuk kasus penggunaan Anda.

Contoh pengeditan bebas mask (seluruh gambar)

Anda dapat mengedit gambar dasar (yang dibuat atau diupload) hanya menggunakan perintah teks. Anda tidak perlu menentukan area yang ingin diubah, dan perubahan diterapkan ke seluruh gambar (juga disebut pengeditan bebas mask).

Untuk melakukan pengeditan bebas mask, gunakan perintah yang menjelaskan hal yang ingin Anda lihat, bukan petunjuk tentang hal yang harus diubah. Misalnya, pertimbangkan gambar kucing yang sudah ada yang ingin Anda ubah menjadi. Perintah pengeditan bebas mask dari "seekor" mungkin lebih efektif daripada "ubah kucing menjadi seekor". Demikian pula, pertimbangkan gambar yang Anda buat dengan perintah "seekor kucing di pantai". Untuk mengubah gambar ini, gunakan perintah pengeditan " di pantai".

Gambar kucing asli di samping gambar anjing yang diedit
Gambar asli (kiri): Cédric VT di Unsplash.
Gambar yang diedit (kanan): Gambar yang dibuat menggunakan Imagen di Vertex AI dengan gambar dasar asli dan perintah: seekor anjing.

Melihat kartu model Imagen untuk Pengeditan dan Penyesuaian

Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the API

  8. Siapkan autentikasi untuk lingkungan Anda.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    Python

    Untuk menggunakan contoh Python di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

    1. Install the Google Cloud CLI.

    2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    3. To initialize the gcloud CLI, run the following command:

      gcloud init
    4. If you're using a local shell, then create local authentication credentials for your user account:

      gcloud auth application-default login

      You don't need to do this if you're using Cloud Shell.

      If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud .

    REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

      After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .

    Menggunakan pengeditan tanpa mask

    Gunakan contoh berikut untuk mengedit seluruh gambar tanpa area mask.

    Konsol

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

      Buka Media Studio
    2. Di panel tugas di bagian bawah, klik Edit gambar.
    3. Buka layar Edit image.

      Mengedit gambar yang dibuat

      1. Buat gambar menggunakan perintah teks
      2. Klik gambar yang dihasilkan.
      3. Klik Edit image.

      Mengedit gambar yang diupload

      1. Klik Upload an image.
      2. Pilih file lokal yang akan diedit.
    4. Masukkan perintah baru untuk mengubah gambar.

    5. Opsional. Ubah semua Parameter.
    6. Klik Buat.

      Contoh gambar pengeditan yang hanya menggunakan teks
      Tampilan Edit image dari sebuah gambar yang diedit dengan Imagen di Vertex AI dari perintah: kue matcha. Gambar asli ditampilkan di kanan atas. Kredit gambar asli: David Holifield di Unsplash (ditampilkan di Google Cloud konsol).

    Python

    Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Python.

    Dalam contoh ini, Anda menggunakan metode load_from_file untuk mereferensikan file lokal sebagai Image dasar yang akan diubah. Setelah menentukan gambar dasar, Anda dapat menggunakan metode edit_image pada ImageGenerationModel dan menyimpan gambar yang diedit secara lokal. Selanjutnya, Anda memiliki opsi untuk menggunakan metode show() di notebook untuk menampilkan gambar yang diedit.

    
    import vertexai
    from vertexai.preview.vision_models import Image, ImageGenerationModel
    
    # TODO(developer): Update and un-comment below lines
    # PROJECT_ID = "your-project-id"
    # input_file = "input-image.png"
    # output_file = "output-image.png"
    # prompt = "" # The text prompt describing what you want to see.
    
    vertexai.init(project=PROJECT_ID, location="us-central1")
    
    model = ImageGenerationModel.from_pretrained("imagegeneration@002")
    base_img = Image.load_from_file(location=input_file)
    
    images = model.edit_image(
        base_image=base_img,
        prompt=prompt,
        # Optional parameters
        seed=1,
        # Controls the strength of the prompt.
        # -- 0-9 (low strength), 10-20 (medium strength), 21+ (high strength)
        guidance_scale=21,
        number_of_images=1,
    )
    
    images[0].save(location=output_file, include_generation_parameters=False)
    
    # Optional. View the edited 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
    

    REST

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: Google Cloud Project ID Anda.
    • 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.
    • B64_BASE_IMAGE: Gambar dasar yang akan diedit atau di-upscale. Gambar harus ditentukan sebagai string byte berenkode base64. Batas ukuran: 10 MB.
    • EDIT_IMAGE_COUNT: Jumlah gambar yang diedit. Nilai default: 4.

    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": "TEXT_PROMPT",
          "image": {
            "bytesBase64Encoded": "B64_BASE_IMAGE"
          }
        }
      ],
      "parameters": {
        "sampleCount": EDIT_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/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
    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"
        }
      ]
    }
    

    Langkah berikutnya

    Baca artikel tentang Imagen dan produk AI Generatif lainnya di Vertex AI: