Claude Opus 5 is now live on CometAPI โ†’
G

Veo 3.1

Per Detik:$0.32
Dirilis:May 31, 2026

Veo 3.1 adalah model pembuatan video AI andalan yang dirancang untuk keluaran sinematik berkualitas tinggi dengan sinkronisasi audio bawaan. Model ini menghadirkan gerakan yang realistis, kesetiaan visual yang tinggi, dan generasi audio-visual yang selaras erat untuk produksi video profesional.

Baru
Populer
Penggunaan komersial

Playground untuk Veo 3.1

Jelajahi Playground Veo 3.1 โ€” lingkungan interaktif untuk menguji model dan menjalankan kueri secara real-time. Coba prompt, sesuaikan parameter, dan iterasi secara instan untuk mempercepat pengembangan dan memvalidasi kasus penggunaan.

Spesifikasi Teknis Veo 3.1

ItemVeo 3.1 (spesifikasi publik)
Official model IDveo-3.1-generate-001
ProviderGoogle DeepMind / Google Cloud
Model typeGenerasi teks ke video dan gambar ke video
Input typesPrompt teks, input gambar, panduan frame pertama + frame terakhir
Output typeVideo yang dihasilkan AI
Supported resolutions720p dan 1080p, 4K
Supported aspect ratios16:9 dan 9:16
Supported framerate24 FPS
Video durationklip 4s, 6s, atau 8s (bergantung mode)
Prompt languageBahasa Inggris
Videos per requestHingga 4
API rate limitHingga 50 permintaan/menit/proyek
Supported deploymentVertex AI, integrasi ekosistem Gemini, Flow
Unsupported features (official docs)Kuota bersama dinamis, beberapa alur kerja gambar referensi, ekstensi video native dalam alur API standar

Apa itu Veo 3.1?

Veo 3.1 adalah keluarga model video generatif andalan Google yang berfokus pada sintesis video berkualitas sinematik, kepatuhan terhadap prompt yang lebih kuat, konsistensi adegan yang lebih baik, serta alur kerja pembuatan video multimodal. Model ini melampaui generasi standar teks ke video dengan mendukung generasi berpanduan gambar dan alur penceritaan yang dikendalikan frame. Dukungan resmi mencakup teks ke video, gambar ke video, penulisan ulang prompt, dan alur generasi frame pertama/terakhir.

Fitur inti

Veo 3.1 berfokus pada fitur praktis untuk pembuatan konten:

  • Generasi audio native (dialog, suara ambient, SFX) terintegrasi dalam keluaran. Veo 3.1 menghasilkan audio native (dialog + ambience + SFX) yang selaras dengan lini masa visual; model ini bertujuan mempertahankan sinkron bibir dan penyelarasan audioโ€“visual untuk dialog serta isyarat adegan.
  • Keluaran lebih panjang (dukungan hingga ~60 detik/1080p dibanding klip sangat pendek 8s pada Veo 3), dan sekuens multi-shot dengan multi-prompt untuk kontinuitas naratif.
  • Mode Scene Extension dan First/Last Frame yang memperluas atau menginterpolasi cuplikan di antara key frame.
  • Penyisipan objek dan (segera hadir) penghapusan objek serta primitif pengeditan di dalam Flow.

Setiap poin di atas dirancang untuk mengurangi pekerjaan VFX manual: audio dan kontinuitas adegan kini menjadi keluaran kelas satu, bukan hal yang dipikirkan belakangan.

Rincian teknis (perilaku model & input)

Model family & variants: Veo termasuk dalam keluarga Veo-3 dari Google; ID model pratinjau biasanya veo3.1-pro; veo3.1 (dok. CometAPI). Model ini menerima prompt teks, referensi gambar (frame tunggal atau sekuens), dan tata letak multi-prompt terstruktur untuk generasi multi-shot.

