با Veo 3.1 در Gemini API ویدیو ایجاد کنید

Veo 3.1 مدل پیشرفته گوگل برای تولید ویدیوهای 720p یا 1080p با کیفیت بالا، 8 ثانیه‌ای با واقع‌گرایی خیره‌کننده و صدای تولید شده بومی است. با استفاده از Gemini API می توانید به این مدل دسترسی داشته باشید. برای کسب اطلاعات بیشتر در مورد انواع مدل های موجود Veo، بخش نسخه های مدل را ببینید.

Veo 3.1 در طیف گسترده ای از سبک های بصری و سینمایی برتری دارد و چندین قابلیت جدید را معرفی می کند:

  • پسوند ویدیو : ویدیوهایی را که قبلاً با استفاده از Veo تولید شده اند، گسترش دهید.
  • تولید فریم خاص : با مشخص کردن اولین و آخرین فریم، یک ویدیو ایجاد کنید.
  • جهت مبتنی بر تصویر : از حداکثر سه تصویر مرجع برای هدایت محتوای ویدیوی تولید شده خود استفاده کنید.

برای اطلاعات بیشتر در مورد نوشتن اعلان‌های متنی مؤثر برای تولید ویدیو، به راهنمای اعلان Veo مراجعه کنید

تولید متن به ویدیو

برای مشاهده نحوه تولید یک ویدیو با دیالوگ، رئالیسم سینمایی یا انیمیشن خلاق مثالی را انتخاب کنید:

پایتون

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

جاوا اسکریپت

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`);

برو

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)
}

استراحت

# 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

تولید تصویر به ویدئو

کد زیر تولید یک تصویر با استفاده از Gemini 2.5 Flash Image با نام مستعار Nano Banana را نشان می دهد، سپس از آن تصویر به عنوان فریم شروع برای تولید یک ویدیو با Veo 3.1 استفاده می کند.

پایتون

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

جاوا اسکریپت

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`);

برو

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)
}

استفاده از تصاویر مرجع

Veo 3.1 اکنون حداکثر 3 تصویر مرجع را برای هدایت محتوای ویدیوی تولید شده شما می پذیرد. برای حفظ ظاهر سوژه در فیلم خروجی، تصاویری از یک شخص، شخصیت یا محصول ارائه دهید.

به عنوان مثال، با استفاده از این سه تصویر تولید شده با نانو موز به عنوان مرجع با یک دستور خوب نوشته شده، ویدیوی زیر ایجاد می شود:

`dress_image` `woman_image` `glasses_image`
لباس فلامینگو با لایه‌هایی از پرهای صورتی و فوشیازن زیبا با موهای تیره و چشمان قهوه ای گرمعینک آفتابی صورتی عجیب و غریب به شکل قلب

پایتون

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")
زن در حال قدم زدن در مرداب با لباس شیک و عینک آفتابی
veo3.1_with_reference_images.mp4

استفاده از اولین و آخرین فریم

Veo 3.1 به شما امکان می دهد با استفاده از درون یابی، یا مشخص کردن اولین و آخرین فریم ویدیو، فیلم بسازید. برای اطلاعات در مورد نوشتن اعلان‌های متنی مؤثر برای تولید ویدیو، به راهنمای اعلان Veo مراجعه کنید.

پایتون

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
زنی شبح مانند با موهای بلند سفید و لباسی روان به آرامی روی طناب تاب می خورد.زن شبح مانند از تاب ناپدید می شودویدیویی سینمایی و ترسناک از ناپدید شدن یک زن ترسناک از یک تاب در مه

گسترش ویدیوهای Veo

از Veo 3.1 استفاده کنید تا ویدیوهایی را که قبلاً با Veo تولید کرده اید 7 ثانیه و تا 20 برابر افزایش دهید.

محدودیت های ویدیوی ورودی:

  • ویدیوهای تولید شده توسط Veo فقط تا 141 ثانیه طول می کشد.
  • Gemini API فقط از پسوندهای ویدیویی برای ویدیوهای تولید شده توسط Veo پشتیبانی می کند.
  • انتظار می‌رود ویدیوهای ورودی دارای طول، نسبت ابعاد و ابعاد مشخصی باشند:
    • نسبت تصویر: 9:16 یا 16:9
    • رزولوشن: 720p
    • مدت ویدیو: 141 ثانیه یا کمتر

