API pembuatan video Veo di Vertex AI

Veo adalah nama model yang mendukung pembuatan video. Veo membuat video dari perintah teks atau perintah gambar yang Anda berikan. Untuk mengetahui informasi selengkapnya tentang Veo, lihat Ringkasan pembuatan video Veo.

Untuk menjelajahi model ini di konsol, lihat kartu model Video Generation di Model Garden.

Coba Veo di Vertex AI (Vertex AI Studio)

Coba Veo di Colab

Model yang Didukung

Veo API mendukung model berikut:

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:predictLongRunning \

-d '{
  "instances": [
    {
      "prompt": string,
      "image": {
        // Union field can be only one of the following:
        "bytesBase64Encoded": string,
        "gcsUri": string,
        // End of list of possible types for union field.
        "mimeType": string
      },
      "lastFrame": {
        // Union field can be only one of the following:
        "bytesBase64Encoded": string,
        "gcsUri": string,
        // End of list of possible types for union field.
        "mimeType": string
      },
      "video": {
        // Union field can be only one of the following:
        "bytesBase64Encoded": string,
        "gcsUri": string,
        // End of list of possible types for union field.
        "mimeType": string
      },
      "referenceImages": [
        // A list of up to three asset images or at most one style image for the
        // model to use when generating videos.
        //
        // referenceImages is supported by veo-2.0-generate-exp in Preview
        {
        "image:" {
          // Union field can be only one of the following:
          "bytesBase64Encoded": string,
          "gcsUri": string,
          // End of list of possible types for union field.
          "mimeType": string
        },
        "referenceType": string
        }
      ]
    }
  ],
  "parameters": {
    "aspectRatio": string,
    "compressionQuality": string,
    "durationSeconds": integer,
    "enhancePrompt": boolean,
    "generateAudio": boolean,
    "negativePrompt": string,
    "personGeneration": string,
    "resolution": string, // Veo 3 models only
    "sampleCount": integer,
    "seed": uint32,
    "storageUri": string
  }
}'

Instance

Instance

prompt

string

Diperlukan untuk pembuatan video dari teks.
Opsional jika perintah gambar input diberikan (image-to-video).

String teks untuk memandu delapan detik pertama dalam video. Contoh:

  • Bidikan pelacakan cepat melalui hamparan distopia yang ramai dengan tanda neon terang, mobil terbang dan kabut, malam, suar lensa, pencahayaan volumetrik
  • Hologram neon mobil yang melaju dengan kecepatan tertinggi, kecepatan cahaya, sinematik, detail luar biasa, pencahayaan volumetrik
  • Banyak ubur-ubur tutul berdenyut di bawah air. Tubuh mereka transparan dan bercahaya di laut dalam
  • close-up ekstrem dengan kedalaman bidang yang dangkal dari genangan air di jalan. memantulkan kota Tokyo futuristik yang ramai dengan tanda neon terang, malam, suar lensa
  • Timelapse aurora menari di langit Arktik, bintang berkelap-kelip, lanskap yang tertutup salju
  • Seorang koboi berkuda sendirian melintasi padang rumput terbuka saat matahari terbenam yang indah, cahaya lembut, warna hangat
image

Kolom gabungan

Opsional. Gambar untuk memandu pembuatan video, yang dapat berupa string bytesBase64Encoded yang mengenkode gambar atau URI string gcsUri ke lokasi bucket Cloud Storage.

lastFrame

Kolom gabungan

Opsional. Gambar bingkai pertama video untuk mengisi ruang di antaranya. lastFrame dapat berupa string bytesBase64Encoded yang mengenkode gambar atau URI string gcsUri ke lokasi bucket Cloud Storage.

lastFrame didukung oleh veo-2.0-generate-001 saja.

video

Kolom gabungan

Opsional. Video yang dibuat Veo untuk diperpanjang durasinya, yang dapat berupa string bytesBase64Encoded yang mengenkode video atau URI string gcsUri ke lokasi bucket Cloud Storage.

video didukung oleh veo-2.0-generate-001 saja.

referenceImages

list[referenceImages]

Opsional. Daftar hingga tiga gambar aset atau paling banyak satu gambar gaya yang menjelaskan referenceImages yang akan digunakan model saat membuat video.

referenceImages didukung oleh veo-2.0-generate-exp di Pratinjau.

referenceImages.image

Kolom gabungan

Opsional. Berisi gambar referensi untuk veo-2.0-generate-exp yang akan digunakan sebagai input materi pokok. Setiap gambar dapat berupa string bytesBase64Encoded yang mengenkode gambar atau URI string gcsUri ke lokasi bucket Cloud Storage.

referenceImages.referenceType

string

Wajib ada dalam objek referenceImages. Menentukan jenis gambar referensi yang diberikan. Nilai-nilai berikut didukung:

  • "asset": Gambar referensi menyediakan aset untuk video yang dihasilkan, seperti: adegan, objek, atau karakter.
  • "style": Gambar referensi memberikan informasi gaya untuk video yang dihasilkan, seperti: warna adegan, pencahayaan, atau tekstur.