Resolusi & durasi: Dokumentasi pratinjau mendeskripsikan keluaran pada 720p/1080p dengan opsi durasi lebih panjang (hingga ~60 detik dalam pengaturan pratinjau tertentu) dan fidelitas lebih tinggi dibanding varian Veo sebelumnya.

Rasio aspek: 16:9 (didukung) dan 9:16 (didukung kecuali pada beberapa alur gambar referensi).

Bahasa prompt: Bahasa Inggris (pratinjau).

Batas API: Batas pratinjau umum mencakup maks 10 permintaan API/menit per proyek, maks 4 video per permintaan, dan panjang video dapat dipilih di antara 4, 6, atau 8 detik (alur gambar referensi mendukung 8s).

Performa benchmark

Evaluasi internal Google dan ringkasan publik melaporkan preferensi kuat untuk keluaran Veo 3.1 dalam perbandingan oleh penilai manusia pada metrik seperti keselarasan teks, kualitas visual, dan koherensi audioโ€“visual (tugas teksโ†’video dan gambarโ†’video).

Veo 3.1 mencapai hasil state-of-the-art pada perbandingan internal oleh penilai manusia di berbagai sumbu objektif โ€” preferensi keseluruhan, keselarasan prompt (teksโ†’video dan gambarโ†’video), kualitas visual, penyelarasan audioโ€“video, dan โ€œfisika yang terlihat realistisโ€ pada dataset benchmark seperti MovieGenBench dan VBench.

Keterbatasan & pertimbangan keamanan

Keterbatasan:

  • Artefak & inkonsistensi: meski ada peningkatan, kondisi pencahayaan tertentu, fisika yang sangat detail, dan oklusi kompleks masih dapat menghasilkan artefak; konsistensi gambarโ†’video (terutama pada durasi panjang) membaik namun belum sempurna.
  • Risiko misinformasi/deepfake: audio yang lebih kaya + penyisipan/penghapusan objek meningkatkan risiko penyalahgunaan (audio palsu realistis dan klip yang diperpanjang). Google mencatat mitigasi (kebijakan, pengaman) dan peluncuran Veo sebelumnya merujuk watermarking/SynthID untuk membantu penelusuran asal-usul; namun pengaman teknis tidak menghilangkan risiko penyalahgunaan.
  • Keterbatasan biaya & throughput: video beresolusi tinggi dan berdurasi panjang mahal secara komputasi dan saat ini dibatasi di pratinjau berbayarโ€”harapkan latensi dan biaya lebih tinggi dibanding model gambar. Posting komunitas dan thread forum Google membahas jendela ketersediaan dan strategi fallback.

Kontrol keamanan: Veo 3.1 memiliki kebijakan konten terintegrasi, sinyal watermarking/SynthID pada rilis Veo sebelumnya, serta kontrol akses pratinjau; pelanggan disarankan mengikuti kebijakan platform dan menerapkan peninjauan manusia untuk keluaran berisiko tinggi.

Kasus penggunaan praktis

  • Prototyping cepat bagi kreator: storyboard โ†’ klip multi-shot dan animatik dengan dialog native untuk tinjauan kreatif awal.
  • Pemasaran & konten pendek: spot produk 15โ€“60 detik, klip sosial, dan teaser konsep ketika kecepatan lebih penting daripada fotorealisme sempurna.
  • Adaptasi gambarโ†’video: mengubah ilustrasi, karakter, atau dua frame menjadi transisi mulus atau adegan animasi melalui First/Last Frame dan Scene Extension.
  • Augmentasi tooling: terintegrasi ke dalam Flow untuk pengeditan iteratif (penyisipan/penghapusan objek, preset pencahayaan) yang mengurangi tahapan VFX manual.

Perbandingan dengan model terkemuka lainnya

Veo 3.1 vs Veo 3 (pendahulunya): Veo 3.1 berfokus pada peningkatan kepatuhan terhadap prompt, kualitas audio, dan konsistensi multi-shot โ€” pembaruan inkremental namun berdampak yang bertujuan mengurangi artefak dan meningkatkan kemudahan pengeditan.