خروجی برنامه افزودنی یک ویدیو است که ویدیوی ورودی کاربر و ویدیوی توسعه یافته تولید شده را برای حداکثر 148 ثانیه ویدیو ترکیب می کند.

این مثال ویدیوی پروانه_ویدیویی تولید شده توسط Veo را می گیرد که در اینجا با دستور اصلی آن نشان داده شده است، و آن را با استفاده از پارامتر video و یک اعلان جدید گسترش می دهد:

اعلان خروجی: butterfly_video
یک پروانه اوریگامی بال های خود را تکان می دهد و از درهای فرانسوی به سمت باغ پرواز می کند. پروانه اوریگامی بال های خود را تکان می دهد و از درهای فرانسوی به سمت باغ پرواز می کند.

پایتون

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")
پروانه به داخل باغ پرواز می کند و روی یک گل اوریگامی فرود می آید. یک توله سگ سفید کرکی می دود و به آرامی گل را نوازش می کند.
veo3.1_extension.mp4

برای اطلاعات در مورد نوشتن اعلان‌های متنی مؤثر برای تولید ویدیو، به راهنمای اعلان Veo مراجعه کنید.

مدیریت عملیات ناهمزمان

تولید ویدئو یک کار محاسباتی فشرده است. هنگامی که درخواستی را به API ارسال می کنید، یک کار طولانی مدت را شروع می کند و بلافاصله یک شی operation را برمی گرداند. سپس باید نظرسنجی کنید تا ویدیو آماده شود، که با درست بودن وضعیت done مشخص می شود.

هسته اصلی این فرآیند یک حلقه نظرسنجی است که به صورت دوره ای وضعیت کار را بررسی می کند.

پایتون

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 ...

جاوا اسکریپت

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 ...

پارامترها و مشخصات Veo API

اینها پارامترهایی هستند که می توانید در درخواست API خود برای کنترل فرآیند تولید ویدیو تنظیم کنید.

پارامتر توضیحات Veo 3.1 و Veo 3.1 سریع Veo 3 و Veo 3 سریع Veo 2
prompt توضیحات متنی برای ویدیو. از نشانه های صوتی پشتیبانی می کند. string string string
negativePrompt متنی که توضیح می‌دهد چه چیزهایی نباید در ویدیو گنجانده شود. string string string
image یک تصویر اولیه برای متحرک سازی. شی Image شی Image شی Image
lastFrame تصویر نهایی برای یک ویدیوی درون یابی به انتقال. باید در ترکیب با پارامتر image استفاده شود. شی Image شی Image شی Image
referenceImages حداکثر سه تصویر برای استفاده به عنوان مرجع سبک و محتوا. شی VideoGenerationReferenceImage (فقط Veo 3.1) n/a n/a
video ویدیو برای پسوند ویدیو استفاده شود. شیء Video n/a n/a
aspectRatio نسبت تصویر ویدیو "16:9" (پیش‌فرض، 720p و 1080p)،
"9:16" (720p و 1080p)

"16:9" (پیش‌فرض، 720p و 1080p)،
"9:16" (720p و 1080p)
"16:9" (پیش‌فرض، 720p)،
"9:16" (720p)
resolution نسبت تصویر ویدیو "720p" (پیش‌فرض)،
"1080p" (فقط از مدت زمان 8 ثانیه پشتیبانی می کند)

"720p" فقط برای پسوند
"720p" (پیش‌فرض)،
"1080p" (فقط 16:9)
پشتیبانی نمی شود
durationSeconds طول ویدیوی تولید شده "4" ، "6" ، "8" .

هنگام استفاده از پسوند یا درون یابی (هر دو 16:9 و 9:16 را پشتیبانی می کند) و هنگام استفاده از referenceImages (فقط از 16:9 پشتیبانی می کند) باید "8" باشد.
"4" ، "6" ، "8" "5" ، "6" ، "8"
personGeneration نسل افراد را کنترل می کند.
( محدودیت های محدودیت های منطقه را ببینید)
متن به ویدئو و پسوند:
فقط "allow_all" .
تصویر به ویدئو، درون یابی و تصاویر مرجع:
فقط "allow_adult" .
متن به ویدئو:
فقط "allow_all" .
تصویر به ویدئو:
فقط "allow_adult" .
متن به ویدئو:
"allow_all" , "allow_adult" , "dont_allow"
تصویر به ویدئو:
"allow_adult" و "dont_allow"