bytesBase64Encoded

string

String berenkode base64 byte dari file gambar atau video. Digunakan dengan objek berikut:

gcsUri

string

URI string ke lokasi bucket Cloud Storage. Digunakan dengan objek berikut:

mimeType

string

Wajib untuk objek berikut:

Menentukan jenis MIME video atau gambar.

Untuk gambar, jenis MIME berikut diterima:

  • image/jpeg
  • image/png

Untuk video, jenis MIME berikut diterima:

  • video/mp4

Parameter

Parameter
aspectRatio

string

Opsional. Menentukan rasio aspek video yang dihasilkan. Nilai berikut diterima:

  • 16:9 (nilai default)
  • 9:16
compressionQuality

string

Opsional. Menentukan kualitas kompresi video yang dihasilkan. Nilai yang diterima adalah "optimized" atau "lossless".

Defaultnya adalah "optimized".

durationSeconds

integer

Wajib. Durasi dalam detik file video yang ingin Anda buat.

Berikut adalah nilai yang diterima:

  • veo-2.0-generate-001: 5-8. Defaultnya adalah 8.
  • veo-3.0-generate-preview: 8.
  • Saat menggunakan referenceImages: 8.
enhancePrompt

boolean

Opsional. Gunakan Gemini untuk meningkatkan kualitas perintah Anda. Nilai yang diterima adalah true atau false. Nilai defaultnya adalah true.

enhancePrompt tidak didukung oleh veo-3.0-generate-001 atau veo-3.0-fast-generate-001.

generateAudio

boolean

Diperlukan untuk veo-3.0-generate-preview. Buat audio untuk video. Nilai yang diterima adalah true atau false.

generateAudio tidak didukung oleh veo-2.0-generate-001 atau veo-2.0-generate-exp.

negativePrompt

string

Opsional. String teks yang mendeskripsikan apa pun yang ingin Anda cegah agar tidak dibuat oleh model. Contoh:

  • pencahayaan di atas, warna cerah
  • orang, hewan
  • beberapa mobil, angin
personGeneration

string

Opsional. Setelan keamanan yang mengontrol apakah pembuatan wajah atau orang diizinkan. Salah satu dari berikut ini:

  • allow_adult (nilai default): mengizinkan pembuatan khusus dewasa
  • dont_allow: tidak mengizinkan penyertaan orang/wajah dalam gambar
resolution

string

Opsional. Khusus model Veo 3. Resolusi video yang dihasilkan. Nilai yang diterima adalah 720p (default) atau 1080p.

sampleCount

int

Opsional. Jumlah video output yang diminta. Nilai yang diterima adalah 1-4.

seed

uint32

Opsional. Angka yang diminta untuk membuat video yang dihasilkan menjadi deterministik. Menambahkan nomor seed dengan permintaan Anda tanpa mengubah parameter lain akan menyebabkan model menghasilkan video yang sama.

Rentang yang diterima adalah 0-4,294,967,295.

storageUri

string

Opsional. URI bucket Cloud Storage untuk menyimpan video output, dalam format gs://BUCKET_NAME/SUBDIRECTORY. Jika bucket Cloud Storage tidak disediakan, byte video berenkode base64 akan ditampilkan dalam respons.

Contoh permintaan

Gunakan contoh berikut untuk membuat permintaan video Anda sendiri:

Permintaan pembuatan video dari teks

REST

Untuk menguji perintah teks menggunakan Vertex AI Veo API, kirim permintaan POST ke endpoint model penayang.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: String yang merepresentasikan Google Cloud project ID Anda.
  • MODEL_ID: String yang merepresentasikan ID model yang akan digunakan. Berikut adalah nilai yang diterima:
    • "veo-2.0-generate-001"
    • "veo-3.0-generate-001"
    • "veo-3.0-fast-generate-001"
    • "veo-3.0-generate-preview" (Pratinjau)
    • "veo-3.0-fast-generate-preview" (Pratinjau)
  • TEXT_PROMPT: Perintah teks yang digunakan untuk memandu pembuatan video.
  • OUTPUT_STORAGE_URI: Opsional: String yang merepresentasikan bucket Cloud Storage untuk menyimpan video output. Jika tidak diberikan, byte video akan ditampilkan dalam respons. Contoh: "gs://video-bucket/output/".
  • RESPONSE_COUNT: Jumlah file video yang akan dibuat. Rentang nilai yang diterima adalah 1-4.
  • DURATION: Bilangan bulat yang merepresentasikan durasi file video yang dihasilkan. Berikut adalah nilai yang diterima untuk setiap model:
    • Model Veo 2: 5-8
    • Model Veo 3: 8
  • 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/MODEL_ID:predictLongRunning