Veo 3.1 vs OpenAI Sora 2: kompromi yang dilaporkan di media: Veo 3.1 menekankan kontrol naratif bentuk panjang, audio terintegrasi, dan integrasi pengeditan Flow; Sora 2 (saat dibandingkan di media) berfokus pada kekuatan berbeda (kecepatan, pipeline pengeditan berbeda). TechRadar dan outlet lain menggambarkan Veo 3.1 sebagai pesaing terarah Google untuk Sora 2 dalam dukungan naratif dan video yang lebih panjang. Pengujian berdampingan independen masih terbatas.

KapabilitasVeo 3.1Sora 2Runway Gen-4 / Gen-4.5
Keluaran vertikal nativeYaDukungan alur terbatasYa
Gambar ke videoYaYaYa
Fokus integrasi audioKuatModeratModerat
Pengkondisian frameYaYaParsial
Optimasi video sosialKuatModeratKuat
Integrasi ekosistem APIEkosistem GoogleEkosistem OpenAIEkosistem alat kreator

Bagaimana cara menggunakan API Veo 3.1 dengan CometAPI?

  1. Buat kunci API CometAPI
  2. Pilih veo-3.1-generate-001 sebagai endpoint model
  3. Kirim prompt atau input gambar melalui API generasi video
  4. Lakukan polling hasil dan ambil video yang dihasilkan
  5. Iterasikan prompt untuk pergerakan kamera, kontinuitas adegan, dan peningkatan konsistensi

FAQ

Harga untuk Veo 3.1

Jelajahi harga kompetitif untuk Veo 3.1, dirancang untuk berbagai anggaran dan kebutuhan penggunaan. Paket fleksibel kami memastikan Anda hanya membayar untuk apa yang Anda gunakan, memudahkan untuk meningkatkan skala seiring berkembangnya kebutuhan Anda. Temukan bagaimana Veo 3.1 dapat meningkatkan proyek Anda sambil menjaga biaya tetap terkendali.

Veo Video Generation Pricing

Pricing (Per Second)

Model720p1080p4K
veo3$0.32$0.32$0.48
veo3-fast$0.08$0.096$0.24
veo3.1$0.32$0.32$0.48
veo3.1-fast$0.08$0.096$0.24

๐Ÿ’ก Billed per second. Total cost = price per second ร— video duration (seconds).

Kode contoh dan API untuk Veo 3.1

Akses kode sampel komprehensif dan sumber daya API untuk Veo 3.1 guna mempermudah proses integrasi Anda. Dokumentasi terperinci kami menyediakan panduan langkah demi langkah, membantu Anda memanfaatkan potensi penuh Veo 3.1 dalam proyek Anda.

#!/bin/bash
# Get your CometAPI key from https://api.cometapi.com/console/token
# Export it as: export COMETAPI_KEY="your-key-here"

BASE_URL="https://api.cometapi.com/v1"
IMAGE_PATH="/tmp/veo3.1_reference.jpg"

# ============================================================
# Step 1: Download Reference Image
# ============================================================
echo "Step 1: Downloading reference image..."

curl -s -o "$IMAGE_PATH" "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1280"
echo "Reference image saved to: $IMAGE_PATH"

# ============================================================
# Step 2: Create Video Generation Task (form-data with image upload)
# ============================================================
echo ""
echo "Step 2: Creating video generation task..."

RESPONSE=$(curl -s -X POST "${BASE_URL}/videos" \
  -H "Authorization: $COMETAPI_KEY" \
  -F 'prompt=A breathtaking mountain landscape with clouds flowing through valleys, cinematic aerial shot' \
  -F 'model=veo3.1' \
  -F 'size=16x9' \
  -F "input_reference=@${IMAGE_PATH}")

