Veo di Vertex AI API

Veo adalah nama model yang mendukung pembuatan video. Veo menghasilkan video dari perintah teks atau prompt gambar (/products#product-launch-stages) yang Anda berikan.

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

Mencoba Veo di Vertex AI (Vertex AI Studio)

Mencoba Veo di Colab

Minta akses: Fitur eksperimental

Model yang Didukung

Model ID Model
Pembuatan Video veo-2.0-generate-001

Permintaan HTTP

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

Isi permintaan

{
  "instances": [
    {
      "prompt": string,
      // Optional. An image to guide video generation.
      "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
      }
    }
  ],
  "parameters": {
    "aspectRatio": string,
    "negativePrompt": string,
    "personGeneration": string,
    "sampleCount": integer,
    "seed": uint32,
    "storageUri": string,
    "durationSeconds": integer,
    "enhancePrompt": boolean
  }
}

Gunakan parameter berikut untuk model Veo. Untuk mengetahui informasi selengkapnya, lihat Membuat video menggunakan perintah teks dan gambar menggunakan Veo.

Parameter Deskripsi Jenis Nilai dan deskripsi yang dapat diterima
gambar Wajib (gambar ke video)
Opsional jika perintah teks disediakan (teks ke video)

Input gambar untuk memandu pembuatan video.
string
  1. String byte gambar berenkode Base64, atau
  1. URI bucket Cloud Storage

Direkomendasikan: 1280 x 720 piksel atau 720 x 1280 piksel

Jika rasio aspek gambar berbeda, gambar akan dipangkas menggunakan alat pangkas tengah.
Jika rasio aspek gambar sama tetapi resolusinya lebih besar, gambar akan diubah ukurannya.
perintah Wajib (teks ke video)
Opsional jika perintah gambar input disediakan (gambar ke video)

String teks untuk memandu delapan detik pertama (veo-2.0-generate-001) dalam video.
string String teks apa pun untuk memandu pembuatan video. Contoh:

  • Rekaman gerakan cepat yang menembus bentangan distopia yang ramai dengan lampu neon terang, mobil terbang dan kabut, malam, suar lensa, pencahayaan volumetrik
  • Hologram neon mobil yang melaju dengan kecepatan tinggi, kecepatan cahaya, sinematik, detail luar biasa, pencahayaan volumetrik
  • Banyak ubur-ubur terlihat berdenyut di bawah air. Tubuhnya transparan dan bersinar di laut dalam
  • tampilan close-up ekstrem dengan kedalaman bidang genangan dangkal di jalan. Memantulkan kota Tokyo futuristis yang sibuk dengan lampu neon terang, malam, suar lensa
  • Time lapse cahaya utara menari melintasi langit Arktik, bintang berkelap-kelip, lanskap yang tertutup salju
  • Seorang koboi menunggangi kudanya melintasi dataran terbuka saat matahari terbenam yang indah, cahaya lembut, warna hangat
durasiDetik Wajib
Durasi file video yang ingin Anda buat.
bilangan bulat Nilai bilangan bulat yang diterima adalah 5-8. Defaultnya adalah 8.
dialognegatif Opsional
String teks yang menjelaskan apa pun yang ingin Anda sarankan agar tidak dibuat oleh model.
string String teks apa pun yang akan menginstruksikan model agar dihapus dari video yang dibuat. Contoh:

  • pencahayaan plafon, warna cerah
  • orang, hewan
  • beberapa mobil, angin
TingkatkanPrompt Opsional
Gunakan Gemini untuk menyempurnakan perintah Anda.
boolean Nilai yang diterima adalah yes atau no. Defaultnya adalah yes.
bibit Opsional
Angka yang akan diminta untuk menjadikan video yang dibuat bersifat determenistik.

Menambahkan nomor seed dengan permintaan Anda tanpa mengubah parameter lain akan menyebabkan model menghasilkan video yang sama.
uint32 0 - 4.294.967.295
storageURI Opsional
URI bucket Cloud Storage untuk menyimpan video output.

Jika tidak disediakan, byte video berenkode base64 akan ditampilkan sebagai respons.
string Lokasi Cloud Storage untuk menyimpan video yang dibuat. Pola: gs://BUCKET_NAME/SUBDIRECTORY
jumlahsampel Opsional
Jumlah gambar output yang diminta.
int 1-4
Rasio aspek Opsional
Menentukan rasio aspek video yang dihasilkan.
string 16:9 (default, lanskap)
9:16 (potret)
Generasi personel Opsional
Setelan keamanan yang mengontrol apakah orang atau pembuatan wajah diizinkan.
string allow_adult (nilai default): hanya mengizinkan pembuatan orang dewasa
dont_allow: tidak mengizinkan penyertaan orang/wajah dalam gambar

Permintaan sampel

Gunakan permintaan berikut untuk mengirim permintaan text-to-video atau permintaan image-to-video:

