Veo 3.1 adalah model canggih Google untuk membuat video 8 detik beresolusi 720p atau 1080p dengan fidelitas tinggi yang menampilkan realisme memukau dan audio yang dibuat secara native. Anda dapat mengakses model ini secara terprogram menggunakan Gemini API. Untuk mempelajari lebih lanjut varian model Veo yang tersedia, lihat bagian Versi Model.
Veo 3.1 unggul dalam berbagai gaya visual dan sinematik serta memperkenalkan beberapa kemampuan baru:
- Ekstensi video: Memperpanjang durasi video yang sebelumnya dibuat menggunakan Veo.
- Pembuatan spesifik per frame: Buat video dengan menentukan frame pertama dan terakhir.
- Arah berbasis gambar: Gunakan hingga tiga gambar referensi untuk memandu konten video yang dibuat.
Untuk mengetahui informasi selengkapnya tentang cara menulis perintah teks yang efektif untuk pembuatan video, lihat panduan perintah Veo.
Pembuatan video dari teks
Pilih contoh untuk melihat cara membuat video dengan dialog, realisme sinematik, atau animasi kreatif:
Python
import time
from google import genai
from google.genai import types
client = genai.Client()
prompt = """A close up of two people staring at a cryptic drawing on a wall, torchlight flickering.
A man murmurs, 'This must be it. That's the secret code.' The woman looks at him and whispering excitedly, 'What did you find?'"""
operation = client.models.generate_videos(
model="veo-3.1-generate-preview",
prompt=prompt,
)
# Poll the operation status until the video is ready.
while not operation.done:
print("Waiting for video generation to complete...")
time.sleep(10)
operation = client.operations.get(operation)
# Download the generated video.
generated_video = operation.response.generated_videos[0]
client.files.download(file=generated_video.video)
generated_video.video.save("dialogue_example.mp4")
print("Generated video saved to dialogue_example.mp4")
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
const prompt = `A close up of two people staring at a cryptic drawing on a wall, torchlight flickering.
A man murmurs, 'This must be it. That's the secret code.' The woman looks at him and whispering excitedly, 'What did you find?'`;
let operation = await ai.models.generateVideos({
model: "veo-3.1-generate-preview",
prompt: prompt,
});
// Poll the operation status until the video is ready.
while (!operation.done) {
console.log("Waiting for video generation to complete...")
await new Promise((resolve) => setTimeout(resolve, 10000));
operation = await ai.operations.getVideosOperation({
operation: operation,
});
}
// Download the generated video.
ai.files.download({
file: operation.response.generatedVideos[0].video,
downloadPath: "dialogue_example.mp4",
});
console.log(`Generated video saved to dialogue_example.mp4`);
Go
package main
import (
"context"
"log"
"os"
"time"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
prompt := `A close up of two people staring at a cryptic drawing on a wall, torchlight flickering.
A man murmurs, 'This must be it. That's the secret code.' The woman looks at him and whispering excitedly, 'What did you find?'`
operation, _ := client.Models.GenerateVideos(
ctx,
"veo-3.1-generate-preview",
prompt,
nil,
nil,
)
// Poll the operation status until the video is ready.
for !operation.Done {
log.Println("Waiting for video generation to complete...")
time.Sleep(10 * time.Second)
operation, _ = client.Operations.GetVideosOperation(ctx, operation, nil)
}
// Download the generated video.
video := operation.Response.GeneratedVideos[0]
client.Files.Download(ctx, video.Video, nil)
fname := "dialogue_example.mp4"
_ = os.WriteFile(fname, video.Video.VideoBytes, 0644)
log.Printf("Generated video saved to %s\n", fname)
}
REST
# Note: This script uses jq to parse the JSON response.
# GEMINI API Base URL
BASE_URL="https://generativelanguage.googleapis.com/v1beta"
# Send request to generate video and capture the operation name into a variable.
operation_name=$(curl -s "${BASE_URL}/models/veo-3.1-generate-preview:predictLongRunning" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-X "POST" \
-d '{
"instances": [{
"prompt": "A close up of two people staring at a cryptic drawing on a wall, torchlight flickering. A man murmurs, \"This must be it. That'\''s the secret code.\" The woman looks at him and whispering excitedly, \"What did you find?\""
}
]
}' | jq -r .name)
# Poll the operation status until the video is ready
while true; do
# Get the full JSON status and store it in a variable.
status_response=$(curl -s -H "x-goog-api-key: $GEMINI_API_KEY" "${BASE_URL}/${operation_name}")
# Check the "done" field from the JSON stored in the variable.
is_done=$(echo "${status_response}" | jq .done)
if [ "${is_done}" = "true" ]; then
# Extract the download URI from the final response.
video_uri=$(echo "${status_response}" | jq -r '.response.generateVideoResponse.generatedSamples[0].video.uri')
echo "Downloading video from: ${video_uri}"
# Download the video using the URI and API key and follow redirects.
curl -L -o dialogue_example.mp4 -H "x-goog-api-key: $GEMINI_API_KEY" "${video_uri}"
break
fi
# Wait for 5 seconds before checking again.
sleep 10
done
Pembuatan video dari gambar
Kode berikut menunjukkan cara membuat gambar menggunakan Gemini 2.5 Flash Image alias Nano Banana, lalu menggunakan gambar tersebut sebagai frame awal untuk membuat video dengan Veo 3.1.
Python
import time
from google import genai
client = genai.Client()
prompt = "Panning wide shot of a calico kitten sleeping in the sunshine"
# Step 1: Generate an image with Nano Banana.
image = client.models.generate_content(
model="gemini-2.5-flash-image",
prompt=prompt,
)
# Step 2: Generate video with Veo 3.1 using the image.
operation = client.models.generate_videos(
model="veo-3.1-generate-preview",
prompt=prompt,
image=image.generated_images[0].image,
)
# Poll the operation status until the video is ready.
while not operation.done:
print("Waiting for video generation to complete...")
time.sleep(10)
operation = client.operations.get(operation)
# Download the video.
video = operation.response.generated_videos[0]
client.files.download(file=video.video)
video.video.save("veo3_with_image_input.mp4")
print("Generated video saved to veo3_with_image_input.mp4")
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
const prompt = "Panning wide shot of a calico kitten sleeping in the sunshine";
// Step 1: Generate an image with Nano Banana.
const imageResponse = await ai.models.generateContent({
model: "gemini-2.5-flash-image",
prompt: prompt,
});
// Step 2: Generate video with Veo 3.1 using the image.
let operation = await ai.models.generateVideos({
model: "veo-3.1-generate-preview",
prompt: prompt,
image: {
imageBytes: imageResponse.generatedImages[0].image.imageBytes,
mimeType: "image/png",
},
});
// Poll the operation status until the video is ready.
while (!operation.done) {
console.log("Waiting for video generation to complete...")
await new Promise((resolve) => setTimeout(resolve, 10000));
operation = await ai.operations.getVideosOperation({
operation: operation,
});
}
// Download the video.
ai.files.download({
file: operation.response.generatedVideos[0].video,
downloadPath: "veo3_with_image_input.mp4",
});
console.log(`Generated video saved to veo3_with_image_input.mp4`);
Go
package main
import (
"context"
"log"
"os"
"time"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
prompt := "Panning wide shot of a calico kitten sleeping in the sunshine"
// Step 1: Generate an image with Nano Banana.
imageResponse, err := client.Models.GenerateContent(
ctx,
"gemini-2.5-flash-image",
prompt,
nil, // GenerateImagesConfig
)
if err != nil {
log.Fatal(err)
}
// Step 2: Generate video with Veo 3.1 using the image.
operation, err := client.Models.GenerateVideos(
ctx,
"veo-3.1-generate-preview",
prompt,
imageResponse.GeneratedImages[0].Image,
nil, // GenerateVideosConfig
)
if err != nil {
log.Fatal(err)
}
// Poll the operation status until the video is ready.
for !operation.Done {
log.Println("Waiting for video generation to complete...")
time.Sleep(10 * time.Second)
operation, _ = client.Operations.GetVideosOperation(ctx, operation, nil)
}
// Download the video.
video := operation.Response.GeneratedVideos[0]
client.Files.Download(ctx, video.Video, nil)
fname := "veo3_with_image_input.mp4"
_ = os.WriteFile(fname, video.Video.VideoBytes, 0644)
log.Printf("Generated video saved to %s\n", fname)
}
Menggunakan gambar referensi
Veo 3.1 kini menerima hingga 3 gambar referensi untuk memandu konten video yang dihasilkan. Berikan gambar orang, karakter, atau produk untuk mempertahankan penampilan subjek dalam video output.
Misalnya, menggunakan tiga gambar yang dihasilkan dengan Nano Banana sebagai referensi dengan perintah yang ditulis dengan baik akan membuat video berikut:
`dress_image` |
`woman_image` |
`glasses_image` |
---|---|---|
![]() |
![]() |
![]() |
Python
import time
from google import genai
client = genai.Client()
prompt = "The video opens with a medium, eye-level shot of a beautiful woman with dark hair and warm brown eyes. She wears a magnificent, high-fashion flamingo dress with layers of pink and fuchsia feathers, complemented by whimsical pink, heart-shaped sunglasses. She walks with serene confidence through the crystal-clear, shallow turquoise water of a sun-drenched lagoon. The camera slowly pulls back to a medium-wide shot, revealing the breathtaking scene as the dress's long train glides and floats gracefully on the water's surface behind her. The cinematic, dreamlike atmosphere is enhanced by the vibrant colors of the dress against the serene, minimalist landscape, capturing a moment of pure elegance and high-fashion fantasy."
dress_reference = types.VideoGenerationReferenceImage(
image=dress_image, # Generated separately with Nano Banana
reference_type="asset"
)
sunglasses_reference = types.VideoGenerationReferenceImage(
image=glasses_image, # Generated separately with Nano Banana
reference_type="asset"
)
woman_reference = types.VideoGenerationReferenceImage(
image=woman_image, # Generated separately with Nano Banana
reference_type="asset"
)
operation = client.models.generate_videos(
model="veo-3.1-generate-preview",
prompt=prompt,
config=types.GenerateVideosConfig(
reference_images=[dress_reference, glasses_reference, woman_reference],
),
)
# Poll the operation status until the video is ready.
while not operation.done:
print("Waiting for video generation to complete...")
time.sleep(10)
operation = client.operations.get(operation)
# Download the video.
video = operation.response.generated_videos[0]
client.files.download(file=video.video)
video.video.save("veo3.1_with_reference_images.mp4")
print("Generated video saved to veo3.1_with_reference_images.mp4")

