Unlock exclusive introductory pricing for the newly launched Gemini 3.5 Flash.
G

Veo 3.1

في الثانية:$0.32
تاريخ الإصدار:Oct 16, 2025

Veo 3.1 هو تحديث تدريجي لكنه مهم من Google لعائلة Veo للنص والصورة→فيديو، ويضيف صوتًا أصليًا أكثر ثراءً، ومخرجات فيديو أطول وأكثر قابلية للتحكم، وتحريرًا أدق وضوابط على مستوى المشهد.

جديد
شائع
الاستخدام التجاري

Playground لـ Veo 3.1

استكشف Playground الخاص بـ Veo 3.1 — بيئة تفاعلية لاختبار النماذج وتشغيل الاستعلامات في الوقت الفعلي. جرب المطالبات، وضبط المعاملات، والتكرار فورًا لتسريع التطوير والتحقق من حالات الاستخدام.

Core features

Veo 3.1 focuses on practical content creation features:

  • Native audio generation (dialogue, ambient sound, SFX) integrated in outputs. Veo 3.1 generates native audio (dialogue + ambience + SFX) aligned to the visual timeline; the model aims to preserve lip sync and audio–visual alignment for dialogue and scene cues.
  • Longer outputs (support for up to ~60 seconds / 1080p versus Veo 3’s very short clips,8s), and multi-prompt multi-shot sequences for narrative continuity.
  • Scene Extension and First/Last Frame modes that extend or interpolate footage between key frames.
  • Object insertion and (coming) object removal and editing primitives inside Flow.

Each bullet above is designed to reduce manual VFX work: audio and scene continuity are now first-class outputs rather than afterthoughts.

Technical details (model behavior & inputs)

Model family & variants: Veo belongs to Google’s Veo-3 family; the preview model ID is typically veo3.1-pro; veo3.1 (CometAPI doc). It accepts text prompts, image references (single frame or sequences), and structured multi-prompt layouts for multi-shot generation.

Resolution & duration: Preview documentation describes outputs at 720p/1080p with options for longer durations (up to ~60s in certain preview settings) and higher fidelity than earlier Veo variants.

Aspect ratios: 16:9 (supported) and 9:16 (supported except in some reference-image flows).

Prompt language: English (preview).

API limits: typical preview limits include max 10 API requests/min per project, max 4 videos per request, and video lengths selectable among 4, 6, or 8 seconds (reference-image flows support 8s).

Benchmark performance

Google’s internal and publicly summarized evaluations report strong preference for Veo 3.1 outputs across human rater comparisons on metrics such as text alignment, visual quality, and audio–visual coherence (text→video and image→video tasks).

Veo 3.1 achieved state-of-the-art results on internal human-rater comparisons across several objective axes — overall preference, prompt alignment (text→video and image→video), visual quality, audio-video alignment, and “visually realistic physics” on benchmark datasets such as MovieGenBench and VBench.

Limitations & safety considerations

Limitations:

  • Artifacts & inconsistency: despite improvements, certain lighting, fine-grained physics, and complex occlusions can still yield artifacts; image→video consistency (especially over long durations) is improved but not perfect.
  • Misinformation / deepfake risk: richer audio + object insertion/removal increases misuse risk (realistic fake audio and extended clips). Google notes mitigations (policy, safeguards) and earlier Veo launches referenced watermarking/SynthID to aid provenance; however technical safeguards do not eliminate misuse risk.
  • Cost & throughput constraints: high-resolution, long videos are computationally expensive and currently gated in a paid preview—expect higher latency and cost compared with image models. Community posts and Google forum threads discuss availability windows and fallback strategies.

Safety controls: Veo3.1 has integrated content policies, watermarking/synthID signaling in earlier Veo releases, and preview access controls; customers are advised to follow platform policy and implement human review for high-risk outputs.

Practical use cases

  • Rapid prototyping for creatives: storyboards → multi-shot clips and animatics with native dialogue for early creative review.
  • Marketing & short form content: 15–60s product spots, social clips, and concept teasers where speed matters more than perfect photorealism.
  • Image→video adaptation: turning illustrations, characters, or two frames into smooth transitions or animated scenes via First/Last Frame and Scene Extension.
  • Tooling augmentation: integrated into Flow for iterative editing (object insertion/removal, lighting presets) that reduces manual VFX passes.

Comparison with other leading models

Veo 3.1 vs Veo 3 (predecessor): Veo 3.1 focuses on improved prompt adherence, audio quality, and multi-shot consistency — incremental but impactful updates aimed at reducing artifacts and improving editability.

Veo 3.1 vs OpenAI Sora 2: tradeoffs reported in press: Veo 3.1 emphasizes longer-form narrative control, integrated audio, and Flow editing integration; Sora 2 (when compared in press) focuses on different strengths (speed, different editing pipelines). TechRadar and other outlets frame Veo 3.1 as Google’s targeted competitor to Sora 2 for narrative and longer video support. Independent side-by-side testing remains limited.

التسعير لـ Veo 3.1

استكشف الأسعار التنافسية لـ Veo 3.1، المصمم ليناسب الميزانيات المختلفة واحتياجات الاستخدام المتنوعة. تضمن خططنا المرنة أن تدفع فقط مقابل ما تستخدمه، مما يجعل من السهل التوسع مع نمو متطلباتك. اكتشف كيف يمكن لـ Veo 3.1 تحسين مشاريعك مع الحفاظ على التكاليف قابلة للإدارة.

veo3.1(videos)

Model nameTagsCalculate price
veo3.1-allvideos$0.20000
veo3.1videos$0.40000

نموذج الكود وواجهة برمجة التطبيقات لـ Veo 3.1

احصل على أكواد نماذجية شاملة وموارد API لـ Veo 3.1 لتبسيط عملية التكامل الخاصة بك. توفر وثائقنا التفصيلية إرشادات خطوة بخطوة، مما يساعدك على الاستفادة من الإمكانات الكاملة لـ Veo 3.1 في مشاريعك.

#!/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}`);

إصدارات Veo 3.1

قد تشمل الأسباب وراء احتواء Veo 3.1 على لقطات متعددة عوامل محتملة مثل اختلاف المخرجات بعد التحديثات التي تتطلب اللقطات القديمة لضمان الاتساق، وتوفير فترة انتقالية للمطورين للتكيف والهجرة، وارتباط اللقطات المختلفة بنقاط النهاية العالمية أو الإقليمية لتحسين تجربة المستخدم. للاطلاع على الاختلافات التفصيلية بين الإصدارات، يرجى الرجوع إلى الوثائق الرسمية.

Model iddescriptionAvailabilityPriceRequst
veo3.1-allThe technology used is unofficial and the generation is unstable etc$0.2 / perChat format
veo3.1Recommend, Pointing to the latest model$0.4/ perAsync Generation