echo "Create response:"
echo "$RESPONSE" | jq .

TASK_ID=$(echo "$RESPONSE" | jq -r '.id')

if [ "$TASK_ID" = "null" ] || [ -z "$TASK_ID" ]; then
  echo "Error: Failed to get task_id from response"
  exit 1
fi

echo "Task ID: $TASK_ID"

# ============================================================
# Step 3: Query Task Status
# ============================================================
echo ""
echo "Step 3: Querying task status..."

QUERY_RESPONSE=$(curl -s -X GET "${BASE_URL}/videos/${TASK_ID}" \
  -H "Authorization: $COMETAPI_KEY")

echo "Query response:"
echo "$QUERY_RESPONSE" | jq .

TASK_STATUS=$(echo "$QUERY_RESPONSE" | jq -r '.data.status')
echo "Task status: $TASK_STATUS"

cURL Code Example

#!/bin/bash
# Get your CometAPI key from https://api.cometapi.com/console/token
# Export it as: export COMETAPI_KEY="your-key-here"

BASE_URL="https://api.cometapi.com/v1"
IMAGE_PATH="/tmp/veo3.1_reference.jpg"

# ============================================================
# Step 1: Download Reference Image
# ============================================================
echo "Step 1: Downloading reference image..."

curl -s -o "$IMAGE_PATH" "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1280"
echo "Reference image saved to: $IMAGE_PATH"

# ============================================================
# Step 2: Create Video Generation Task (form-data with image upload)
# ============================================================
echo ""
echo "Step 2: Creating video generation task..."

RESPONSE=$(curl -s -X POST "${BASE_URL}/videos" \
  -H "Authorization: $COMETAPI_KEY" \
  -F 'prompt=A breathtaking mountain landscape with clouds flowing through valleys, cinematic aerial shot' \
  -F 'model=veo3.1' \
  -F 'size=16x9' \
  -F "input_reference=@${IMAGE_PATH}")

echo "Create response:"
echo "$RESPONSE" | jq .

TASK_ID=$(echo "$RESPONSE" | jq -r '.id')

if [ "$TASK_ID" = "null" ] || [ -z "$TASK_ID" ]; then
  echo "Error: Failed to get task_id from response"
  exit 1
fi

echo "Task ID: $TASK_ID"

# ============================================================
# Step 3: Query Task Status
# ============================================================
echo ""
echo "Step 3: Querying task status..."

QUERY_RESPONSE=$(curl -s -X GET "${BASE_URL}/videos/${TASK_ID}" \
  -H "Authorization: $COMETAPI_KEY")

echo "Query response:"
echo "$QUERY_RESPONSE" | jq .

TASK_STATUS=$(echo "$QUERY_RESPONSE" | jq -r '.data.status')
echo "Task status: $TASK_STATUS"

Python Code Example

import os
import requests
import json

# Get your CometAPI key from https://api.cometapi.com/console/token, and paste it here
COMETAPI_KEY = os.environ.get("COMETAPI_KEY") or "<YOUR_COMETAPI_KEY>"
BASE_URL = "https://api.cometapi.com/v1"

headers = {
    "Authorization": COMETAPI_KEY,
}

# ============================================================
# Step 1: Download Reference Image
# ============================================================
print("Step 1: Downloading reference image...")

image_url = "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1280"
image_response = requests.get(image_url)
image_path = "/tmp/veo3.1_reference.jpg"
with open(image_path, "wb") as f:
    f.write(image_response.content)
print(f"Reference image saved to: {image_path}")

# ============================================================
# Step 2: Create Video Generation Task (form-data with image upload)
# ============================================================
print("\nStep 2: Creating video generation task...")

with open(image_path, "rb") as image_file:
    files = {
        "input_reference": ("reference.jpg", image_file, "image/jpeg"),
    }
    data = {
        "prompt": "A breathtaking mountain landscape with clouds flowing through valleys, cinematic aerial shot",
        "model": "veo3.1",
        "size": "16x9",
    }
    create_response = requests.post(
        f"{BASE_URL}/videos", headers=headers, data=data, files=files
    )

