Anda dapat menggunakan Gemini Omni atau Veo di Gemini Enterprise Agent Platform untuk membuat video baru menggunakan gambar yang ada sebagai frame pertama. Frame pertama gambar ke video tersedia melalui Gemini Enterprise Agent Platform Media Studio atau menggunakan Gemini Enterprise Agent Platform pembuatan video API.
Model berikut mendukung pembuatan video dari gambar:
Gemini Omni
Klik untuk meluaskan model yang didukung
Veo
Klik untuk meluaskan model yang didukung
Untuk mengetahui informasi selengkapnya tentang cara menulis perintah teks yang efektif untuk pembuatan video, lihat Panduan perintah pembuatan video.
Mencoba Gemini Omni Flash di Colab
Sebelum memulai
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Enable the Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Siapkan autentikasi untuk lingkungan Anda.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan konsol Cloud de Confiance untuk mengakses layanan dan API Cloud de Confiance by S3NS , Anda tidak perlu menyiapkan autentikasi.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Cloud de Confiance .
Menggunakan Gemini Omni untuk membuat video dari gambar
REST
Pembuatan video dapat memerlukan waktu lebih dari satu menit hingga selesai. Anda dapat memilih dari beberapa mode interaksi, bergantung pada alur kerja Anda:
- Sinkron: stateless: Buat video dalam satu permintaan tanpa menyimpan status interaksi di server.
- Sinkron: stateful: Tetapkan
storeketrueuntuk mempertahankan status interaksi, yang memungkinkan Anda mengambil hasil nanti atau merujuk ID interaksi untuk pengeditan video multi-turn. - Sinkron: streaming stateful: Tetapkan
storedanstreamketrueuntuk menerima pemikiran model secara inkremental saat dibuat, diikuti dengan video output. - Asinkron: Tetapkan
backgroundketrueuntuk menjalankan pembuatan video di latar belakang dan mengambil hasilnya nanti menggunakan ID interaksi.
Interaksi tersimpan dan asinkron dipertahankan hingga 14 hari.
Untuk mengetahui informasi selengkapnya tentang cara menggunakan Gemini Omni Flash API, lihat Interactions API.
Sinkron: stateless
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
PROJECT_ID: String yang mewakili Cloud de Confiance by S3NS project ID Anda. -
MODEL_ID: String yang mewakili ID model yang akan digunakan. Berikut adalah nilai yang diterima:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: Perintah teks yang digunakan untuk memandu pembuatan video. -
CLOUD_STORAGE_INPUT_URI: String yang mewakili bucket Cloud Storage yang berisi media input. Contoh:"gs://video-bucket/input/". -
CLOUD_STORAGE_OUTPUT_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/". -
ASPECT_RATIO: Opsional: String yang merepresentasikan rasio aspek yang diharapkan dari video output. Jika tidak diberikan, rasio aspek akan disimpulkan dari perintah. Berikut adalah nilai yang diterima:"16:9""9:16"
-
OUTPUT_RESOLUTION:Opsional: String yang merepresentasikan resolusi output video. Jika tidak diberikan, output akan ditetapkan secara default ke 720p.
gemini-omni-1.1-flash-previewmendukung nilai berikut:"360p""720p""1080p""4k"
gemini-omni-flash-previewhanya mendukung"720p". -
DURATION: String yang mewakili durasi file video yang dihasilkan. String yang diizinkan adalah bilangan bulat antara3dan10, diikuti dengan "s" untuk detik. Contoh,"10s".
Metode HTTP dan URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Meminta isi JSON:
{
"model": "MODEL_ID",
"input": [
{
"type": "text",
"text": "TEXT_PROMPT"
},
{
"type": "image",
"uri": "CLOUD_STORAGE_INPUT_URI",
"mime_type": "image/png"
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"aspect_ratio": "ASPECT_RATIO",
"resolution": "OUTPUT_RESOLUTION",
"duration": "DURATION"
}
],
"generation_config": {
"video_config": {
"task": "image_to_video"
}
}
}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json,
lalu jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"
PowerShell
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
{
"id":"INTERACTION_ID",
"model":"gemini-omni-flash-preview",
"status":"completed",
"usage":{
"total_tokens":479,
"total_input_tokens":26,
"input_tokens_by_modality":[
{
"modality":"text",
"tokens":26
},
{
"modality":"image",
"tokens":124
}
],
"output_tokens_by_modality": [
{
"modality": "video",
"tokens": 28832
}
],
"total_output_tokens":28832,
"total_thought_tokens":453
},
"steps":[
{
"type":"thought",
"summary":[
{
"type":"text",
"text":"MODEL THOUGHTS"
}
],
},
{
"type":"model_output",
"content":[
{
"type":"video",
"uri":"gs://some/output_path/123.mp4",
"mime_type":"video/mp4"
}
]
}
],
"object":"interaction"
"role":"model",
"created":"2026-05-29T02:17:56Z",
"updated":"2026-05-29T02:17:56Z",
}
Sinkron: stateful
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
PROJECT_ID: String yang mewakili Cloud de Confiance by S3NS project ID Anda. -
MODEL_ID: String yang mewakili ID model yang akan digunakan. Berikut adalah nilai yang diterima:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: Perintah teks yang digunakan untuk memandu pembuatan video. -
CLOUD_STORAGE_INPUT_URI: String yang mewakili bucket Cloud Storage yang berisi media input. Contoh:"gs://video-bucket/input/". -
CLOUD_STORAGE_OUTPUT_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/". -
ASPECT_RATIO: Opsional: String yang merepresentasikan rasio aspek yang diharapkan dari video output. Jika tidak diberikan, rasio aspek akan disimpulkan dari perintah. Berikut adalah nilai yang diterima:"16:9""9:16"
-
OUTPUT_RESOLUTION:Opsional: String yang merepresentasikan resolusi output video. Jika tidak diberikan, output akan ditetapkan secara default ke 720p.
gemini-omni-1.1-flash-previewmendukung nilai berikut:"360p""720p""1080p""4k"
gemini-omni-flash-previewhanya mendukung"720p". -
DURATION: String yang mewakili durasi file video yang dihasilkan. String yang diizinkan adalah bilangan bulat antara3dan10, diikuti dengan "s" untuk detik. Contoh,"10s".
Metode HTTP dan URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Meminta isi JSON:
{
"model": "MODEL_ID",
"background": false,
"store": true,
"stream": false,
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "TEXT_PROMPT"
},
{
"type": "image",
"uri": "CLOUD_STORAGE_INPUT_URI",
"mime_type": "image/png"
}
]
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"aspect_ratio": "ASPECT_RATIO",
"resolution": "OUTPUT_RESOLUTION",
"duration": "DURATION"
}
]
}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json,
lalu jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"
PowerShell
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
{
"id":"INTERACTION_ID",
"model":"gemini-omni-flash-preview",
"status":"completed",
"usage":{
"total_tokens":479,
"total_input_tokens":26,
"input_tokens_by_modality":[
{
"modality":"text",
"tokens":26
},
{
"modality":"image",
"tokens":124
}
],
"output_tokens_by_modality": [
{
"modality": "video",
"tokens": 28832
}
],
"total_output_tokens":28832,
"total_thought_tokens":453
},
"steps":[
{
"type":"thought",
"summary":[
{
"type":"text",
"text":"MODEL THOUGHTS"
}
],
},
{
"type":"model_output",
"content":[
{
"type":"video",
"uri":"gs://some/output_path/123.mp4",
"mime_type":"video/mp4"
}
]
}
],
"object":"interaction",
"role":"model",
"created":"2026-05-29T02:17:56Z",
"updated":"2026-05-29T02:17:56Z",
}
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
PROJECT_ID: String yang mewakili project ID Cloud de Confiance by S3NS Anda. -
INTERACTION_ID: ID interaksi dari permintaan asinkron.
Metode HTTP dan URL:
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID"
PowerShell
Jalankan perintah berikut:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID" | Select-Object -Expand Content
{
"id":"INTERACTION_ID",
"model":"gemini-omni-flash-preview",
"status":"completed",
"usage":{
"total_tokens":479,
"total_input_tokens":26,
"input_tokens_by_modality":[
{
"modality":"text",
"tokens":26
},
{
"modality":"image",
"tokens":124
}
],
"output_tokens_by_modality": [
{
"modality": "video",
"tokens": 28832
}
],
"total_output_tokens":28832,
"total_thought_tokens":453
},
"steps":[
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "5 second, 9:16 video. Use the image as the first frame."
},
{
"type": "image",
"uri": "gs://some/path",
"mime_type": "image/png"
}
]
},
{
"type":"thought"
"summary":[
{
"type":"text",
"text":"MODEL THOUGHTS"
}
],
},
{
"type":"model_output",
"content":[
{
"type":"video",
"data":"VIDEO DATA",
"mime_type":"video/mp4"
}
]
}
],
"object":"interaction"
"role":"model",
"created":"2026-05-29T02:17:56Z",
"updated":"2026-05-29T02:17:56Z",
}
Sinkron: streaming stateful
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
PROJECT_ID: String yang mewakili project ID Cloud de Confiance by S3NS Anda. -
MODEL_ID: String yang mewakili ID model yang akan digunakan. Berikut adalah nilai yang diterima:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: Perintah teks yang digunakan untuk memandu pembuatan video. -
CLOUD_STORAGE_INPUT_URI: String yang mewakili bucket Cloud Storage yang berisi media input. Contoh:"gs://video-bucket/input/". -
CLOUD_STORAGE_OUTPUT_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/". -
ASPECT_RATIO: Opsional: String yang merepresentasikan rasio aspek yang diharapkan dari video output. Jika tidak diberikan, rasio aspek akan disimpulkan dari perintah. Berikut adalah nilai yang diterima:"16:9""9:16"
-
OUTPUT_RESOLUTION:Opsional: String yang merepresentasikan resolusi output video. Jika tidak diberikan, output akan ditetapkan secara default ke 720p.
gemini-omni-1.1-flash-previewmendukung nilai berikut:"360p""720p""1080p""4k"
gemini-omni-flash-previewhanya mendukung"720p". -
DURATION: String yang mewakili durasi file video yang dihasilkan. String yang diizinkan adalah bilangan bulat antara3dan10, diikuti dengan "s" untuk detik. Contoh,"10s".
Metode HTTP dan URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Meminta isi JSON:
{
"model": "MODEL_ID",
"background": false,
"store": true,
"stream": true,
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "TEXT_PROMPT"
},
{
"type": "image",
"uri": "CLOUD_STORAGE_INPUT_URI",
"mime_type": "image/png"
}
]
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"aspect_ratio": "ASPECT_RATIO",
"resolution": "OUTPUT_RESOLUTION",
"duration": "DURATION"
}
]
}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json,
lalu jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"
PowerShell
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
event: interaction.created
data: {"interaction":{"id":"INTERACTION_ID","status":"in_progress","object":"interaction","model":"gemini-omni-flash-preview"},"event_type":"interaction.created"}
event: interaction.status_update
data: {"interaction_id":"INTERACTION_ID","status":"in_progress","event_type":"interaction.status_update"}
event: step.start
data: {"index":0,"step":{"type":"thought"},"event_type":"step.start"}
event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}
event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}
event: step.delta
data: {"index":0,"delta":{"signature":"...","type":"thought_signature"},"event_type":"step.delta"}
event: step.stop
data: {"index":0,"event_type":"step.stop"}
event: step.start
data: {"index":1,"step":{"type":"model_output"},"event_type":"step.start"}
event: step.delta
data: {"index":1,"delta":{"mime_type":"video/mp4","uri":"gs://some/output_path/123.mp4","type":"video"},"event_id":"EVENT_ID","event_type":"step.delta"}
event: step.stop
data: {"index":1,"event_type":"step.stop"}
event: interaction.completed
data: {"interaction":{"id":"INTERACTION_ID","status":"completed","usage":{"total_tokens":17812,"total_input_tokens":21,"input_tokens_by_modality":[{"modality":"text","tokens":21}],"total_output_tokens":17376,"output_tokens_by_modality":[{"modality":"video","tokens":17376}],"total_thought_tokens":415},"created":"2026-08-12T21:26:20Z","updated":"2026-08-12T21:26:20Z","event_id":"EVENT_ID","object":"interaction","model":"gemini-omni-flash-preview"},"event_id":"EVENT_ID","event_type":"interaction.completed"}
event: done
data: [DONE]
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
PROJECT_ID: String yang mewakili project ID Cloud de Confiance by S3NS Anda. -
INTERACTION_ID: ID interaksi dari permintaan.
Metode HTTP dan URL:
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true"
PowerShell
Jalankan perintah berikut:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true" | Select-Object -Expand Content
event: interaction.created
data: {"interaction":{"id":"INTERACTION_ID","status":"in_progress","object":"interaction","model":"gemini-omni-flash-preview"},"event_type":"interaction.created"}
event: interaction.status_update
data: {"interaction_id":"INTERACTION_ID","status":"in_progress","event_type":"interaction.status_update"}
event: step.start
data: {"index":0,"step":{"type":"thought"},"event_type":"step.start"}
event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}
event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}
event: step.delta
data: {"index":0,"delta":{"signature":"...","type":"thought_signature"},"event_type":"step.delta"}
event: step.stop
data: {"index":0,"event_type":"step.stop"}
event: step.start
data: {"index":1,"step":{"type":"model_output"},"event_type":"step.start"}
event: step.delta
data: {"index":1,"delta":{"mime_type":"video/mp4","uri":"gs://some/output_path/123.mp4","type":"video"},"event_id":"EVENT_ID","event_type":"step.delta"}
event: step.stop
data: {"index":1,"event_type":"step.stop"}
event: interaction.completed
data: {"interaction":{"id":"INTERACTION_ID","status":"completed","usage":{"total_tokens":17664,"total_input_tokens":21,"input_tokens_by_modality":[{"modality":"text","tokens":21}],"total_output_tokens":17376,"output_tokens_by_modality":[{"modality":"video","tokens":17376}],"total_thought_tokens":267},"created":"2026-08-12T21:33:08Z","updated":"2026-08-12T21:33:08Z","event_id":"EVENT_ID","object":"interaction","model":"gemini-omni-flash-preview"},"event_id":"EVENT_ID","event_type":"interaction.completed"}
event: done
data: [DONE]
Asinkron
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
PROJECT_ID: String yang mewakili project ID Cloud de Confiance by S3NS Anda. -
MODEL_ID: String yang mewakili ID model yang akan digunakan. Berikut adalah nilai yang diterima:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: Perintah teks yang digunakan untuk memandu pembuatan video. -
CLOUD_STORAGE_INPUT_URI: String yang mewakili bucket Cloud Storage yang berisi media input. Contoh:"gs://video-bucket/input/". -
CLOUD_STORAGE_OUTPUT_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/". -
ASPECT_RATIO: Opsional: String yang merepresentasikan rasio aspek yang diharapkan dari video output. Jika tidak diberikan, rasio aspek akan disimpulkan dari perintah. Berikut adalah nilai yang diterima:"16:9""9:16"
-
OUTPUT_RESOLUTION:Opsional: String yang merepresentasikan resolusi output video. Jika tidak diberikan, output akan ditetapkan secara default ke 720p.
gemini-omni-1.1-flash-previewmendukung nilai berikut:"360p""720p""1080p""4k"
gemini-omni-flash-previewhanya mendukung"720p". -
DURATION: String yang mewakili durasi file video yang dihasilkan. String yang diizinkan adalah bilangan bulat antara3dan10, diikuti dengan "s" untuk detik. Contoh,"10s".
Metode HTTP dan URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Meminta isi JSON:
{
"model": "MODEL_ID",
"input": [
{
"background": true,
"type": "text",
"text": "TEXT_PROMPT"
},
{
"type": "image",
"uri": "CLOUD_STORAGE_INPUT_URI",
"mime_type": "image/png"
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"aspect_ratio": "ASPECT_RATIO",
"resolution": "OUTPUT_RESOLUTION",
"duration": "DURATION"
}
],
"generation_config": {
"video_config": {
"task": "image_to_video"
}
}
}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json,
lalu jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"
PowerShell
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
{
"id":"INTERACTION_ID",
"status":"in_progress",
"object":"interaction"
}
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
PROJECT_ID: String yang mewakili project ID Cloud de Confiance by S3NS Anda. -
INTERACTION_ID: ID interaksi dari permintaan asinkron.
Metode HTTP dan URL:
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID"
PowerShell
Jalankan perintah berikut:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID" | Select-Object -Expand Content
{
"id":"INTERACTION_ID",
"model":"gemini-omni-flash-preview",
"status":"completed",
"usage":{
"total_tokens":479,
"total_input_tokens":26,
"input_tokens_by_modality":[
{
"modality":"text",
"tokens":26
},
{
"modality":"image",
"tokens":124
}
],
"output_tokens_by_modality": [
{
"modality": "video",
"tokens": 28832
}
],
"total_output_tokens":28832,
"total_thought_tokens":453
},
"steps":[
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "5 second, 9:16 video. Use the image as the first frame."
},
{
"type": "image",
"uri": "gs://some/path",
"mime_type": "image/png"
}
]
},
{
"type":"thought"
"summary":[
{
"type":"text",
"text":"MODEL THOUGHTS"
}
],
},
{
"type":"model_output",
"content":[
{
"type":"video",
"data":"VIDEO DATA",
"mime_type":"video/mp4"
}
]
}
],
"object":"interaction"
"role":"model",
"created":"2026-05-29T02:17:56Z",
"updated":"2026-05-29T02:17:56Z",
}
Menggunakan Veo untuk membuat video dari gambar
| Contoh input | Contoh output |
|---|---|
|
|
1 Gambar yang dihasilkan dari perintah: Gajah rajutan dengan pola rumit berjalan di sabana
Anda dapat membuat video baru hanya menggunakan gambar sebagai input, atau gambar dan teks deskriptif sebagai input. Contoh berikut menunjukkan petunjuk dasar untuk membuat video dari gambar dan teks.
Konsol
Di konsol Cloud de Confiance , buka halaman Agent Platform > Media Studio.
Klik Video.
Di menu Task, pilih Image-to-video.
Dari menu Model, pilih model dari opsi yang ditampilkan.
Di kotak Prompt, masukkan perintah teks yang menjelaskan video yang akan dibuat.
Di bagian Input images, klik Start untuk mengupload gambar untuk bingkai pertama.
Opsional: klik Akhiri untuk mengupload gambar untuk frame terakhir.
Opsional: Sesuaikan Parameter berikut:
Rasio aspek: pilih 16:9 atau 9:16.
Number of results: sesuaikan penggeser atau masukkan nilai antara 1 dan 4.
Durasi video: pilih durasi video dari menu.
Direktori output: klik Jelajahi untuk membuat atau memilih bucket Cloud Storage untuk menyimpan file yang dihasilkan.
Klik Run.
Python
Instal
pip install --upgrade google-genai
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Google Gen AI SDK dengan Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Go
Pelajari cara menginstal atau mengupdate Go.
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Google Gen AI SDK dengan Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Node.js
Instal
npm install @google/genai
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Google Gen AI SDK dengan Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Java
Pelajari cara menginstal atau mengupdate Java.
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Google Gen AI SDK dengan Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
REST
Untuk mengetahui informasi selengkapnya tentang Veo API, lihat bagian berikut:
- Metode:
endpoints.predict VideoGenerationModelInstanceVideoGenerationModelParamsVideoGenerationModelResult
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: String yang mewakili Cloud de Confiance by S3NS project ID Anda. -
MODEL_ID: String yang mewakili ID model yang akan digunakan. Berikut adalah nilai yang diterima:- Veo 2:
veo-2.0-generate-001 - Veo 3:
veo-3.0-generate-001 - Veo 3.1:
veo-3.1-generate-001 - Veo 3.1:
veo-3.1-fast-generate-001
- Veo 2:
-
TEXT_PROMPT: Perintah teks yang digunakan untuk memandu pembuatan video. -
INPUT_IMAGE: String berenkode base64 yang mewakili gambar input. Untuk kualitas terbaik, sebaiknya resolusi gambar input adalah 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 bagian 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/". -
RESIZE_MODE: String yang mewakili mode pengubahan ukuran yang akan digunakan. Berikut adalah nilai yang diterima:"crop": Pangkas video agar sesuai dengan ukuran baru."pad": Beri padding pada video agar sesuai dengan ukuran baru.
-
RESPONSE_COUNT: Jumlah file video yang akan dibuat. Rentang nilai yang diterima adalah1-4. -
DURATION: Bilangan bulat yang mewakili durasi file video yang dihasilkan. Berikut adalah nilai yang diterima untuk setiap model:- Model Veo 2:
5-8. Defaultnya adalah8. - Model Veo 3:
4,6, atau8. Defaultnya adalah8.
- Model Veo 2:
-
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 dibuat. 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 hasilkan 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 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""4k"(Khusus model Pratinjau Veo 3.1)
Nilai defaultnya adalah
"720p". -
RESPONSE_COUNT: Opsional. Nilai bilangan bulat yang menjelaskan jumlah video yang akan dibuat. Rentang nilai yang diterima adalah1-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 adalah0-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
Meminta isi JSON:
{ "instances": [ { "prompt": "TEXT_PROMPT", "image": { "bytesBase64Encoded": "INPUT_IMAGE", "mimeType": "MIME_TYPE" } } ], "parameters": { "storageUri": "OUTPUT_STORAGE_URI", "sampleCount": RESPONSE_COUNT "resizeMode": "RESIZE_MODE" } }Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
Permintaan ini menampilkan nama operasi lengkap dengan ID operasi yang unik. Gunakan nama operasi lengkap ini untuk melakukan polling status permintaan pembuatan video.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{ "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8" }-
Opsional: Periksa status operasi yang berjalan lama pembuatan video.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Cloud de Confiance by S3NS 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
Meminta isi JSON:
{ "operationName": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID" }Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
Permintaan ini menampilkan informasi tentang operasi, termasuk apakah operasi masih berjalan atau sudah selesai.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