Menggunakan frame pertama dan terakhir
Veo 3.1 memungkinkan Anda membuat video menggunakan interpolasi, atau menentukan frame pertama dan terakhir video. Untuk mengetahui informasi tentang cara menulis perintah teks yang efektif untuk pembuatan video, lihat panduan perintah Veo.
Python
import time
from google import genai
client = genai.Client()
prompt = "A cinematic, haunting video. A ghostly woman with long white hair and a flowing dress swings gently on a rope swing beneath a massive, gnarled tree in a foggy, moonlit clearing. The fog thickens and swirls around her, and she slowly fades away, vanishing completely. The empty swing is left swaying rhythmically on its own in the eerie silence."
operation = client.models.generate_videos(
model="veo-3.1-generate-preview",
prompt=prompt,
image=first_image, # Generated separately with Nano Banana
config=types.GenerateVideosConfig(
last_frame=last_image # Generated separately with Nano Banana
),
)
# Poll the operation status until the video is ready.
while not operation.done:
print("Waiting for video generation to complete...")
time.sleep(10)
operation = client.operations.get(operation)
# Download the video.
video = operation.response.generated_videos[0]
client.files.download(file=video.video)
video.video.save("veo3.1_with_interpolation.mp4")
print("Generated video saved to veo3.1_with_interpolation.mp4")
`first_image` |
`last_image` |
veo3.1_with_interpolation.mp4 |
---|---|---|
![]() |
![]() |
![]() |
Memperpanjang durasi video Veo
Gunakan Veo 3.1 untuk memperpanjang video yang sebelumnya Anda buat dengan Veo hingga 7 detik dan hingga 20 kali.
Batasan video input:
- Video yang dibuat Veo hanya berdurasi hingga 141 detik.
- Gemini API hanya mendukung ekstensi video untuk video yang dibuat Veo.
- Video input diharapkan memiliki durasi, rasio aspek, dan dimensi tertentu:
- Rasio aspek: 9:16 atau 16:9
- Resolusi: 720p
- Durasi video: 141 detik atau kurang
Output ekstensi adalah satu video yang menggabungkan video input pengguna dan video yang diperpanjang yang dihasilkan hingga 148 detik video.
Contoh ini mengambil video yang dibuat Veo butterfly_video, yang ditampilkan di sini dengan perintah aslinya, dan memperluasnya menggunakan parameter video
dan perintah baru:
Perintah | Output: butterfly_video |
---|---|
Kupu-kupu origami mengepakkan sayapnya dan terbang keluar dari pintu kaca menuju taman. |
![]() |
Python
import time
from google import genai
client = genai.Client()
prompt = "Track the butterfly into the garden as it lands on an orange origami flower. A fluffy white puppy runs up and gently pats the flower."
operation = client.models.generate_videos(
model="veo-3.1-generate-preview",
video=butterfly_video,
prompt=prompt,
config=types.GenerateVideosConfig(
number_of_videos=1,
resolution="720p"
),
)
# Poll the operation status until the video is ready.
while not operation.done:
print("Waiting for video generation to complete...")
time.sleep(10)
operation = client.operations.get(operation)
# Download the video.
video = operation.response.generated_videos[0]
client.files.download(file=video.video)
video.video.save("veo3.1_extension.mp4")
print("Generated video saved to veo3.1_extension.mp4")