Isi JSON permintaan:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT"
    }
  ],
  "parameters": {
    "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/MODEL_ID: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/MODEL_ID: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/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Permintaan pembuatan video dari gambar

REST

Untuk menguji perintah teks menggunakan Vertex AI Veo API, kirim permintaan POST ke endpoint model penayang.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: String yang merepresentasikan Google Cloud project ID Anda.
  • MODEL_ID: String yang merepresentasikan ID model yang akan digunakan. Berikut adalah nilai yang diterima:
    • veo-2.0-generate-001 (GA)
    • veo-3.0-generate-preview (Pratinjau)
  • TEXT_PROMPT: Perintah teks yang digunakan untuk memandu pembuatan video.
  • INPUT_IMAGE: String berenkode base64 yang merepresentasikan gambar input. Untuk kualitas terbaik, sebaiknya gunakan gambar input dengan resolusi 720p (1280 x 720 piksel) atau lebih tinggi, dan memiliki rasio aspek 16:9 atau 9:16. Gambar dengan rasio aspek atau ukuran lain dapat diubah ukurannya atau dipangkas di tengah saat gambar diupload.
  • MIME_TYPE: String yang merepresentasikan jenis MIME gambar input. Hanya gambar dengan jenis MIME berikut yang didukung:
    • "image/jpeg"
    • "image/png"
  • OUTPUT_STORAGE_URI: Opsional: String yang merepresentasikan bucket Cloud Storage untuk menyimpan video output. Jika tidak diberikan, byte video akan ditampilkan dalam respons. Contoh: "gs://video-bucket/output/".
  • RESPONSE_COUNT: Jumlah file video yang akan dibuat. Rentang nilai yang diterima adalah 1-4.
  • DURATION: Bilangan bulat yang merepresentasikan durasi file video yang dihasilkan. Berikut adalah nilai yang diterima untuk setiap model:
    • Model Veo 2: 5-8
    • Model Veo 3: 8
  • 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/MODEL_ID:predictLongRunning

Isi JSON permintaan:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "image": {
        "bytesBase64Encoded": "INPUT_IMAGE",
        "mimeType": "MIME_TYPE"
      }
    }
  ],
  "parameters": {
    "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/MODEL_ID: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/MODEL_ID: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/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Permintaan video menggunakan gambar aset

REST

Untuk menguji perintah teks menggunakan Vertex AI Veo API, kirim permintaan POST ke endpoint model penayang.

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

Permintaan video menggunakan gambar gaya

REST

Untuk menguji perintah teks menggunakan Vertex AI Veo API, kirim permintaan POST ke endpoint model penayang.

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

Polling status operasi yang berjalan lama untuk pembuatan video

Periksa status operasi yang berjalan lama untuk pembuatan video.

REST

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.

Isi respons (permintaan pembuatan video)

Mengirim permintaan pembuatan video dari teks atau gambar akan menampilkan respons berikut:

{
  "name": string
}
Elemen respons Deskripsi
name Nama operasi lengkap dari operasi yang berjalan lama yang dimulai setelah permintaan pembuatan video dikirim.

Contoh respons (permintaan pembuatan video)

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

Isi respons (polling operasi yang berjalan lama)

Polling status operasi yang berjalan lama pembuatan video asli akan menampilkan respons yang mirip dengan berikut ini:

{
   "name": string,
   "done": boolean,
   "response":{
      "@type":"type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse",
      "raiMediaFilteredCount": integer,
      "videos":[
         {
           "gcsUri": string,
           "mimeType": string
         },
         {
           "gcsUri": string,
           "mimeType": string
         },
         {
           "gcsUri": string,
           "mimeType": string
         },
         {
           "gcsUri": string,
           "mimeType": string
         },
      ]
   }
}
Elemen respons Deskripsi
bytesBase64Encoded String berenkode byte Base64 yang merepresentasikan objek video.
done Nilai boolean yang menunjukkan apakah operasi telah selesai.
encoding Jenis encoding video.
gcsUri URI Cloud Storage video yang dihasilkan.
name Nama operasi lengkap dari operasi yang berjalan lama yang dimulai setelah permintaan pembuatan video dikirim.
raiMediaFilteredCount Menampilkan jumlah video yang difilter Veo karena kebijakan AI yang bertanggung jawab. Jika tidak ada video yang difilter, jumlah yang ditampilkan adalah 0.
raiMediaFilteredReasons Mencantumkan alasan video yang difilter oleh Veo karena kebijakan AI yang bertanggung jawab. Untuk mengetahui informasi selengkapnya, lihat Kategori kode filter keamanan.
response Isi respons operasi yang berjalan lama.
video Video yang dihasilkan.

Contoh respons (polling operasi yang berjalan lama)

{
   "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID",
   "done":true,
   "response":{
      "@type":"type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse",
      "raiMediaFilteredCount": 0,
      "videos":[
        {
          "gcsUri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_0.mp4",
          "mimeType":"video/mp4"
        },
        {
          "gcsUri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_1.mp4",
          "mimeType":"video/mp4"
        },
        {
          "gcsUri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_2.mp4",
          "mimeType":"video/mp4"
        },
        {
          "gcsUri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_3.mp4",
          "mimeType":"video/mp4"
        }
      ]
   }
}

Informasi selengkapnya

Langkah berikutnya