create_result = create_response.json()
print("Create response:", json.dumps(create_result, indent=2))

task_id = create_result.get("id")
if not task_id:
    print("Error: Failed to get task_id from response")
    exit(1)
print(f"Task ID: {task_id}")

# ============================================================
# Step 3: Query Task Status
# ============================================================
print("\nStep 3: Querying task status...")

query_response = requests.get(f"{BASE_URL}/videos/{task_id}", headers=headers)
query_result = query_response.json()
print("Query response:", json.dumps(query_result, indent=2))

task_status = query_result.get("data", {}).get("status")
print(f"Task status: {task_status}")

JavaScript Code Example

import fs from "fs";
import path from "path";
import os from "os";

// Get your CometAPI key from https://api.cometapi.com/console/token, and paste it here
const api_key = process.env.COMETAPI_KEY || "<YOUR_COMETAPI_KEY>";
const base_url = "https://api.cometapi.com/v1";

// ============================================================
// Step 1: Download Reference Image
// ============================================================
console.log("Step 1: Downloading reference image...");

const imageUrl = "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1280";
const imageResponse = await fetch(imageUrl);
const imageBuffer = Buffer.from(await imageResponse.arrayBuffer());
const imagePath = path.join(os.tmpdir(), "veo3.1_reference.jpg");
fs.writeFileSync(imagePath, imageBuffer);
console.log(`Reference image saved to: ${imagePath}`);

// ============================================================
// Step 2: Create Video Generation Task (form-data with image upload)
// ============================================================
console.log("\nStep 2: Creating video generation task...");

const formData = new FormData();
formData.append("prompt", "A breathtaking mountain landscape with clouds flowing through valleys, cinematic aerial shot");
formData.append("model", "veo3.1");
formData.append("size", "16x9");
formData.append("input_reference", new Blob([fs.readFileSync(imagePath)], { type: "image/jpeg" }), "reference.jpg");

const createResponse = await fetch(`${base_url}/videos`, {
  method: "POST",
  headers: {
    "Authorization": api_key,
  },
  body: formData,
});

const createResult = await createResponse.json();
console.log("Create response:", JSON.stringify(createResult, null, 2));

const taskId = createResult?.id;
if (!taskId) {
  console.log("Error: Failed to get task_id from response");
  process.exit(1);
}
console.log(`Task ID: ${taskId}`);

// ============================================================
// Step 3: Query Task Status
// ============================================================
console.log("\nStep 3: Querying task status...");

const queryResponse = await fetch(`${base_url}/videos/${taskId}`, {
  method: "GET",
  headers: {
    "Authorization": api_key,
  },
});

const queryResult = await queryResponse.json();
console.log("Query response:", JSON.stringify(queryResult, null, 2));

const taskStatus = queryResult?.data?.status;
console.log(`Task status: ${taskStatus}`);

Versi Veo 3.1

Alasan Veo 3.1 memiliki beberapa _snapshot_ mungkin mencakup faktor-faktor potensial seperti variasi keluaran setelah pembaruan yang memerlukan _snapshot_ lama untuk konsistensi, memberikan masa transisi bagi pengembang untuk beradaptasi dan bermigrasi, serta _snapshot_ berbeda yang sesuai dengan _endpoint_ global atau regional untuk mengoptimalkan pengalaman pengguna. Untuk perbedaan detail antar versi, silakan merujuk ke dokumentasi resmi.

ID modelDeskripsiKetersediaanPermintaan
veo3.1-allTeknologi yang digunakan tidak resmi dan proses generasinya tidak stabil, dll.โœ…Obrolan format
veo3.1Direkomendasikan, mengarah ke model terbaruโœ…Pembuatan Asinkron