توجه داشته باشید که پارامتر seed برای مدل های Veo 3 نیز موجود است. جبرگرایی را تضمین نمی کند، اما اندکی آن را بهبود می بخشد.

شما می توانید تولید ویدیوی خود را با تنظیم پارامترها در درخواست خود سفارشی کنید. برای مثال شما می توانید negativePrompt برای هدایت مدل مشخص کنید.

پایتون

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

جاوا اسکریپت

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`);

برو

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)
}

استراحت

# 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

راهنمای سریع Veo

این بخش شامل نمونه‌هایی از ویدیوهایی است که می‌توانید با استفاده از Veo ایجاد کنید، و به شما نشان می‌دهد که چگونه درخواست‌ها را برای ایجاد نتایج متمایز تغییر دهید.

فیلترهای ایمنی

Veo فیلترهای ایمنی را در سراسر Gemini اعمال می کند تا اطمینان حاصل کند که ویدیوهای تولید شده و عکس های آپلود شده حاوی محتوای توهین آمیز نیستند. درخواست هایی که شرایط و دستورالعمل های ما را نقض می کنند مسدود شده اند.

اصول اولیه نوشتن سریع

دستورات خوب توصیفی و واضح هستند. برای استفاده حداکثری از Veo، با شناسایی ایده اصلی خود شروع کنید، ایده خود را با افزودن کلمات کلیدی و اصلاح کننده ها اصلاح کنید، و اصطلاحات خاص ویدیو را در درخواست های خود بگنجانید.

عناصر زیر باید در اعلان شما گنجانده شوند:

  • موضوع : شی، شخص، حیوان یا مناظری که در ویدیوی خود می خواهید، مانند منظره شهر ، طبیعت ، وسایل نقلیه یا توله سگ ها .
  • کنش : کاری که سوژه انجام می دهد (مثلاً راه رفتن ، دویدن یا چرخاندن سر ).
  • سبک : جهت خلاقانه را با استفاده از کلمات کلیدی خاص سبک فیلم، مانند علمی تخیلی ، فیلم ترسناک ، فیلم نوآر ، یا سبک های انیمیشنی مانند کارتون مشخص کنید.
  • موقعیت یابی و حرکت دوربین : [اختیاری] مکان و حرکت دوربین را با استفاده از عباراتی مانند نمای هوایی ، سطح چشم ، عکس از بالا به پایین ، عکس عروسکی ، یا چشم کرم کنترل کنید.
  • ترکیب : [اختیاری] نحوه کادربندی عکس، مانند عکس واید ، کلوزآپ ، تک شات یا دو شات .
  • جلوه‌های فوکوس و لنز : [اختیاری] برای دستیابی به جلوه‌های بصری خاص، از عباراتی مانند فوکوس کم عمق ، فوکوس عمیق ، فوکوس ملایم ، لنز ماکرو و لنز با زاویه باز استفاده کنید.
  • محیط : [اختیاری] نحوه کمک رنگ و نور به صحنه، مانند رنگ‌های آبی ، شب ، یا تن‌های گرم .

نکات بیشتر برای نوشتن دستورات

  • از زبان توصیفی استفاده کنید : از صفت ها و قیدها برای ترسیم یک تصویر واضح برای Veo استفاده کنید.
  • بهبود جزئیات صورت : جزئیات صورت را به عنوان فوکوس عکس مشخص کنید، مانند استفاده از کلمه پرتره در درخواست.

برای استراتژی‌های فراگیرتر، از Introduction to Prompt Design دیدن کنید.

درخواست برای صدا

با Veo 3 می توانید نشانه هایی برای جلوه های صوتی، نویز محیط و دیالوگ ارائه دهید. این مدل تفاوت‌های ظریف این نشانه‌ها را برای تولید یک موسیقی متن هماهنگ به تصویر می‌کشد.

  • گفتگو: از نقل قول برای سخنرانی خاص استفاده کنید. (به عنوان مثال: "این باید کلید باشد" او زمزمه کرد.)
  • جلوه های صوتی (SFX): صریحاً صداها را توصیف کنید. (به عنوان مثال: لاستیک ها با صدای بلند جیغ می زنند، موتور غرش می کند.)
  • نویز محیط: منظره صوتی محیط را توصیف کنید. (مثال: یک زمزمه خفیف و وهم انگیز در پس زمینه طنین انداز می شود.)

این ویدیوها تولید صدای Veo 3 را با افزایش سطح جزئیات نشان می دهد.

اعلان خروجی تولید شده
جزئیات بیشتر (دیالوگ و محیط)
عکس وسیعی از جنگل مه آلود شمال غربی اقیانوس آرام. دو کوهنورد خسته، یک مرد و یک زن، از سرخس ها عبور می کنند که مرد ناگهان متوقف می شود و به درخت خیره می شود. نمای نزدیک: آثار پنجه تازه و عمیق در پوست درخت فرو رفته است. مرد: (دست روی چاقوی شکارش) "این خرس معمولی نیست." زن: (صدای تنگ از ترس، در حال اسکن کردن جنگل) "پس چیه؟" یک پوست خشن، شاخه های تکان دهنده، قدم هایی روی زمین مرطوب. یک پرنده تنها جیک می کند.
دو نفر در جنگل با نشانه هایی از یک خرس روبرو می شوند.
جزئیات کمتر (دیالوگ)
انیمیشن برش کاغذ. کتابدار جدید: کتاب های حرام را کجا نگه می دارید؟ متصدی قدیمی: "ما نداریم. آنها ما را نگه می دارند."
کتابداران متحرک در حال بحث درباره کتاب های ممنوعه

برای شنیدن صدا، این موارد را امتحان کنید! Veo 3 را امتحان کنید

درخواست با تصاویر مرجع

با استفاده از قابلیت های تصویر به ویدیو Veo می توانید از یک یا چند تصویر به عنوان ورودی برای هدایت ویدیوهای تولید شده خود استفاده کنید. Veo از تصویر ورودی به عنوان فریم اولیه استفاده می کند. نزدیک‌ترین تصویر را به آنچه تصور می‌کنید به عنوان اولین صحنه ویدیوی خود انتخاب کنید تا اشیاء روزمره را متحرک کنید، نقاشی‌ها و نقاشی‌ها را زنده کنید، و حرکت و صدا را به صحنه‌های طبیعت اضافه کنید.

اعلان خروجی تولید شده
تصویر ورودی (تولید شده توسط نانو موز)
عکس ماکرو فراواقعی از موج سواران کوچک و مینیاتوری که سوار بر امواج اقیانوس در داخل سینک حمام سنگی روستایی هستند. یک شیر آب برنجی قدیمی در حال اجرا است و موج‌سواری همیشگی را ایجاد می‌کند. سورئال، عجیب و غریب، نور طبیعی روشن.
موج سواران کوچک و مینیاتوری سوار بر امواج اقیانوس داخل سینک حمام سنگی روستایی.
خروجی ویدیو (تولید شده توسط Veo 3.1)
یک ویدیوی ماکرو سورئال و سینمایی. موج‌سوارهای ریز در داخل یک سینک حمام سنگی، موج‌های دائمی و غلتشی را سوار می‌شوند. یک شیر آب برنجی قدیمی موج سواری بی پایان را ایجاد می کند. دوربین به آرامی در سراسر صحنه عجیب و غریب و نور خورشید حرکت می کند، در حالی که چهره های مینیاتوری به طرز ماهرانه ای آب فیروزه ای را حک می کنند.
موج سواران کوچکی که در سینک حمام دور امواج می چرخند.

Veo 3.1 به شما امکان می‌دهد به تصاویر یا مواد تشکیل دهنده برای هدایت محتوای ویدیوی تولید شده خود مراجعه کنید. حداکثر سه تصویر دارایی از یک شخص، شخصیت یا محصول ارائه دهید. Veo ظاهر سوژه را در فیلم خروجی حفظ می کند.

اعلان خروجی تولید شده
تصویر مرجع (تولید شده توسط نانو موز)
یک ماهی ماهیگیر در اعماق دریا در عمق تاریک آب کمین کرده است، دندان های برهنه و طعمه ای درخشان.
یک ماهیگیر تیره و درخشان
تصویر مرجع (تولید شده توسط نانو موز)
لباس پرنسس بچه گانه صورتی کامل با عصا و تاج در پس زمینه محصول ساده.
لباس صورتی بچه گانه پرنسس
خروجی ویدیو (تولید شده توسط Veo 3.1)
یک نسخه کارتونی احمقانه از ماهی ایجاد کنید که لباس پوشیده، شنا می کند و چوب دستی را به اطراف تکان می دهد.
ماهی گیر با لباس پرنسس

با استفاده از Veo 3.1 می توانید با مشخص کردن اولین و آخرین فریم ویدیو، فیلم تولید کنید.

اعلان خروجی تولید شده
تصویر اول (تولید شده توسط نانو موز)
تصویری با کیفیت بالا از یک گربه زنجبیلی که در حال رانندگی یک ماشین مسابقه ای کانورتیبل قرمز در سواحل ریویرا فرانسه است.
یک گربه زنجبیلی که یک ماشین مسابقه ای کانورتیبل قرمز را رانندگی می کند
آخرین تصویر (تولید شده توسط نانو موز)
نشان دهید وقتی ماشین از صخره بلند می شود چه اتفاقی می افتد.
گربه زنجبیلی که یک کانورتیبل قرمز را می‌راند از صخره‌ای می‌رود
خروجی ویدیو (تولید شده توسط Veo 3.1)
اختیاری
گربه ای از صخره می راند و بلند می شود

این ویژگی به شما امکان کنترل دقیق ترکیب عکس را می دهد و به شما امکان می دهد فریم شروع و پایان را تعریف کنید. یک تصویر آپلود کنید یا از یک فریم از نسل قبلی ویدیو استفاده کنید تا مطمئن شوید که صحنه شما دقیقاً همانطور که تصور می‌کنید شروع می‌شود و به پایان می‌رسد.

درخواست تمدید

برای گسترش ویدیوی تولید شده توسط Veo با Veo 3.1، از ویدیو به عنوان ورودی همراه با یک پیام متنی اختیاری استفاده کنید. Extend آخرین ثانیه یا 24 فریم ویدیوی شما را نهایی می کند و عمل را ادامه می دهد.

توجه داشته باشید که اگر صدا در 1 ثانیه آخر ویدیو وجود نداشته باشد، نمی‌توان به‌طور مؤثر آن را گسترش داد.

اعلان خروجی تولید شده
ویدیوی ورودی (تولید شده توسط Veo 3.1)
پاراگلایدر از بالای کوه بلند می شود و شروع به سر خوردن از کوه های مشرف به دره های پوشیده از گل در زیر می کند.
یک پاراگلایدر از بالای یک کوه بلند می شود
خروجی ویدیو (تولید شده توسط Veo 3.1)
این ویدیو را با پاراگلایدر که به آرامی پایین می آید، گسترش دهید.
یک پاراگلایدر از بالای یک کوه بلند می شود، سپس به آرامی پایین می آید

نمونه دستورات و خروجی

این بخش چندین اعلان را ارائه می‌کند، که نشان می‌دهد چگونه جزئیات توصیفی می‌توانند نتیجه هر ویدیو را ارتقا دهند.

یخ ها

این ویدیو نشان می‌دهد که چگونه می‌توانید از عناصر اولیه نوشتن سریع در اعلان خود استفاده کنید.

اعلان خروجی تولید شده
نمای نزدیک (ترکیب) از یخ‌های در حال ذوب (موضوع) روی دیواره سنگی یخ‌زده (زمینه) با رنگ‌های آبی سرد (محیط) بزرگ‌نمایی شده (حرکت دوربین) با حفظ جزئیات نزدیک از چکه‌های آب (اکشن). چکیدن یخ با پس زمینه آبی.

مرد پشت تلفن

این ویدیوها نشان می‌دهند که چگونه می‌توانید درخواست خود را با جزئیات ویژه‌تر اصلاح کنید تا از Veo بخواهید خروجی را مطابق میل شما اصلاح کند.

اعلان خروجی تولید شده
جزئیات کمتر
عروسک دوربین برای نشان دادن نمای نزدیک از مردی ناامید با کت سبز رنگ. او با یک تلفن دیواری به سبک چرخشی با چراغ نئون سبز تماس می گیرد. شبیه صحنه فیلم است.
مردی که با تلفن صحبت می کند.
جزئیات بیشتر
یک نما سینمایی کلوزآپ مردی مستاصل را با یک کت سبز رنگ فرسوده دنبال می کند که در حال شماره گیری تلفن چرخشی نصب شده روی دیوار آجری شنی است که در درخشش ترسناک تابلوی نئونی سبز رنگ غوطه ور شده است. دوربين داخل مي‌شود و تنش را در آرواره‌اش نشان مي‌دهد و يأس حك شده در چهره‌اش را هنگام تلاش براي برقراري تماس نشان مي‌دهد. عمق میدان کم روی ابروی شیاردار و تلفن چرخشی مشکی او متمرکز می‌شود و پس‌زمینه را در دریایی از رنگ‌های نئونی و سایه‌های نامشخص محو می‌کند و حس فوریت و انزوا را ایجاد می‌کند.
مردی که با تلفن صحبت می کند

پلنگ برفی

اعلان خروجی تولید شده
اعلان ساده:
موجودی بامزه با خز پلنگ برفی در حال قدم زدن در جنگل زمستانی، رندر سه بعدی کارتونی.
پلنگ برفی بی حال است.
درخواست تفصیلی:
یک صحنه متحرک سه بعدی کوتاه به سبک کارتونی شاد ایجاد کنید. موجودی بامزه با خز پلنگ‌مانند برفی، چشم‌های رسا درشت، و فرمی دوستانه و گرد، با خوشحالی در جنگلی عجیب زمستانی می‌چرخد. صحنه باید شامل درختان گرد و پوشیده از برف، دانه های برف ملایم در حال سقوط و نور گرم خورشید باشد که از میان شاخه ها عبور می کند. حرکات تندی و لبخند پهن موجودات باید لذت خالص را منتقل کند. با رنگ‌های روشن و شاد و انیمیشن‌های بازیگوش، لحنی شاد و دل‌انگیز را هدف بگیرید.
پلنگ برفی سریعتر می دود.

نمونه هایی با نوشتن عناصر

این مثال‌ها به شما نشان می‌دهند که چگونه درخواست‌های خود را با هر عنصر اصلی اصلاح کنید.

موضوع و زمینه

تمرکز اصلی (موضوع) و پس زمینه یا محیط (زمینه) را مشخص کنید.

اعلان خروجی تولید شده
نمایی معماری از یک ساختمان آپارتمانی بتنی سفید با اشکال ارگانیک روان، ترکیبی یکپارچه با فضای سبز سرسبز و عناصر آینده نگر جای جای.
ماهواره ای که در فضای بیرونی با ماه و چند ستاره در پس زمینه شناور است. ماهواره شناور در جو

اقدام

مشخص کنید سوژه در حال انجام چه کاری است (مانند راه رفتن، دویدن یا چرخاندن سر).

اعلان خروجی تولید شده
تصویری گسترده از زنی که در امتداد ساحل قدم می‌زند، در غروب آفتاب راضی به نظر می‌رسد و به سمت افق آرام می‌گیرد. غروب آفتاب کاملا زیباست

سبک

کلمات کلیدی را اضافه کنید تا نسل را به سمت یک زیبایی شناسی خاص هدایت کنید (به عنوان مثال، سورئال، قدیمی، آینده نگر، فیلم نوآر).

اعلان خروجی تولید شده
سبک فیلم نوآر، راه رفتن زن و مرد در خیابان، معمایی، سینمایی، سیاه و سفید. سبک فیلم نوآر کاملا زیباست.

حرکت دوربین و ترکیب بندی

نحوه حرکت دوربین (شات POV، نمای هوایی، ردیابی نمای هواپیمای بدون سرنشین) و نحوه قاب گرفتن عکس (نمای واید، نمای نزدیک، زاویه پایین) را مشخص کنید.

اعلان خروجی تولید شده
عکس POV از یک ماشین قدیمی که در باران رانندگی می کند، کانادا در شب، سینمایی. غروب آفتاب کاملا زیباست
نمای نزدیک از یک چشم که شهر در آن منعکس شده است. غروب آفتاب کاملا زیباست

محیط

پالت رنگ ها و نور بر خلق و خوی تأثیر می گذارد. عباراتی مانند "تنهای گرم نارنجی خاموش"، "نور طبیعی"، "طلوع خورشید" یا "تنهای آبی سرد" را امتحان کنید.

اعلان خروجی تولید شده
نمای نزدیک از دختری که توله سگ گلدن رتریور شایان ستایش را در پارک در دست دارد، نور خورشید. توله ای در آغوش یک دختر جوان.
عکس کلوزآپ سینمایی از زنی غمگین سوار اتوبوس زیر باران، رنگ آبی سرد، حال و هوای غمگین. زنی سوار بر اتوبوس که غمگین است.

پیام های منفی

درخواست‌های منفی عناصری را مشخص می‌کنند که در ویدیو نمی‌خواهید .

  • ❌ از زبان آموزنده مانند نه یا نه استفاده نکنید. (به عنوان مثال، "بدون دیوار").
  • ✅ آنچه را که نمی خواهید ببینید را توصیف کنید. (به عنوان مثال، "دیوار، قاب").
اعلان خروجی تولید شده
بدون اخطار منفی:
یک انیمیشن کوتاه و سبک از یک درخت بلوط بزرگ و منفرد با برگ‌هایی که به شدت در باد شدید می‌وزند، ایجاد کنید... [قطع شده]
درخت با استفاده از کلمات.
با درخواست منفی:
[همان درخواست]

پیام منفی: پس زمینه شهری، سازه های دست ساز، جو تاریک، طوفانی یا تهدیدآمیز.
درختی بدون کلمات منفی

نسبت ابعاد

Veo به شما امکان می دهد نسبت تصویر را برای ویدیوی خود مشخص کنید.

اعلان خروجی تولید شده
صفحه عریض (16:9)
ویدیویی با نمای هواپیمای بدون سرنشین ردیابی از مردی که در حال رانندگی یک ماشین تبدیل‌پذیر قرمز در پالم اسپرینگز، دهه 1970، نور گرم خورشید، سایه‌های طولانی است، ایجاد کنید.
مردی در حال رانندگی یک ماشین کانورتیبل قرمز به سبک پالم اسپرینگز، دهه 1970.
پرتره (9:16)
ویدئویی ایجاد کنید که حرکت صاف یک آبشار باشکوه هاوایی را در یک جنگل بارانی سرسبز برجسته کند. برای انتقال آرامش، بر جریان واقعی آب، شاخ و برگ دقیق و نور طبیعی تمرکز کنید. آب تند، جو مه آلود و نور خورشید را که از میان سایبان متراکم عبور می کند، ثبت کنید. از حرکات روان و سینمایی دوربین برای نمایش آبشار و محیط اطراف آن استفاده کنید. لحن صلح آمیز و واقع گرایانه را هدف بگیرید و بیننده را به زیبایی آرام جنگل های بارانی هاوایی منتقل کنید.
آبشار باشکوه هاوایی در جنگلی سرسبز.

محدودیت ها

  • تاخیر درخواست: حداقل: 11 ثانیه; حداکثر: 6 دقیقه (در ساعات اوج مصرف).
  • محدودیت‌های منطقه‌ای: در مکان‌های اتحادیه اروپا، بریتانیا، CH، MENA، مقادیر مجاز برای personGeneration به شرح زیر است:
    • Veo 3: فقط allow_adult .
    • Veo 2: dont_allow and allow_adult . پیش فرض dont_allow است.
  • حفظ ویدیو: ویدیوهای تولید شده به مدت 2 روز در سرور ذخیره می شوند و پس از آن حذف می شوند. برای ذخیره یک کپی محلی، باید ویدیوی خود را ظرف 2 روز پس از تولید بارگیری کنید. ویدیوهای توسعه یافته به عنوان ویدیوهای تازه تولید شده در نظر گرفته می شوند.
  • Watermarking: ویدیوهای ایجاد شده توسط Veo با استفاده از SynthID ، ابزار ما برای واترمارک گذاری و شناسایی محتوای تولید شده توسط هوش مصنوعی، واترمارک می شوند. ویدیوها را می توان با استفاده از پلت فرم تأیید SynthID تأیید کرد.
  • ایمنی: ویدیوهای تولید شده از فیلترهای ایمنی و فرآیندهای بررسی حفظی عبور داده می شوند که به کاهش خطرات حریم خصوصی، حق نسخه برداری و سوگیری کمک می کند.
  • خطای صوتی: Veo 3.1 گاهی اوقات به دلیل فیلترهای ایمنی یا سایر مشکلات پردازش صدا، تولید ویدیو را مسدود می کند. اگر تولید ویدیوی شما مسدود شود، هزینه ای از شما دریافت نمی شود.

ویژگی های مدل

ویژگی توضیحات Veo 3.1 و Veo 3.1 سریع Veo 3 و Veo 3 سریع Veo 2
صوتی به صورت بومی صدا را با ویدئو تولید می کند. به صورت بومی صدا را با ویدئو تولید می کند. ✔️ همیشه روشن ❌ فقط بی صدا
روش های ورودی نوع ورودی مورد استفاده برای تولید متن به ویدئو، تصویر به ویدئو، ویدئو به ویدئو متن به ویدئو، تصویر به ویدئو متن به ویدئو، تصویر به ویدئو
قطعنامه وضوح خروجی ویدیو 720p و 1080p (فقط طول 8 ثانیه)

720p فقط هنگام استفاده از پسوند ویدیو.
720p و 1080p (فقط 16:9) 720p
نرخ فریم نرخ فریم خروجی ویدیو. 24 فریم بر ثانیه 24 فریم بر ثانیه 24 فریم بر ثانیه
مدت زمان ویدیو طول ویدیوی تولید شده 8 ثانیه، 6 ثانیه، 4 ثانیه
8 ثانیه فقط هنگام استفاده از تصاویر مرجع
8 ثانیه 5-8 ثانیه
ویدیوها در هر درخواست تعداد ویدیوهای تولید شده در هر درخواست 1 1 1 یا 2
وضعیت و جزئیات در دسترس بودن مدل و جزئیات بیشتر پیش نمایش پایدار پایدار

نسخه های مدل

برای جزئیات بیشتر استفاده از مدل Veo، صفحات محدودیت قیمت و نرخ را بررسی کنید.

پیش نمایش Veo 3.1

اموال توضیحات
کد مدل

Gemini API

veo-3.1-generate-preview

انواع داده های پشتیبانی شده

ورودی

متن، تصویر

خروجی

ویدئو با صدا

محدودیت های

ورودی متن

1024 توکن

خروجی ویدیو

1

آخرین به روز رسانی سپتامبر 2025

پیش نمایش سریع Veo 3.1

اموال توضیحات
کد مدل

Gemini API

veo-3.1-fast-generate-preview

انواع داده های پشتیبانی شده

ورودی

متن، تصویر

خروجی

ویدئو با صدا

محدودیت های

ورودی متن

1024 توکن

خروجی ویدیو

1

آخرین به روز رسانی سپتامبر 2025

Veo 3

اموال توضیحات
کد مدل

Gemini API

veo-3.0-generate-001

انواع داده های پشتیبانی شده

ورودی

متن، تصویر

خروجی

ویدئو با صدا

محدودیت های

ورودی متن

1024 توکن

خروجی ویدیو

1

آخرین به روز رسانی جولای 2025

Veo 3 Fast

Veo 3 Fast به توسعه دهندگان این امکان را می دهد که با حفظ کیفیت بالا و بهینه سازی سرعت و موارد استفاده تجاری، ویدیوهایی با صدا ایجاد کنند. این برای سرویس‌های باطنی که به صورت برنامه‌ریزی تبلیغات تولید می‌کنند، ابزارهایی برای آزمایش سریع A/B مفاهیم خلاقانه یا برنامه‌هایی که نیاز به تولید سریع محتوای رسانه‌های اجتماعی دارند، ایده‌آل است.
اموال توضیحات
کد مدل

Gemini API

veo-3.0-fast-generate-001

انواع داده های پشتیبانی شده

ورودی

متن، تصویر

خروجی

ویدئو با صدا

محدودیت های

ورودی متن

1024 توکن

خروجی ویدیو

1

آخرین به روز رسانی جولای 2025

Veo 2

اموال توضیحات
کد مدل

Gemini API

veo-2.0-generate-001

انواع داده های پشتیبانی شده

ورودی

متن، تصویر

خروجی

ویدیو

محدودیت های

ورودی متن

N/A

ورودی تصویر

هر وضوح تصویر و نسبت تصویر تا اندازه فایل 20 مگابایت

خروجی ویدیو

تا 2

آخرین به روز رسانی آوریل 2025

بعدش چی