Menggunakan gambar referensi untuk memandu pembuatan video

Veo di Vertex AI memungkinkan Anda menggunakan gambar referensi dengan veo-2.0-generate-exp untuk memandu konten dan gaya artistik video yang dihasilkan. Anda dapat memilih untuk menggunakan salah satu opsi berikut saat menggunakan gambar referensi dengan Veo:

  • Gambar aset: Anda dapat memberikan hingga tiga gambar satu orang, karakter, atau produk. Veo mempertahankan penampilan subjek dalam video output.

  • Gambar gaya: Anda memberikan satu gambar gaya. Veo menerapkan gaya dari gambar yang Anda upload dalam video output.

Untuk mengetahui informasi selengkapnya tentang cara menulis perintah teks yang efektif untuk pembuatan video, lihat panduan perintah Veo.

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. Enable the Vertex AI API.

    Enable the API

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

    Go to project selector

  5. Enable the Vertex AI API.

    Enable the API

  6. 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.

    REST

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

      Menginstal Google Cloud CLI. Setelah penginstalan, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init

      Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

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

    Menggunakan gambar subjek untuk membuat video

    Lakukan tindakan berikut:

    Konsol

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

      Media Studio

    2. Klik Veo.

    3. Di panel Settings, pilih setelan berikut:

      • Model: pilih veo-2.0-generate-exp.

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

    4. Di bagian Referensi, pilih Subjek > klik Tambahkan.

    5. Pilih satu hingga tiga gambar di komputer Anda untuk diupload.

    6. Opsional: Di bagian Safety, pilih salah satu setelan Pembuatan orang berikut:

      • Izinkan (Khusus Dewasa): nilai default. Hanya buat gambar wajah atau orang dewasa. Jangan membuat gambar atau wajah orang atau anak-anak muda.

      • Jangan izinkan: tidak membuat orang atau wajah.

    7. Opsional: Di bagian Advanced options, masukkan nilai Seed untuk mengacak pembuatan video.

    8. Di kotak Write your prompt, masukkan perintah teks yang menjelaskan video yang akan dibuat.

    9. Klik Buat.

    REST

    Setelah menyiapkan lingkungan, Anda dapat menggunakan REST untuk menguji perintah teks. Contoh berikut mengirim permintaan ke endpoint model penayang.

    Untuk mengetahui informasi selengkapnya tentang Veo API, lihat Veo API di Vertex AI.

    1. Gunakan perintah berikut untuk mengirim permintaan pembuatan video. Permintaan ini memulai operasi yang berjalan lama dan menyimpan output ke bucket Cloud Storage yang Anda tentukan.

      Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

      • PROJECT_ID: ID project Google Cloud Anda.
      • TEXT_PROMPT: Perintah teks yang digunakan untuk memandu pembuatan video.
      • BASE64_ENCODED_IMAGE: Gambar subjek yang dienkode base64-byte. Anda dapat mengulangi kolom ini dan mimeType untuk menentukan hingga tiga gambar subjek.
      • IMAGE_MIME_TYPE: Jenis MIME gambar input. Hanya salah satu dari berikut ini:

        • image/jpeg
        • image/png

        Anda dapat mengulangi kolom ini dan bytesBase64Encoded untuk menentukan hingga tiga gambar subjek.

      • OUTPUT_STORAGE_URI: Opsional: Bucket Cloud Storage untuk menyimpan video output. Jika tidak diberikan, video berenkode Base64-byte akan ditampilkan dalam respons. Contoh: gs://video-bucket/output/.
      • RESPONSE_COUNT: Jumlah file video yang ingin Anda buat. Nilai bilangan bulat yang diterima: 1-4.
      • Parameter opsional tambahan

        Gunakan variabel opsional berikut bergantung pada kasus penggunaan Anda. Tambahkan beberapa atau semua parameter berikut dalam objek "parameters": {}.

        "parameters": {
          "aspectRatio": "ASPECT_RATIO",
          "negativePrompt": "NEGATIVE_PROMPT",
          "personGeneration": "PERSON_SAFETY_SETTING",
          // "resolution": RESOLUTION, // Veo 3 models only
          "sampleCount": RESPONSE_COUNT,
          "seed": SEED_NUMBER
        }
        • ASPECT_RATIO: Opsional: Nilai string yang menjelaskan rasio aspek video yang dihasilkan. Anda dapat menggunakan nilai berikut:
          • "16:9" untuk lanskap
          • "9:16" untuk potret

          Nilai defaultnya adalah "16:9"

        • NEGATIVE_PROMPT: Opsional: Nilai string yang menjelaskan konten yang tidak ingin Anda buat oleh model.
        • PERSON_SAFETY_SETTING: Opsional: Nilai string yang mengontrol setelan keamanan untuk pembuatan orang atau pembuatan wajah. Anda dapat menggunakan nilai berikut:
          • "allow_adult": Hanya mengizinkan pembuatan orang dan wajah dewasa.
          • "disallow": Tidak menghasilkan gambar orang atau wajah.

          Nilai defaultnya adalah "allow_adult".

        • RESOLUTION: Opsional: Nilai string yang mengontrol resolusi video yang dihasilkan. Didukung oleh model Veo 3 saja. Anda dapat menggunakan nilai berikut:
          • "720p"
          • "1080p"

          Nilai defaultnya adalah "720p".

        • RESPONSE_COUNT: Opsional. Nilai bilangan bulat yang menjelaskan jumlah video yang akan dibuat. Rentang nilai yang diterima adalah 1-4.
        • SEED_NUMBER: Opsional. Nilai uint32 yang digunakan model untuk membuat video deterministik. Menentukan nomor seed dengan permintaan Anda tanpa mengubah parameter lain akan memandu model untuk menghasilkan video yang sama. Rentang nilai yang diterima adalah 0-4294967295.

      Metode HTTP dan URL:

      POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning

      Isi JSON permintaan:

      {
        "instances": [
          {
            "prompt": "TEXT_PROMPT",
            // The following fields can be repeated for up to three total
            // images.
            "referenceImages": [
              {
                "image": {
                  "bytesBase64Encoded": "BASE64_ENCODED_IMAGE",
                  "mimeType": "IMAGE_MIME_TYPE"
                },
                "referenceType": "asset"
              }
            ]
          }
        ],
        "parameters": {
          "durationSeconds": 8,
          "storageUri": "OUTPUT_STORAGE_URI",
          "sampleCount": RESPONSE_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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning"

      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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning" | Select-Object -Expand Content
      Permintaan ini menampilkan nama operasi lengkap dengan ID operasi unik. Gunakan nama operasi lengkap ini untuk melakukan polling status permintaan pembuatan video.
      {
        "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
      }
      

    2. Opsional: Periksa status operasi yang berjalan lama untuk pembuatan video.

      Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

      • PROJECT_ID: Google Cloud Project ID Anda.
      • MODEL_ID: ID model yang akan digunakan.
      • OPERATION_ID: ID operasi unik yang ditampilkan dalam permintaan pembuatan video asli.

      Metode HTTP dan URL:

      POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation

      Isi JSON permintaan:

      {
        "operationName": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID"
      }
      

      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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation"

      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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation" | Select-Object -Expand Content
      Permintaan ini menampilkan informasi tentang operasi, termasuk apakah operasi masih berjalan atau sudah selesai.

    Menggunakan gambar gaya untuk membuat video

    Lakukan tindakan berikut:

    Konsol

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

      Media Studio

    2. Klik Veo.

    3. Di panel Settings, pilih setelan berikut:

      • Model: pilih veo-2.0-generate-exp.

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

    4. Di bagian Referensi, pilih Gaya > klik Tambahkan.

    5. Pilih gambar di komputer Anda untuk diupload.

    6. Opsional: Di bagian Safety, pilih salah satu setelan Pembuatan orang berikut:

      • Izinkan (Khusus Dewasa): nilai default. Hanya buat gambar wajah atau orang dewasa. Jangan membuat gambar atau wajah orang atau anak-anak muda.

      • Jangan izinkan: tidak membuat orang atau wajah.

    7. Opsional: Di bagian Advanced options, masukkan nilai Seed untuk mengacak pembuatan video.

    8. Di kotak Write your prompt, masukkan perintah teks yang menjelaskan video yang akan dibuat.

    9. Klik Buat.

    REST

    Setelah menyiapkan lingkungan, Anda dapat menggunakan REST untuk menguji perintah teks. Contoh berikut mengirim permintaan ke endpoint model penayang.

    Untuk mengetahui informasi selengkapnya tentang Veo API, lihat Veo API di Vertex AI.

    1. Gunakan perintah berikut untuk mengirim permintaan pembuatan video. Permintaan ini memulai operasi yang berjalan lama dan menyimpan output ke bucket Cloud Storage yang Anda tentukan.

      Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

      • PROJECT_ID: ID project Google Cloud Anda.
      • TEXT_PROMPT: Perintah teks yang digunakan untuk memandu pembuatan video.
      • BASE64_ENCODED_IMAGE: Gambar gaya yang dienkode base64-byte.
      • IMAGE_MIME_TYPE: Jenis MIME gambar input. Hanya salah satu dari berikut ini:
        • image/jpeg
        • image/png
      • OUTPUT_STORAGE_URI: Opsional: Bucket Cloud Storage untuk menyimpan video output. Jika tidak disediakan, byte video akan ditampilkan dalam respons. Contoh: gs://video-bucket/output/.
      • RESPONSE_COUNT: Jumlah file video yang ingin Anda buat. Nilai bilangan bulat yang diterima: 1-4.
      • Parameter opsional tambahan

        Gunakan variabel opsional berikut bergantung pada kasus penggunaan Anda. Tambahkan beberapa atau semua parameter berikut dalam objek "parameters": {}.

        "parameters": {
          "aspectRatio": "ASPECT_RATIO",
          "negativePrompt": "NEGATIVE_PROMPT",
          "personGeneration": "PERSON_SAFETY_SETTING",
          // "resolution": RESOLUTION, // Veo 3 models only
          "sampleCount": RESPONSE_COUNT,
          "seed": SEED_NUMBER
        }
        • ASPECT_RATIO: Opsional: Nilai string yang menjelaskan rasio aspek video yang dihasilkan. Anda dapat menggunakan nilai berikut:
          • "16:9" untuk lanskap
          • "9:16" untuk potret

          Nilai defaultnya adalah "16:9"

        • NEGATIVE_PROMPT: Opsional: Nilai string yang menjelaskan konten yang tidak ingin Anda buat oleh model.
        • PERSON_SAFETY_SETTING: Opsional: Nilai string yang mengontrol setelan keamanan untuk pembuatan orang atau pembuatan wajah. Anda dapat menggunakan nilai berikut:
          • "allow_adult": Hanya mengizinkan pembuatan orang dan wajah dewasa.
          • "disallow": Tidak menghasilkan gambar orang atau wajah.

          Nilai defaultnya adalah "allow_adult".

        • RESOLUTION: Opsional: Nilai string yang mengontrol resolusi video yang dihasilkan. Didukung oleh model Veo 3 saja. Anda dapat menggunakan nilai berikut:
          • "720p"
          • "1080p"

          Nilai defaultnya adalah "720p".

        • RESPONSE_COUNT: Opsional. Nilai bilangan bulat yang menjelaskan jumlah video yang akan dibuat. Rentang nilai yang diterima adalah 1-4.
        • SEED_NUMBER: Opsional. Nilai uint32 yang digunakan model untuk membuat video deterministik. Menentukan nomor seed dengan permintaan Anda tanpa mengubah parameter lain akan memandu model untuk menghasilkan video yang sama. Rentang nilai yang diterima adalah 0-4294967295.

      Metode HTTP dan URL:

      POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning

      Isi JSON permintaan:

      {
        "instances": [
          {
            "prompt": "TEXT_PROMPT",
            "referenceImages": [
              {
                "image": {
                  "bytesBase64Encoded": "BASE64_ENCODED_IMAGE",
                  "mimeType": "IMAGE_MIME_TYPE"
                },
                "referenceType": "style"
              }
            ]
          }
        ],
        "parameters": {
          "durationSeconds": 8,
          "storageUri": "OUTPUT_STORAGE_URI",
          "sampleCount": RESPONSE_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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning"

      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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning" | Select-Object -Expand Content
      Permintaan ini menampilkan nama operasi lengkap dengan ID operasi unik. Gunakan nama operasi lengkap ini untuk melakukan polling status permintaan pembuatan video.
      {
        "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
      }
      

    2. Opsional: Periksa status operasi yang berjalan lama untuk pembuatan video.

      Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

      • PROJECT_ID: Google Cloud Project ID Anda.
      • MODEL_ID: ID model yang akan digunakan.
      • OPERATION_ID: ID operasi unik yang ditampilkan dalam permintaan pembuatan video asli.

      Metode HTTP dan URL:

      POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation

      Isi JSON permintaan:

      {
        "operationName": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID"
      }
      

      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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation"

      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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation" | Select-Object -Expand Content
      Permintaan ini menampilkan informasi tentang operasi, termasuk apakah operasi masih berjalan atau sudah selesai.

    Langkah berikutnya