Veo di Vertex AI API

Veo adalah nama model yang mendukung pembuatan video. Veo membuat video dari perintah teks atau perintah gambar 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

Meminta akses: Fitur eksperimental

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,
      // 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

prompt

string

Diperlukan untuk teks ke video.
Opsional jika perintah gambar input diberikan (gambar ke video).

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

  • Bidikan dengan kecepatan tinggi melalui area dystopian yang ramai dengan tanda neon yang terang, mobil terbang dan kabut, malam, flare lensa, pencahayaan volumetrik
  • Hologram neon mobil yang melaju dengan kecepatan tinggi, kecepatan cahaya, sinematik, detail luar biasa, pencahayaan volumetrik
  • Banyak ubur-ubur berbintik yang berdenyut di bawah air. Tubuhnya transparan dan bercahaya di laut dalam
  • close-up ekstrem dengan kedalaman ruang yang dangkal dari genangan di jalan. mencerminkan kota Tokyo yang futuristis dan sibuk dengan tanda neon yang terang, malam, flare lensa
  • Time lapse aurora yang menari di langit Arktik, bintang berkelap-kelip, lanskap yang tertutup salju
  • Seorang koboi sendirian menunggang kudanya melintasi dataran terbuka saat matahari terbenam yang indah, cahaya lembut, warna hangat

image

string

Diperlukan untuk gambar ke video.
Opsional jika perintah teks diberikan (teks ke video).

Gambar input untuk memandu pembuatan video. Sebaiknya gunakan gambar berukuran 1280 x 720 piksel atau 720 x 1280 piksel.

Salah satu dari berikut ini:

  • String byte gambar yang dienkode Base64
  • URI bucket Cloud Storage

Jika rasio aspek gambar berbeda, gambar akan dipangkas menggunakan alat pemangkasan tengah.

Jika rasio aspek gambar sama, tetapi resolusinya lebih besar, ukuran gambar akan diubah.

durationSeconds

integer

Wajib. Durasi file video yang ingin Anda buat. Nilai bilangan bulat yang diterima adalah 5-8. Defaultnya adalah 8.

negativePrompt

string

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

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

boolean

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

seed

uint32

Opsional. Angka yang akan diminta untuk membuat video yang dihasilkan menjadi deterministik. Menambahkan nomor seed dengan permintaan Anda tanpa mengubah parameter lainnya 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 diberikan, byte video berenkode base64 akan ditampilkan dalam respons.

sampleCount

int

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

aspectRatio

string

Opsional. Menentukan rasio aspek video yang dihasilkan. Salah satu dari hal berikut:

  • 16:9 (default, lanskap)
  • 9:16 (potret)

personGeneration

string

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

  • allow_adult (nilai default): mengizinkan pembuatan khusus dewasa
  • dont_allow: tidak mengizinkan penyertaan orang/wajah dalam gambar
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.

Permintaan sampel

Gunakan permintaan berikut untuk mengirim permintaan teks ke video atau permintaan gambar ke 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)
    • veo-3.0-generate-preview (Pratinjau)
  • 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 dalam 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: Tidak mengizinkan 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 menjadi 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)
    • veo-3.0-generate-preview (Pratinjau)
  • 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 dalam 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: Tidak mengizinkan 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 yang berjalan lama untuk pembuatan video

Periksa 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)
    • veo-3.0-generate-preview (Pratinjau)
  • 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 (membuat 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 (membuat permintaan video)

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

Isi respons (polling operasi yang berjalan lama)

Mengambil sampel status operasi yang berjalan lama untuk pembuatan video asli 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 telah selesai.
response Isi respons operasi yang berjalan lama.
generatedSamples Array objek sampel video yang dihasilkan.
video Video yang dihasilkan.
uri URI Cloud Storage video yang dihasilkan.
encoding Jenis encoding video.

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