Untuk mengetahui informasi tentang cara menulis perintah teks yang efektif untuk pembuatan video, lihat panduan perintah Veo.
Menangani operasi asinkron
Pembuatan video adalah tugas yang intensif secara komputasi. Saat Anda mengirim permintaan
ke API, API akan memulai tugas yang berjalan lama dan segera menampilkan objek operation
. Kemudian, Anda harus melakukan polling hingga video siap, yang ditunjukkan oleh status
done
yang benar.
Inti dari proses ini adalah loop polling, yang secara berkala memeriksa status tugas.
Python
import time
from google import genai
from google.genai import types
client = genai.Client()
# After starting the job, you get an operation object.
operation = client.models.generate_videos(
model="veo-3.1-generate-preview",
prompt="A cinematic shot of a majestic lion in the savannah.",
)
# Alternatively, you can use operation.name to get the operation.
operation = types.GenerateVideosOperation(name=operation.name)
# This loop checks the job status every 10 seconds.
while not operation.done:
time.sleep(10)
# Refresh the operation object to get the latest status.
operation = client.operations.get(operation)
# Once done, the result is in operation.response.
# ... process and download your video ...
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
// After starting the job, you get an operation object.
let operation = await ai.models.generateVideos({
model: "veo-3.1-generate-preview",
prompt: "A cinematic shot of a majestic lion in the savannah.",
});
// Alternatively, you can use operation.name to get the operation.
// operation = types.GenerateVideosOperation(name=operation.name)
// This loop checks the job status every 10 seconds.
while (!operation.done) {
await new Promise((resolve) => setTimeout(resolve, 1000));
// Refresh the operation object to get the latest status.
operation = await ai.operations.getVideosOperation({ operation });
}
// Once done, the result is in operation.response.
// ... process and download your video ...
Parameter dan spesifikasi Veo API
Berikut adalah parameter yang dapat Anda tetapkan dalam permintaan API untuk mengontrol proses pembuatan video.
Parameter | Deskripsi | Veo 3.1 & Veo 3.1 Fast | Veo 3 & Veo 3 Fast | Veo 2 |
---|---|---|---|---|
prompt |
Deskripsi teks untuk video. Mendukung isyarat audio. | string |
string |
string |
negativePrompt |
Teks yang menjelaskan apa yang tidak boleh disertakan dalam video. | string |
string |
string |
image |
Gambar awal yang akan dianimasikan. | Objek Image |
Objek Image |
Objek Image |
lastFrame |
Gambar akhir untuk transisi video interpolasi. Harus digunakan bersama dengan parameter image . |
Objek Image |
Objek Image |
Objek Image |
referenceImages |
Hingga tiga gambar yang akan digunakan sebagai referensi gaya dan konten. | Objek VideoGenerationReferenceImage (khusus Veo 3.1) |
t/a | t/a |
video |
Video yang akan digunakan untuk ekstensi video. | Objek Video |
t/a | t/a |
aspectRatio |
Rasio aspek video. | "16:9" (default, 720p & 1080p),"9:16" (720p & 1080p) |
"16:9" (default, 720p & 1080p),"9:16" (720p & 1080p) |
"16:9" (default, 720p),"9:16" (720p) |
resolution |
Rasio aspek video. | "720p" (default), "1080p" (hanya mendukung durasi 8 detik)"720p" hanya untuk ekstensi |
"720p" (default), "1080p" (khusus 16:9) |
Tidak didukung |
durationSeconds |
Durasi video yang dibuat. | "4" , "6" , "8" .Harus "8" saat menggunakan ekstensi atau interpolasi (mendukung 16:9 dan 9:16), dan saat menggunakan referenceImages (hanya mendukung 16:9) |
"4" , "6" , "8" |
"5" , "6" , "8" |
personGeneration |
Mengontrol pembuatan orang. (Lihat Batasan untuk mengetahui batasan wilayah) |
Text-to-video & Ekstensi:"allow_all" sajaImage-to-video, Interpolasi, & Gambar referensi: "allow_adult" saja
|
Teks ke video:"allow_all" sajaGambar ke video: "allow_adult" saja
|
Teks ke video: "allow_all" , "allow_adult" , "dont_allow"
Gambar ke video: "allow_adult" , dan "dont_allow"
|
Perhatikan bahwa parameter seed
juga tersedia untuk model Veo 3.
Hal ini tidak menjamin determinisme, tetapi sedikit meningkatkannya.
Anda dapat menyesuaikan pembuatan video dengan menetapkan parameter dalam permintaan.
Misalnya, Anda dapat menentukan negativePrompt
untuk memandu model.
Python
import time
from google import genai
from google.genai import types
client = genai.Client()
operation = client.models.generate_videos(
model="veo-3.1-generate-preview",
prompt="A cinematic shot of a majestic lion in the savannah.",
config=types.GenerateVideosConfig(negative_prompt="cartoon, drawing, low quality"),
)
# Poll the operation status until the video is ready.
while not operation.done:
print("Waiting for video generation to complete...")
time.sleep(10)
operation = client.operations.get(operation)
# Download the generated video.
generated_video = operation.response.generated_videos[0]
client.files.download(file=generated_video.video)
generated_video.video.save("parameters_example.mp4")
print("Generated video saved to parameters_example.mp4")
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
let operation = await ai.models.generateVideos({
model: "veo-3.1-generate-preview",
prompt: "A cinematic shot of a majestic lion in the savannah.",
config: {
aspectRatio: "16:9",
negativePrompt: "cartoon, drawing, low quality"
},
});
// Poll the operation status until the video is ready.
while (!operation.done) {
console.log("Waiting for video generation to complete...")
await new Promise((resolve) => setTimeout(resolve, 10000));
operation = await ai.operations.getVideosOperation({
operation: operation,
});
}
// Download the generated video.
ai.files.download({
file: operation.response.generatedVideos[0].video,
downloadPath: "parameters_example.mp4",
});
console.log(`Generated video saved to parameters_example.mp4`);
Go
package main
import (
"context"
"log"
"os"
"time"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
videoConfig := &genai.GenerateVideosConfig{
AspectRatio: "16:9",
NegativePrompt: "cartoon, drawing, low quality",
}
operation, _ := client.Models.GenerateVideos(
ctx,
"veo-3.1-generate-preview",
"A cinematic shot of a majestic lion in the savannah.",
nil,
videoConfig,
)
// Poll the operation status until the video is ready.
for !operation.Done {
log.Println("Waiting for video generation to complete...")
time.Sleep(10 * time.Second)
operation, _ = client.Operations.GetVideosOperation(ctx, operation, nil)
}
// Download the generated video.
video := operation.Response.GeneratedVideos[0]
client.Files.Download(ctx, video.Video, nil)
fname := "parameters_example.mp4"
_ = os.WriteFile(fname, video.Video.VideoBytes, 0644)
log.Printf("Generated video saved to %s\n", fname)
}
REST
# Note: This script uses jq to parse the JSON response.
# GEMINI API Base URL
BASE_URL="https://generativelanguage.googleapis.com/v1beta"
# Send request to generate video and capture the operation name into a variable.
operation_name=$(curl -s "${BASE_URL}/models/veo-3.1-generate-preview:predictLongRunning" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-X "POST" \
-d '{
"instances": [{
"prompt": "A cinematic shot of a majestic lion in the savannah."
}
],
"parameters": {
"aspectRatio": "16:9",
"negativePrompt": "cartoon, drawing, low quality"
}
}' | jq -r .name)
# Poll the operation status until the video is ready
while true; do
# Get the full JSON status and store it in a variable.
status_response=$(curl -s -H "x-goog-api-key: $GEMINI_API_KEY" "${BASE_URL}/${operation_name}")
# Check the "done" field from the JSON stored in the variable.
is_done=$(echo "${status_response}" | jq .done)
if [ "${is_done}" = "true" ]; then
# Extract the download URI from the final response.
video_uri=$(echo "${status_response}" | jq -r '.response.generateVideoResponse.generatedSamples[0].video.uri')
echo "Downloading video from: ${video_uri}"
# Download the video using the URI and API key and follow redirects.
curl -L -o parameters_example.mp4 -H "x-goog-api-key: $GEMINI_API_KEY" "${video_uri}"
break
fi
# Wait for 5 seconds before checking again.
sleep 10
done
Panduan perintah Veo
Bagian ini berisi contoh video yang dapat Anda buat menggunakan Veo, dan menunjukkan cara mengubah perintah untuk menghasilkan hasil yang berbeda.
Filter keamanan
Veo menerapkan filter keamanan di Gemini untuk membantu memastikan bahwa video yang dihasilkan dan foto yang diupload tidak berisi konten yang menyinggung. Perintah yang melanggar persyaratan dan pedoman kami akan diblokir.
Dasar-dasar penulisan perintah
Perintah yang baik bersifat deskriptif dan jelas. Untuk mendapatkan hasil maksimal dari Veo, mulailah dengan mengidentifikasi ide inti Anda, menyempurnakan ide Anda dengan menambahkan kata kunci dan pengubah, serta memasukkan terminologi khusus video ke dalam perintah Anda.
Elemen berikut harus disertakan dalam perintah Anda:
- Subjek: Objek, orang, hewan, atau pemandangan yang Anda inginkan dalam video, seperti pemandangan kota, alam, kendaraan, atau anak.
- Tindakan: Apa yang dilakukan subjek (misalnya, berjalan, berlari, atau menolehkan kepala).
- Gaya: Tentukan arah kreatif menggunakan kata kunci gaya film tertentu, seperti sci-fi, film horor, film noir, atau gaya animasi seperti kartun.
- Pemosisian dan gerakan kamera: [Opsional] Kontrol lokasi dan gerakan kamera menggunakan istilah seperti tampilan dari atas, sejajar mata, bidikan dari atas, dolly shot, atau worms eye.
- Komposisi: [Opsional] Cara pengambilan gambar, seperti wide shot, close-up, single-shot, atau two-shot.
- Efek fokus dan lensa: [Opsional] Gunakan istilah seperti fokus dangkal, fokus dalam, fokus lembut, lensa makro, dan lensa sudut lebar untuk mendapatkan efek visual tertentu.
- Suasana: [Opsional] Bagaimana warna dan cahaya berkontribusi pada adegan, seperti nuansa biru, malam, atau nuansa hangat.
Tips lainnya untuk menulis perintah
- Gunakan bahasa deskriptif: Gunakan kata sifat dan kata keterangan untuk memberikan gambaran yang jelas kepada Veo.
- Meningkatkan kualitas detail wajah: Tentukan detail wajah sebagai fokus foto, seperti menggunakan kata potret dalam perintah.
Untuk strategi penulisan perintah yang lebih komprehensif, buka Pengantar desain perintah.
Meminta audio
Dengan Veo 3, Anda dapat memberikan petunjuk untuk efek suara, suara bising di sekitar, dan dialog. Model ini menangkap nuansa isyarat ini untuk menghasilkan soundtrack yang disinkronkan.
- Dialog: Gunakan kutipan untuk ucapan tertentu. (Contoh: "Ini pasti kuncinya," gumamnya.)
- Efek Suara (SFX): Mendeskripsikan suara secara eksplisit. (Contoh: ban berdecit keras, deru mesin.)
- Suara Latar: Jelaskan lanskap suara lingkungan. (Contoh: Suara dengungan samar dan aneh beresonansi di latar belakang.)
Video ini menunjukkan perintah pembuatan audio Veo 3 dengan tingkat detail yang meningkat.
Perintah | Output yang dihasilkan |
---|---|
Detail lainnya (Dialog dan suasana) Gambar lebar hutan Pacific Northwest yang berkabut. Dua pendaki yang kelelahan, seorang pria dan seorang wanita, berjalan melewati pakis ketika pria itu tiba-tiba berhenti, menatap pohon. Tampilan close-up: Bekas cakaran yang dalam dan baru terlihat di kulit pohon. Pria: (Tangan di pisau berburunya) "Itu bukan beruang biasa." Perempuan: (Suara tegang karena takut, memindai hutan) "Lalu apa itu?" Kulit kayu yang kasar, ranting yang patah, langkah kaki di tanah yang lembap. Seekor burung berkicau. |
![]() |
Lebih sedikit detail (Dialog) Animasi Potongan Kertas. Pustakawan Baru: "Di mana Anda menyimpan buku-buku terlarang?" Kurator Lama: "Tidak. Mereka menjaga kita." |
![]() |
Coba sendiri perintah ini untuk mendengar audionya. Coba Veo 3
Menulis perintah dengan gambar referensi
Anda dapat menggunakan satu atau beberapa gambar sebagai input untuk memandu video yang dibuat, menggunakan kemampuan image-to-video Veo. Veo menggunakan gambar input sebagai frame awal. Pilih gambar yang paling mendekati adegan pertama video Anda untuk menganimasikan objek sehari-hari, menghidupkan gambar dan lukisan, serta menambahkan gerakan dan suara ke pemandangan alam.
Perintah | Output yang dihasilkan |
---|---|
Gambar input (Dibuat oleh Nano Banana) Foto makro hiperrealistis peselancar miniatur kecil yang sedang berselancar di ombak laut di dalam wastafel kamar mandi batu yang rustic. Keran kuningan antik mengalirkan air, menciptakan ombak abadi. Surealis, unik, pencahayaan alami yang terang. |
![]() |
Video Output (Dibuat oleh Veo 3.1) Video makro sinematik yang surealis. Peselancar kecil menunggangi ombak yang terus bergulung di dalam wastafel kamar mandi batu. Keran kuningan antik yang mengalirkan air akan menghasilkan ombak tanpa henti. Kamera perlahan-lahan menggeser adegan yang unik dan bermandikan sinar matahari saat sosok miniatur dengan ahli mengukir air biru kehijauan. |
![]() |
Veo 3.1 memungkinkan Anda mereferensikan gambar atau bahan untuk mengarahkan konten video yang dihasilkan. Berikan hingga tiga gambar aset dari satu orang, karakter, atau produk. Veo mempertahankan penampilan subjek dalam video output.
Perintah | Output yang dihasilkan |
---|---|
Gambar referensi (Dibuat oleh Nano Banana) Ikan pemancing laut dalam bersembunyi di air gelap yang dalam, dengan gigi terbuka dan umpan bercahaya. |
![]() |
Gambar referensi (Dibuat oleh Nano Banana) Kostum putri anak berwarna merah muda lengkap dengan tongkat dan tiara, di latar belakang produk polos. |
![]() |
Video Output (Dibuat oleh Veo 3.1) Buat versi kartun konyol dari ikan yang mengenakan kostum, berenang, dan mengayunkan tongkat. |
![]() |
Dengan Veo 3.1, Anda juga dapat membuat video dengan menentukan frame pertama dan terakhir video.
Perintah | Output yang dihasilkan |
---|---|
Gambar pertama (Dibuat oleh Nano Banana) Gambar depan realistis berkualitas tinggi dari seekor kucing oranye yang mengendarai mobil balap convertible merah di pesisir French Riviera. |
![]() |
Gambar terakhir (Dibuat oleh Nano Banana) Tunjukkan apa yang terjadi saat mobil melaju dari tebing. |
![]() |
Video Output (Dibuat oleh Veo 3.1) Opsional |
![]() |
Fitur ini memberi Anda kontrol yang presisi atas komposisi bidikan dengan memungkinkan Anda menentukan frame awal dan akhir. Upload gambar atau gunakan frame dari pembuatan video sebelumnya untuk memastikan adegan Anda dimulai dan diakhiri persis seperti yang Anda bayangkan.
Meminta ekstensi
Untuk memperpanjang video yang dibuat Veo dengan Veo 3.1, gunakan video tersebut sebagai input bersama dengan perintah teks opsional. Perpanjang menyelesaikan detik terakhir atau 24 frame video Anda dan melanjutkan tindakan.
Perhatikan bahwa suara tidak dapat diperpanjang secara efektif jika tidak ada dalam 1 detik terakhir video.
Perintah | Output yang dihasilkan |
---|---|
Video input (Dibuat oleh Veo 3.1) Paralayang lepas landas dari puncak gunung dan mulai meluncur menuruni gunung yang menghadap ke lembah yang tertutup bunga di bawahnya. |
![]() |
Video Output (Dibuat oleh Veo 3.1) Perpanjang video ini dengan paralayang yang turun perlahan. |
![]() |
Contoh perintah dan output
Bagian ini menyajikan beberapa perintah, yang menyoroti bagaimana detail deskriptif dapat meningkatkan hasil setiap video.
Bunga Es
Video ini menunjukkan cara menggunakan elemen dasar-dasar penulisan perintah dalam perintah Anda.
Perintah | Output yang dihasilkan |
---|---|
Bidikan close-up (komposisi) tetesan es yang mencair (subjek) di dinding batu beku (konteks) dengan nuansa biru dingin (suasana), diperbesar (gerakan kamera) sambil mempertahankan detail close-up tetesan air (tindakan). |
![]() |
Pria sedang menelepon
Video ini menunjukkan cara merevisi perintah Anda dengan detail yang semakin spesifik agar Veo menyempurnakan output sesuai keinginan Anda.
Perintah | Output yang dihasilkan |
---|---|
Lebih sedikit detail Kamera bergerak untuk menampilkan close-up seorang pria putus asa yang mengenakan jas hujan hijau. Dia sedang menelepon menggunakan telepon dinding putar dengan lampu neon hijau. Ini terlihat seperti adegan film. |
![]() |
Detail selengkapnya Bidikan sinematik close-up mengikuti seorang pria putus asa yang mengenakan jas hujan hijau usang saat dia memutar telepon putar yang terpasang di dinding bata yang kotor, bermandikan cahaya aneh dari tanda neon hijau. Kamera bergerak mendekat, memperlihatkan ketegangan di rahangnya dan keputusasaan yang terukir di wajahnya saat ia berjuang untuk melakukan panggilan. Kedalaman bidang gambar yang dangkal berfokus pada kerutan di dahinya dan telepon putar hitam, mengaburkan latar belakang menjadi lautan warna neon dan bayangan yang tidak jelas, sehingga menciptakan rasa urgensi dan isolasi. |
![]() |
Macan tutul salju
Perintah | Output yang dihasilkan |
---|---|
Perintah sederhana: Makhluk lucu dengan bulu seperti macan tutul salju sedang berjalan di hutan musim dingin, rendering gaya kartun 3D. |
![]() |
Perintah mendetail: Buat adegan animasi 3D pendek dalam gaya kartun yang ceria. Makhluk imut dengan bulu seperti macan tutul salju, mata besar yang ekspresif, dan bentuk bulat yang ramah, dengan riang melompat-lompat di hutan musim dingin yang unik. Pemandangan harus menampilkan pohon bulat yang tertutup salju, kepingan salju yang jatuh dengan lembut, dan sinar matahari hangat yang menembus ranting. Gerakan makhluk yang melompat-lompat dan senyum lebar harus menyampaikan kegembiraan murni. Gunakan gaya bahasa yang ceria dan menyentuh hati dengan warna-warna cerah dan ceria serta animasi yang menyenangkan. |
![]() |
Contoh menurut elemen penulisan
Contoh ini menunjukkan cara menyempurnakan perintah Anda berdasarkan setiap elemen dasar.
Subjek dan konteks
Tentukan fokus utama (subjek) dan latar belakang atau lingkungan (konteks).
Perintah | Output yang dihasilkan |
---|---|
Rendering arsitektur bangunan apartemen beton putih dengan bentuk organik yang mengalir, yang berpadu mulus dengan tanaman hijau yang rimbun dan elemen futuristik |
![]() |
Satelit mengambang di luar angkasa dengan bulan dan beberapa bintang di latar belakang. |
![]() |
Tindakan
Tentukan apa yang dilakukan subjek (misalnya, berjalan, berlari, atau menoleh).
Perintah | Output yang dihasilkan |
---|---|
Gambar lebar seorang wanita berjalan di sepanjang pantai, tampak puas dan santai saat melihat cakrawala saat matahari terbenam. |
![]() |
Gaya
Tambahkan kata kunci untuk mengarahkan pembuatan ke estetika tertentu (misalnya, surealis, vintage, futuristik, film noir).
Perintah | Output yang dihasilkan |
---|---|
Gaya film noir, pria dan wanita berjalan di jalan, misteri, sinematik, hitam putih. |
![]() |
Gerakan dan komposisi kamera
Tentukan cara kamera bergerak (bidikan POV, tampilan udara, tampilan drone pelacak) dan cara pengambilan gambar (bidikan lebar, close-up, sudut rendah).
Perintah | Output yang dihasilkan |
---|---|
Bidikan POV dari mobil vintage yang melaju di tengah hujan, Kanada pada malam hari, sinematik. |
![]() |
Close-up ekstrem mata dengan pantulan kota di dalamnya. |
![]() |
Suasana
Palet warna dan pencahayaan memengaruhi suasana hati. Coba istilah seperti "oranye redup nuansa hangat", "cahaya alami", "matahari terbit", atau "nuansa biru dingin".
Perintah | Output yang dihasilkan |
---|---|
Tampilan dekat seorang gadis yang memegang anak golden retriever yang menggemaskan di taman, sinar matahari. |
![]() |
Bidikan close-up sinematik seorang wanita sedih yang sedang menaiki bus saat hujan, dengan nuansa biru dingin, suasana sedih. |
![]() |
Perintah negatif
Perintah negatif menentukan elemen yang tidak Anda inginkan dalam video.
- ❌ Jangan gunakan bahasa instruktif seperti tidak atau jangan. (mis., "Tanpa dinding").
- ✅ Jelaskan hal yang tidak ingin Anda lihat. (mis., "dinding, bingkai").
Perintah | Output yang dihasilkan |
---|---|
Tanpa Perintah Negatif: Buat animasi pendek bergaya dari pohon oak besar yang berdiri sendiri dengan daun-daun yang tertiup angin kencang... [truncated] |
![]() |
Dengan Perintah Negatif: [Perintah yang sama] Perintah negatif: latar belakang perkotaan, struktur buatan manusia, suasana gelap, badai, atau mengancam. |
![]() |
Rasio aspek
Veo memungkinkan Anda menentukan rasio aspek untuk video Anda.
Perintah | Output yang dihasilkan |
---|---|
Layar lebar (16:9) Buat video dengan tampilan drone pelacak seorang pria yang mengendarai mobil convertible merah di Palm Springs, tahun 1970-an, sinar matahari hangat, bayangan panjang. |
![]() |
Potret (9:16) Buat video yang menyoroti gerakan lancar air terjun Hawaii yang megah di dalam hutan hujan yang rimbun. Berfokus pada aliran air yang realistis, dedaunan yang detail, dan pencahayaan alami untuk menyampaikan ketenangan. Abadikan air yang mengalir deras, suasana berkabut, dan sinar matahari yang menembus kanopi hutan yang lebat. Gunakan gerakan kamera yang halus dan sinematik untuk menampilkan air terjun dan sekitarnya. Gunakan nada yang tenang dan realistis, sehingga penonton dapat merasakan keindahan hutan hujan Hawaii yang tenang. |
![]() |
Batasan
- Latensi permintaan: Min: 11 detik; Maks: 6 menit (selama jam sibuk).
- Batasan regional: Di lokasi Uni Eropa, Inggris Raya, Swiss, MENA, berikut
adalah nilai yang diizinkan untuk
personGeneration
:- Veo 3:
allow_adult
saja. - Veo 2:
dont_allow
danallow_adult
. Jumlah defaultnya adalahdont_allow
- Veo 3:
- Retensi video: Video yang dibuat disimpan di server selama 2 hari, setelah itu video akan dihapus. Untuk menyimpan salinan lokal, Anda harus mendownload video dalam waktu 2 hari setelah dibuat. Video yang diperpanjang durasinya diperlakukan sebagai video yang baru dibuat.
- Watermarking: Video yang dibuat oleh Veo diberi watermark menggunakan SynthID, alat kami untuk memberi watermark dan mengidentifikasi konten buatan AI. Video dapat diverifikasi menggunakan platform verifikasi SynthID.
- Keamanan: Video yang dihasilkan melewati filter keamanan dan proses pemeriksaan memori yang membantu mengurangi risiko privasi, hak cipta, dan bias.
- Error audio: Veo 3.1 terkadang memblokir pembuatan video karena filter keamanan atau masalah pemrosesan lainnya dengan audio. Anda tidak akan dikenai biaya jika video Anda diblokir agar tidak dibuat.
Fitur model
Fitur | Deskripsi | Veo 3.1 & Veo 3.1 Fast | Veo 3 & Veo 3 Fast | Veo 2 |
---|---|---|---|---|
Audio | Membuat audio dengan video secara native. | Membuat audio dengan video secara native. | ✔️ Selalu aktif | ❌ Hanya senyap |
Modalitas Input | Jenis input yang digunakan untuk pembuatan. | Teks ke Video, Gambar ke Video, Video ke Video | Teks ke Video, Gambar ke Video | Teks ke Video, Gambar ke Video |
Resolusi | Resolusi output video. | 720p & 1080p (khusus durasi 8 detik) Khusus 720p saat menggunakan ekstensi video. |
720p & 1080p (khusus 16:9) | 720p |
Frekuensi Gambar | Frekuensi gambar output video. | 24 fps | 24 fps | 24 fps |
Durasi Video | Durasi video yang dibuat. | 8 detik, 6 detik, 4 detik 8 detik hanya saat menggunakan gambar referensi |
8 detik | 5-8 detik |
Video per Permintaan | Jumlah video yang dibuat per permintaan. | 1 | 1 | 1 atau 2 |
Status & Detail | Ketersediaan model dan detail selengkapnya. | Pratinjau | Stabil | Stabil |
Versi model
Lihat halaman Harga dan Batas kecepatan untuk mengetahui detail penggunaan khusus model Veo selengkapnya.
Pratinjau Veo 3.1
Properti | Deskripsi |
---|---|
Kode model |
Gemini API
|
Jenis data yang didukung |
Input Teks, Gambar Output Video dengan audio |
Batas |
Input teks 1.024 token Video output 1 |
Pembaruan terbaru | September 2025 |
Pratinjau Cepat Veo 3.1
Properti | Deskripsi |
---|---|
Kode model |
Gemini API
|
Jenis data yang didukung |
Input Teks, Gambar Output Video dengan audio |
Batas |
Input teks 1.024 token Video output 1 |
Pembaruan terbaru | September 2025 |
Veo 3
Properti | Deskripsi |
---|---|
Kode model |
Gemini API
|
Jenis data yang didukung |
Input Teks, Gambar Output Video dengan audio |
Batas |
Input teks 1.024 token Video output 1 |
Pembaruan terbaru | Juli 2025 |
Veo 3 Fast
Veo 3 Fast memungkinkan developer membuat video dengan suara sekaligus mempertahankan kualitas tinggi dan mengoptimalkan kecepatan serta kasus penggunaan bisnis. API ini ideal untuk layanan backend yang membuat iklan secara terprogram, alat untuk pengujian A/B cepat konsep materi iklan, atau aplikasi yang perlu membuat konten media sosial dengan cepat.Properti | Deskripsi |
---|---|
Kode model |
Gemini API
|
Jenis data yang didukung |
Input Teks, Gambar Output Video dengan audio |
Batas |
Input teks 1.024 token Video output 1 |
Pembaruan terbaru | Juli 2025 |
Veo 2
Properti | Deskripsi |
---|---|
Kode model |
Gemini API
|
Jenis data yang didukung |
Input Teks, gambar Output Video |
Batas |
Input teks T/A Input gambar Resolusi dan rasio aspek gambar apa pun hingga ukuran file 20 MB Video output Maksimal 2 |
Pembaruan terbaru | April 2025 |
Langkah berikutnya
- Mulai menggunakan Veo 3.1 API dengan bereksperimen di Veo Quickstart Colab dan applet Veo 3.1.
- Pelajari cara menulis perintah yang lebih baik lagi dengan Pengantar desain perintah kami.