Permintaan pembuatan teks ke video

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: Google Cloud Project ID Anda.
  • MODEL_ID: ID model yang akan digunakan. Nilai yang tersedia:
    • veo-2.0-generate-001 (Daftar yang diizinkan GA)
  • TEXT_PROMPT: Perintah teks yang digunakan untuk memandu pembuatan video.
  • 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.
  • DURATION: Durasi file video yang ingin Anda buat. Nilai bilangan bulat yang diterima adalah 5-8.
  • Parameter opsional tambahan

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

    "parameters": {
      "aspectRatio": "ASPECT_RATIO",
      "negativePrompt": "NEGATIVE_PROMPT",
      "personGeneration": "PERSON_SAFETY_SETTING",
      "sampleCount": RESPONSE_COUNT,
      "seed": SEED_NUMBER
    }
    • ASPECT_RATIO: string. Opsional. Menentukan rasio aspek video yang dihasilkan. Nilai: 16:9 (default, lanskap) atau 9:16 (potret).
    • NEGATIVE_PROMPT: string. Opsional. String teks yang menjelaskan hal yang ingin Anda cegah agar tidak dihasilkan oleh model.
    • PERSON_SAFETY_SETTING: string. Opsional. Setelan keamanan yang mengontrol apakah pembuatan wajah atau orang diizinkan. Nilai:
      • allow_adult (nilai default): Hanya mengizinkan pembuatan orang dewasa.
      • disallow: Melarang penyertaan orang atau wajah dalam gambar.
    • RESPONSE_COUNT: int. Opsional. Jumlah gambar output yang diminta. Nilai: 1-4.
    • SEED_NUMBER: uint32. Opsional. Angka untuk membuat video yang dihasilkan menjadi deterministik. Menentukan nomor seed dengan permintaan Anda tanpa mengubah parameter lain akan memandu model untuk menghasilkan video yang sama. Nilai: 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 tersebut.
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Permintaan pembuatan gambar ke video

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: Google Cloud Project ID Anda.
  • MODEL_ID: ID model yang akan digunakan. Nilai yang tersedia:
    • veo-2.0-generate-001 (Daftar yang diizinkan GA)
  • TEXT_PROMPT: Perintah teks yang digunakan untuk memandu pembuatan video.
  • INPUT_IMAGE: String byte berenkode base64 yang mewakili gambar input. Untuk memastikan kualitas, gambar input harus berukuran 720p atau lebih tinggi (1280 x 720 piksel) dan memiliki rasio lebar tinggi 16:9 atau 9:16. Gambar dengan rasio aspek atau ukuran lain dapat diubah ukurannya atau dipangkas secara terpusat selama proses upload.
  • MIME_TYPE: Jenis MIME gambar input. Hanya gambar dari jenis MIME berikut yang didukung: image/jpeg atau 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.
  • DURATION: Durasi file video yang ingin Anda buat. Nilai bilangan bulat yang diterima adalah 5-8.
  • Parameter opsional tambahan

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

    "parameters": {
      "aspectRatio": "ASPECT_RATIO",
      "negativePrompt": "NEGATIVE_PROMPT",
      "personGeneration": "PERSON_SAFETY_SETTING",
      "sampleCount": RESPONSE_COUNT,
      "seed": SEED_NUMBER
    }
    • ASPECT_RATIO: string. Opsional. Menentukan rasio aspek video yang dihasilkan. Nilai: 16:9 (default, lanskap) atau 9:16 (potret).
    • NEGATIVE_PROMPT: string. Opsional. String teks yang menjelaskan hal yang ingin Anda cegah agar tidak dihasilkan oleh model.
    • PERSON_SAFETY_SETTING: string. Opsional. Setelan keamanan yang mengontrol apakah pembuatan wajah atau orang diizinkan. Nilai:
      • allow_adult (nilai default): Hanya mengizinkan pembuatan orang dewasa.
      • disallow: Melarang penyertaan orang atau wajah dalam gambar.
    • RESPONSE_COUNT: int. Opsional. Jumlah gambar output yang diminta. Nilai: 1-4.
    • SEED_NUMBER: uint32. Opsional. Angka untuk membuat video yang dihasilkan menjadi deterministik. Menentukan nomor seed dengan permintaan Anda tanpa mengubah parameter lain akan memandu model untuk menghasilkan video yang sama. Nilai: 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 tersebut.
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Melakukan polling status operasi pembuatan video yang berjalan lama

Memeriksa status operasi pembuatan video yang berjalan lama.

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Google Cloud Project ID Anda.
  • MODEL_ID: ID model yang akan digunakan. Nilai yang tersedia:
    • veo-2.0-generate-001 (Daftar yang diizinkan GA)
  • 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 (buat permintaan video)

Mengirim permintaan teks ke video atau gambar ke video 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 (buat permintaan video)

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

Isi respons (operasi polling yang berjalan lama)

Melakukan polling status operasi pembuatan video asli yang berjalan lama akan menampilkan respons berikut:

{
   "name": string,
   "done": boolean,
   "response":{
      "@type":"type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse",
      "generatedSamples":[
         {
            "video":
            {
               "uri": string,
               "encoding": string
            }
         },
         {
            "video":
            {
               "uri": string,
               "encoding": string
            }
         },
         {
            "video":
            {
               "uri": string,
               "encoding": string
            }
         },
         {
            "video":
            {
               "uri": string,
               "encoding": string
            }
         },
      ]
   }
}
Elemen respons Deskripsi
name Nama operasi lengkap dari operasi yang berjalan lama yang dimulai setelah permintaan pembuatan video dikirim.
done Nilai boolean yang menunjukkan apakah operasi selesai.
response Isi respons dari operasi yang berjalan lama.
generatedSamples Array objek contoh video yang dihasilkan.
video Video yang dibuat.
uri URI Cloud Storage dari video yang dibuat.
encoding Jenis encoding video.

Contoh respons (operasi polling 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",
      "generatedSamples":[
         {
            "video":{
               "uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_0.mp4",
               "encoding":"video/mp4"
            }
         },
         {
            "video":{
               "uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_1.mp4",
               "encoding":"video/mp4"
            }
         },
         {
            "video":{
               "uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_2.mp4",
               "encoding":"video/mp4"
            }
         },
         {
            "video":{
               "uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_3.mp4",
               "encoding":"video/mp4"
            }
         }
      ]
   }
}

Informasi selengkapnya

Langkah berikutnya