Gemini API'de Veo 3.1 ile video üretme

Veo 3.1, Google'ın yüksek doğrulukta, 8 saniyelik, 720p veya 1080p videolar oluşturmak için kullandığı en yeni modelidir. Bu videolar, çarpıcı gerçekçilik ve doğal olarak üretilmiş ses içerir. Bu modele Gemini API'yi kullanarak programatik olarak erişebilirsiniz. Kullanılabilen Veo modeli varyantları hakkında daha fazla bilgi edinmek için Model Sürümleri bölümüne bakın.

Veo 3.1, çok çeşitli görsel ve sinematik stillerde üstün performans gösterir ve çeşitli yeni özellikler sunar:

  • Video uzantısı: Daha önce Veo kullanılarak oluşturulan videoları uzatın.
  • Kareye özgü üretim: İlk ve son kareleri belirterek video oluşturun.
  • Resme dayalı yönlendirme: Oluşturulan videonuzun içeriğine yön vermek için en fazla üç referans resim kullanın.

Video üretimi için etkili metin istemleri yazma hakkında daha fazla bilgi edinmek için Veo istem kılavuzunu inceleyin.

Metinden video üretme

Diyalog, sinematik gerçekçilik veya yaratıcı animasyon içeren videolar oluşturmayı öğrenmek için bir örnek seçin:

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

Resimden video üretme

Aşağıdaki kod, Gemini 2.5 Flash Image (Nano Banana) kullanılarak görüntü oluşturulmasını ve ardından bu görüntünün Veo 3.1 ile video oluşturmak için başlangıç karesi olarak kullanılmasını gösterir.

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

Referans resimleri kullanma

Veo 3.1, üretilen videonuzun içeriğine rehberlik etmek için artık 3 adede kadar referans resim kabul ediyor. Çıkış videosunda konunun görünümünü korumak için bir kişinin, karakterin veya ürünün resimlerini sağlayın.

Örneğin, Nano Banana ile oluşturulan bu üç resmi iyi yazılmış bir istemle referans olarak kullanarak aşağıdaki videoyu oluşturabilirsiniz:

`dress_image` `woman_image` `glasses_image`
Kat kat pembe ve fuşya tüylü, yüksek moda ürünü flamingo elbise Koyu renk saçlı ve sıcak kahverengi gözlü güzel bir kadın Pembe, kalp şeklinde gözlük

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")
Lagünde yürüyen, yüksek moda elbise ve güneş gözlüğü takmış kadın
veo3.1_with_reference_images.mp4

İlk ve son kareleri kullanma

Veo 3.1, enterpolasyon kullanarak veya videonun ilk ve son karelerini belirterek videolar oluşturmanıza olanak tanır. Video üretimi için etkili metin istemleri yazma hakkında bilgi edinmek istiyorsanız Veo istem kılavuzunu inceleyin.

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
Uzun beyaz saçlı ve akışkan bir elbise giymiş hayaletimsi bir kadın, halatlı salıncakta hafifçe sallanıyor. Hayalet kadın salıncaktan kayboluyor Siste salıncakta kaybolan ürkütücü bir kadının sinematik ve rahatsız edici videosu

Veo videolarını uzatma

Daha önce Veo ile oluşturduğunuz videoları 7 saniye ve 20 kata kadar uzatmak için Veo 3.1'i kullanın.

Giriş videosu sınırlamaları:

  • Veo tarafından oluşturulan videolar en fazla 141 saniye uzunluğunda olabilir.
  • Gemini API, yalnızca Veo ile üretilen videolar için video uzantılarını destekler.
  • Giriş videolarının belirli bir uzunluğa, en boy oranına ve boyuta sahip olması gerekir:
    • En boy oranı: 9:16 veya 16:9
    • Çözünürlük: 720p
    • Video uzunluğu: 141 saniye veya daha kısa

Uzantının çıkışı, kullanıcı giriş videosu ile oluşturulan genişletilmiş videoyu birleştiren tek bir video olup 148 saniyeye kadar video süresi sunar.

Bu örnekte, orijinal istemiyle birlikte gösterilen Veo tarafından oluşturulmuş butterfly_video adlı video, video parametresi ve yeni bir istem kullanılarak uzatılıyor:

İstem Çıkış: butterfly_video
Origami kelebek kanatlarını çırparak Fransız kapıdan bahçeye uçuyor. Origami kelebek kanatlarını çırpıp Fransız kapıdan bahçeye uçuyor.

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")
Kelebek bahçeye uçarak giriyor ve origami çiçeğin üzerine konuyor. Yumuşak tüylü beyaz bir köpek yavrusu koşarak gelip çiçeğe nazikçe dokunuyor.
veo3.1_extension.mp4

Video üretimi için etkili metin istemleri yazma hakkında bilgi edinmek için Veo istem kılavuzu'na bakın.

Eşzamansız işlemleri işleme

Video oluşturma, bilgi işlem açısından yoğun bir görevdir. API'ye istek gönderdiğinizde uzun süren bir iş başlatılır ve hemen bir operation nesnesi döndürülür. Ardından, done durumu doğru olana kadar video hazır olana kadar yoklama yapmanız gerekir.

Bu sürecin temelinde, işin durumunu düzenli olarak kontrol eden bir yoklama döngüsü bulunur.

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

Veo API parametreleri ve spesifikasyonları

Bunlar, video oluşturma sürecini kontrol etmek için API isteğinizde ayarlayabileceğiniz parametrelerdir.

Parametre Açıklama Veo 3.1 ve Veo 3.1 Fast Veo 3 ve Veo 3 Fast Veo 2
prompt Videonun metin açıklaması. Ses işaretlerini destekler. string string string
negativePrompt Videoya nelerin dahil edilmemesi gerektiğini açıklayan metin. string string string
image Animasyon eklemek için başlangıç resmi. Image nesnesi Image nesnesi Image nesnesi
lastFrame Geçiş yapılacak bir ara video için son resim. image parametresiyle birlikte kullanılmalıdır. Image nesnesi Image nesnesi Image nesnesi
referenceImages Stil ve içerik referansı olarak kullanılacak en fazla üç resim. VideoGenerationReferenceImage nesnesi (yalnızca Veo 3.1) Yok Yok
video Video uzantısında kullanılacak video. Video nesnesi Yok Yok
aspectRatio Videonun en boy oranı. "16:9" (varsayılan, 720p ve 1080p),
"9:16"(720p ve 1080p)

"16:9" (varsayılan, 720p ve 1080p),
"9:16" (720p ve 1080p)
"16:9" (varsayılan, 720p),
"9:16" (720p)
resolution Videonun en boy oranı. "720p" (varsayılan),
"1080p" (yalnızca 8 saniyelik süreyi destekler)

"720p" yalnızca uzantı için
"720p" (varsayılan),
"1080p" (yalnızca 16:9)
Desteklenmiyor
durationSeconds Oluşturulan videonun uzunluğu. "4", "6", "8".

Uzatma veya ara değer kullanırken "8" olmalıdır (hem 16:9 hem de 9:16'yı destekler) ve referenceImages kullanılırken (yalnızca 16:9'u destekler)
"4", "6", "8" "5", "6", "8"
personGeneration Karakter oluşturmayı kontrol eder.
(Bölgesel kısıtlamalar için Sınırlamalar bölümüne bakın)
Metinden videoya ve uzantı:
"allow_all" yalnızca
Görüntüden videoya, ara görüntü ve referans resimler:
"allow_adult" yalnızca
Metinden videoya:
"allow_all" yalnızca
Görüntüden videoya:
"allow_adult" yalnızca
Metinden video:
"allow_all", "allow_adult", "dont_allow"
Resimden video:
"allow_adult" ve "dont_allow"

seed parametresinin Veo 3 modellerinde de kullanılabildiğini unutmayın. Bu, determinizmi garanti etmez ancak biraz iyileştirir.

İsteğinizde parametreler belirleyerek video oluşturma işleminizi özelleştirebilirsiniz. Örneğin, modele yol göstermek için negativePrompt belirtebilirsiniz.

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

Veo istem kılavuzu

Bu bölümde, Veo kullanarak oluşturabileceğiniz videolara dair örnekler yer alır ve istemleri değiştirerek nasıl farklı sonuçlar elde edebileceğiniz gösterilir.

Güvenlik filtreleri

Veo, oluşturulan videolarda ve yüklenen fotoğraflarda rahatsız edici içerik bulunmadığından emin olmak için Gemini'da güvenlik filtreleri uygular. Şartlarımızı ve kurallarımızı ihlal eden istemler engellenir.

İstem yazmayla ilgili temel bilgiler

İyi istemler açıklayıcı ve nettir. Veo'dan en iyi şekilde yararlanmak için temel fikrinizi belirleyerek başlayın, anahtar kelimeler ve değiştiriciler ekleyerek fikrinizi iyileştirin ve istemlerinize videoya özgü terminolojiyi dahil edin.

İsteminizde aşağıdaki öğeler yer almalıdır:

  • Özne: Videonuzda olmasını istediğiniz nesne, kişi, hayvan veya manzara (ör. şehir manzarası, doğa, araçlar veya köpek yavruları).
  • İşlem: Öznenin yaptığı işlem (ör. yürüme, koşma veya başını çevirme).
  • Stil: Bilim kurgu, korku filmi, kara film gibi belirli film stili anahtar kelimelerini veya çizgi film gibi animasyon stillerini kullanarak reklam öğesinin yönünü belirtin.
  • Kamera konumlandırması ve hareketi: [İsteğe bağlı] Kuşbakışı, göz hizası, yukarıdan çekim, dolly çekimi veya solucan gözü gibi terimleri kullanarak kameranın konumunu ve hareketini kontrol edin.
  • Kompozisyon: [İsteğe bağlı] Çekimin nasıl çerçevelendiği (ör. geniş çekim, yakın çekim, tek çekim veya iki kişilik çekim).
  • Odak ve lens efektleri: [İsteğe bağlı] Belirli görsel efektler elde etmek için sığ odak, derin odak, yumuşak odak, makro lens ve geniş açılı lens gibi terimler kullanın.
  • Ortam: [İsteğe bağlı] Renk ve ışığın sahneye katkısı (ör. mavi tonlar, gece veya sıcak tonlar).

İstem yazmayla ilgili diğer ipuçları

  • Açıklayıcı bir dil kullanın: Veo'ya net bir resim sunmak için sıfatlar ve zarflar kullanın.
  • Yüz ayrıntılarını iyileştirme: İstemde portre kelimesini kullanarak yüz ayrıntılarını fotoğrafın odak noktası olarak belirtin.

Daha kapsamlı istem stratejileri için İstem tasarımına giriş başlıklı makaleyi inceleyin.

Ses istemi

Veo 3 ile ses efektleri, ortam gürültüsü ve diyalog için ipuçları sağlayabilirsiniz. Model, senkronize bir film müziği oluşturmak için bu ipuçlarının nüansını yakalar.

  • Diyalog: Belirli konuşmalar için tırnak işareti kullanın. (Örnek: "Bu anahtar olmalı," diye mırıldandı.)
  • Ses efektleri (SFX): Sesleri açıkça tanımlayın. (Örnek: lastiklerin yüksek sesle gıcırdaması, motorun kükremesi)
  • Ortam Gürültüsü: Ortamın ses manzarasını açıklayın. (Örnek: Arka planda hafif ve ürkütücü bir uğultu duyuluyor.)

Bu videolarda, Veo 3'ün ses üretme özelliğine artan ayrıntı düzeylerinde istem girme gösterilmektedir.

İstem Oluşturulan çıktı
Daha fazla ayrıntı (Diyalog ve ortam)
Sisli bir Pasifik Kuzeybatı ormanının geniş açılı çekimi. Yorgun iki yürüyüşçü (bir kadın ve bir erkek), eğrelti otlarının arasından ilerlerken adam aniden durup bir ağaca bakar. Yakın çekim: Ağacın kabuğunda taze ve derin pençe izleri var. Adam: (Av bıçağını tutarak) "Bu sıradan bir ayı değil." Kadın: (Korkuyla sesi titreyerek ormanı tarıyor) "Peki o zaman nedir?" Kaba bir kabuk, çıtırdayan dallar, nemli toprağın üzerindeki ayak sesleri. Tek bir kuş cıvıldıyor.
Ormanda iki kişi ayı izleriyle karşılaşıyor.
Daha az ayrıntı (Diyalog)
Kağıt kesme animasyonu. Yeni kütüphaneci: "Yasaklı kitapları nerede saklıyorsunuz?" Eski İçerik Seçici: "Hayır. Onlar bizi korur."
Yasaklı kitapları tartışan animasyonlu kütüphaneciler

Sesi dinlemek için bu istemleri kendiniz deneyin. Veo 3'ü deneyin

Referans resimlerle istem oluşturma

Veo'nun görüntüden videoya özelliklerini kullanarak, oluşturulan videolarınıza rehberlik etmek için bir veya daha fazla görüntüyü giriş olarak kullanabilirsiniz. Veo, giriş resmini ilk kare olarak kullanır. Günlük nesneleri hareketlendirmek, çizimlere ve tablolara hayat vermek, doğa manzaralarına hareket ve ses eklemek için videonuzun ilk sahnesi olarak hayal ettiğinize en yakın resmi seçin.

İstem Oluşturulan çıktı
Giriş resmi (Nano Banana tarafından oluşturuldu)
Küçük, minyatür sörfçülerin rustik bir taş banyo lavabosunda okyanus dalgalarında sörf yaptığı hiper gerçekçi bir makro fotoğraf. Eski bir pirinç musluktan su akıyor ve sürekli bir dalga sesi duyuluyor. Sürreal, tuhaf, parlak doğal ışık.
Rustik taş banyo lavabosunda okyanus dalgalarında sörf yapan minik sörfçülerin minyatür görüntüsü.
Çıkış videosu (Veo 3.1 tarafından oluşturuldu)
Gerçeküstü, sinematik bir makro video. Küçük sörfçüler, taş bir banyo lavabosunun içindeki sürekli yuvarlanan dalgalarda sörf yapıyor. Çalışan eski bir pirinç musluk, sonsuz sörf dalgaları oluşturuyor. Kamera, minyatür figürler turkuaz rengi suyu ustaca oyarken güneş ışığıyla aydınlanan, eğlenceli sahneyi yavaşça tarıyor.
Banyo lavabosundaki dalgaların etrafında dönen minik sörfçüler.

Veo 3.1, oluşturulan videonuzun içeriğini yönlendirmek için resimlere veya içerik öğelerine referans vermenize olanak tanır. Tek bir kişiye, karaktere veya ürüne ait en fazla üç öğe resmi sağlayın. Veo, çıkış videosunda öznenin görünümünü korur.

İstem Oluşturulan çıktı
Referans resim (Nano Banana tarafından oluşturuldu)
Derin denizlerde yaşayan bir fenersiler balığı, dişleri açık ve yemi parlayarak derin ve karanlık sularda saklanıyor.
Karanlıkta parlayan bir fener balığı
Referans resim (Nano Banana tarafından oluşturulmuştur)
Düz bir ürün arka planı üzerinde, değnek ve taç ile tamamlanmış pembe bir çocuk prenses kostümü.
Çocuğun pembe prenses kostümü
Çıkış Videosu (Veo 3.1 ile üretildi)
Kostümlü, yüzen ve asayı sallayan balığın komik bir çizgi film versiyonunu oluştur.
Prenses kostümü giymiş bir fener balığı

Veo 3.1'i kullanarak videonun ilk ve son karelerini belirterek de video oluşturabilirsiniz.

İstem Oluşturulan çıktı
İlk resim (Nano Banana tarafından üretildi)
Fransız Rivierası kıyısında kırmızı üstü açık yarış arabası kullanan bir zencefil kedinin yüksek kaliteli, fotoğraf gerçekliğinde ön görüntüsü.
Kırmızı üstü açık yarış arabası süren bir zencefil kedinin resmi
Son görüntü (Nano Banana tarafından oluşturuldu)
Araba bir uçurumdan kalktığında ne olduğunu göster.
Kırmızı üstü açık arabayla uçurumdan aşağı düşen bir zencefil kedisi
Çıkış videosu (Veo 3.1 tarafından üretilir)
İsteğe bağlı
Bir kedi uçurumdan aşağı sürerek uzaklaşıyor

Bu özellik, başlangıç ve bitiş karesini tanımlamanıza olanak tanıyarak çekiminizin kompozisyonu üzerinde hassas kontrol sağlar. Sahnenizin tam olarak hayal ettiğiniz gibi başlayıp bittiğinden emin olmak için bir resim yükleyin veya önceki video üretimlerinden bir kare kullanın.

Uzantı isteme

Veo 3.1 ile Veo tarafından oluşturulan videonuzu genişletmek için videoyu giriş olarak kullanın ve isteğe bağlı bir metin istemi ekleyin. Uzatma, videonuzun son 1-2 saniyesini veya 24 karesini tamamlar ve aksiyonu devam ettirir.

Ses, videonun son 1 saniyesinde yoksa etkili bir şekilde uzatılamaz.

İstem Oluşturulan çıktı
Giriş videosu (Veo 3.1 tarafından oluşturuldu)
Yamaç paraşütçüsü dağın tepesinden kalkış yapıyor ve aşağıda çiçeklerle kaplı vadilere bakan dağlardan aşağı süzülmeye başlıyor.
Bir yamaç paraşütçüsü dağın tepesinden kalkıyor
Çıkış videosu (Veo 3.1 tarafından oluşturuldu)
Bu videoyu, paraşütle atlayan kişinin yavaşça aşağı indiği sahneyle genişlet.
Bir yamaç paraşütü, dağın tepesinden kalkıyor ve yavaşça aşağı iniyor

Örnek istemler ve çıkış

Bu bölümde, açıklayıcı ayrıntıların her videonun sonucunu nasıl iyileştirebileceğini vurgulayan çeşitli istemler sunulmaktadır.

Buz Saçakları

Bu videoda, isteminizde istem yazmayla ilgili temel bilgilerin öğelerini nasıl kullanabileceğiniz gösterilmektedir.

İstem Oluşturulan çıktı
Donmuş bir kaya duvarında (bağlam) eriyen buz sarkıtlarının (özne) yakın çekim (kompozisyon) görüntüsü. Su damlalarının (eylem) yakın çekim ayrıntıları korunarak (kamera hareketi) soğuk mavi tonlarla (ortam) yakınlaştırılmış. Mavi arka plan üzerinde damlayan buz sarkıtları.

Telefonda konuşan adam

Bu videolarda, Veo'nun çıktıyı istediğiniz gibi iyileştirmesi için isteminizi giderek daha ayrıntılı bilgilerle nasıl revize edebileceğiniz gösterilmektedir.

İstem Oluşturulan çıktı
Daha az ayrıntı
Kamera, yeşil trençkotlu çaresiz bir adamın yakın çekimini göstermek için hareket ediyor. Çevirmeli duvara monte bir telefonda görüşme yapıyor. Telefonun yanında yeşil neon ışık var. Film sahnesine benziyor.
Telefonda konuşan adam.
Daha ayrıntılı açıklama
Yakın çekim sinematik bir sahnede, yıpranmış yeşil trençkotlu çaresiz bir adam, yeşil neon tabelanın ürkütücü ışığıyla aydınlatılmış, kirli bir tuğla duvara monte edilmiş çevirmeli bir telefonu çeviriyor. Kamera, adamın çenesindeki gerginliği ve telefonu açmaya çalışırken yüzüne yansıyan çaresizliği göstererek yakınlaşıyor. Alan derinliği düşük olduğu için arka plandaki neon renkler ve belirsiz gölgeler bulanıklaşarak aciliyet ve yalnızlık hissi yaratıyor. Odak noktası ise adamın çatık kaşları ve siyah çevirmeli telefon.
Telefonda konuşan adam

Kar leoparı

İstem Oluşturulan çıktı
Basit istem:
Karda leopar benzeri tüyleri olan sevimli bir yaratık kış ormanında yürüyor, 3D çizgi film tarzında oluştur.
Kar leoparı uyuşuk.
Ayrıntılı istem:
Neşeli bir çizgi film tarzında kısa bir 3D animasyon sahnesi oluştur. Kar leoparı gibi tüyleri, büyük ve etkileyici gözleri olan sevimli bir yaratık, neşeli ve yuvarlak hatlarıyla kışın büyülü ormanında mutlu bir şekilde sekiyor. Sahnede yuvarlak, karla kaplı ağaçlar, yavaşça düşen kar taneleri ve dalların arasından süzülen sıcak güneş ışığı yer almalıdır. Yaratığın zıplayan hareketleri ve kocaman gülümsemesi, saf bir keyif duygusu vermelidir. Parlak ve neşeli renkler ile eğlenceli animasyonlar kullanarak neşeli ve içten bir ton yakalayın.
Kar leoparı daha hızlı koşuyor.

Yazı öğelerine göre örnekler

Bu örneklerde, istemlerinizi her bir temel öğeye göre nasıl hassaslaştıracağınız gösterilmektedir.

Konu ve bağlam

Ana odak noktasını (konu) ve arka planı veya ortamı (bağlam) belirtin.

İstem Oluşturulan çıktı
Yemyeşil bitki örtüsü ve fütüristik öğelerle kusursuz bir şekilde harmanlanan, akışkan organik şekillere sahip beyaz beton bir apartman binasının mimari görseli Yer tutucu.
Uzayda süzülen bir uydu. Arka planda ay ve bazı yıldızlar görünüyor. Atmosferde süzülen uydu.

İşlem

Öznenin ne yaptığını belirtin (ör. yürüyor, koşuyor veya başını çeviriyor).

İstem Oluşturulan çıktı
Gün batımında ufka doğru mutlu ve rahat bir şekilde sahilde yürüyen bir kadının geniş açılı fotoğrafı. Gün batımı kesinlikle çok güzel.

Stil

Üretimi belirli bir estetiğe yönlendirmek için anahtar kelimeler ekleyin (ör. sürreal, vintage, fütüristik, film noir).

İstem Oluşturulan çıktı
Kara film tarzında, sokakta yürüyen bir adam ve kadın, gizem, sinematik, siyah beyaz. Kara film tarzı kesinlikle çok güzel.

Kamera hareketi ve kompozisyon

Kameranın nasıl hareket edeceğini (öznel bakış açısı, kuşbakışı, takip eden drone görünümü) ve çekimin nasıl çerçeveleneceğini (geniş çekim, yakın çekim, alçak açı) belirtin.

İstem Oluşturulan çıktı
Yağmurda sürüş yapan bir klasik arabanın sürücü bakış açısıyla çekilmiş, Kanada'da gece çekilmiş sinematik bir görüntüsü. Gün batımı kesinlikle çok güzel.
Gözün, içinde şehir yansıması olan aşırı yakın çekimi. Gün batımı kesinlikle çok güzel.

Ortam

Renk paletleri ve aydınlatma, ruh halini etkiler. "Mat turuncu, sıcak tonlar", "doğal ışık", "gündoğumu" veya "soğuk mavi tonlar" gibi terimleri deneyin.

İstem Oluşturulan çıktı
Parkta sevimli bir golden retriever yavrusunu tutan kızın yakın çekimi, güneş ışığı. Küçük bir kızın kollarında bir köpek yavrusu.
Yağmurda otobüse binen üzgün bir kadının sinematik yakın çekim görüntüsü, soğuk mavi tonlar, hüzünlü ruh hali. Otobüste üzgün bir şekilde yolculuk yapan kadın.

Olumsuz istemler

Negatif istemler, videoda olmasını istemediğiniz öğeleri belirtir.

  • Hayır veya yapma gibi talimat veren ifadeler kullanmayın. (ör. "Duvar yok").
  • ✅ Görmek istemediklerinizi açıklayın. (ör. "wall, frame").
İstem Oluşturulan çıktı
Olumsuz İstem Olmadan:
Güçlü bir rüzgarda yaprakları şiddetle esen, büyük ve yalnız bir meşe ağacının kısa ve stilize edilmiş bir animasyonunu oluştur... [kısaltılmış]
Kullanım kelimeleriyle ağaç.
Olumsuz istemle:
[Aynı istem]

Olumsuz istem: şehir arka planı, insan yapımı yapılar, karanlık, fırtınalı veya tehdit edici atmosfer.
Negatif kelime içermeyen ağaç.

En boy oranları

Veo, videonuzun en boy oranını belirtmenize olanak tanır.

İstem Oluşturulan çıktı
Geniş ekran (16:9)
1970'lerde Palm Springs'te kırmızı üstü açık bir arabayı süren bir adamın takip drone'u görüntüsünü içeren bir video oluştur. Sıcak güneş ışığı, uzun gölgeler.
Palm Springs'te 1970'ler tarzında kırmızı bir üstü açık arabayı süren bir adam.
Dikey (9:16)
Yemyeşil bir yağmur ormanında bulunan görkemli bir Hawaii şelalesinin akıcı hareketini öne çıkaran bir video oluşturun. Huzuru yansıtmak için gerçekçi su akışına, ayrıntılı bitki örtüsüne ve doğal ışıklandırmaya odaklan. Akan suyu, sisli atmosferi ve yoğun ağaçların arasından süzülen benekli güneş ışığını yakalayın. Şelaleyi ve çevresini göstermek için akıcı ve sinematik kamera hareketleri kullanın. İzleyiciyi Hawaii yağmur ormanının huzurlu güzelliğine götüren, sakin ve gerçekçi bir ton kullanın.
Yemyeşil yağmur ormanında görkemli bir Hawaii şelalesi.

Sınırlamalar

  • İstek gecikmesi: En az: 11 saniye; en fazla: 6 dakika (yoğun saatlerde).
  • Bölgesel sınırlamalar: AB, Birleşik Krallık, İsviçre ve Orta Doğu ve Kuzey Afrika'daki konumlarda personGeneration için izin verilen değerler şunlardır:
    • Veo 3: Yalnızca allow_adult.
    • Veo 2: dont_allow ve allow_adult. Varsayılan değer dont_allow'dır.
  • Video saklama: Oluşturulan videolar 2 gün boyunca sunucuda saklanır ve ardından kaldırılır. Yerel bir kopya kaydetmek için videonuzu oluşturulduktan sonraki 2 gün içinde indirmeniz gerekir. Uzatılmış videolar, yeni oluşturulmuş videolar olarak değerlendirilir.
  • Filigran: Veo ile oluşturulan videolara, yapay zekayla üretilen içeriklere filigran ekleyip bu içerikleri tanımlamak için kullandığımız SynthID aracıyla filigran eklenir. Videolar, SynthID doğrulama platformu kullanılarak doğrulanabilir.
  • Güvenlik: Oluşturulan videolar, gizlilik, telif hakkı ve önyargı risklerini azaltmaya yardımcı olan güvenlik filtrelerinden ve ezberleme kontrolü süreçlerinden geçirilir.
  • Ses hatası: Veo 3.1, güvenlik filtreleri veya sesle ilgili diğer işleme sorunları nedeniyle bazen videoların oluşturulmasını engeller. Videonuzun oluşturulması engellenirse sizden ücret alınmaz.

Model özellikleri

Özellik Açıklama Veo 3.1 ve Veo 3.1 Fast Veo 3 ve Veo 3 Fast Veo 2
Ses Videolarla birlikte doğal ses üretir. Videolarla birlikte doğal ses üretir. ✔️ Her zaman açık ❌ Yalnızca sessiz
Giriş Modları (Input Modalities) Üretim için kullanılan giriş türü. Metinden videoya, görüntüden videoya, videodan videoya Metinden videoya, görüntüden videoya Metinden videoya, görüntüden videoya
Çözüm Videonun çıkış çözünürlüğü. 720p ve 1080p (yalnızca 8 saniye uzunluğunda)

Video uzantısı kullanılırken yalnızca 720p.
720p ve 1080p (yalnızca 16:9) 720p
Kare hızı Videonun çıkış kare hızı. 24 fps 24 fps 24 fps
Video Süresi Oluşturulan videonun uzunluğu. 8 saniye, 6 saniye, 4 saniye
Yalnızca referans görseller kullanılırken 8 saniye
8 saniye 5-8 saniye
İstek Başına Video Sayısı İstek başına oluşturulan video sayısı. 1 1 1 veya 2
Durum ve Ayrıntılar Modelin kullanılabilirliği ve diğer ayrıntılar. Önizleyin Kararlı Kararlı

Model sürümleri

Veo modeline özgü kullanım hakkında daha fazla bilgi için Fiyatlandırma ve Hız sınırları sayfalarına göz atın.

Veo 3.1 Önizlemesi

Mülk Açıklama
Model kodu

Gemini API

veo-3.1-generate-preview

Desteklenen veri türleri

Giriş

Metin, Resim

Çıkış

Sesli video

Sınırlar

Metin girişi

1.024 jeton

Çıkış videosu

1

Son güncelleme Eylül 2025

Veo 3.1 Fast Önizlemesi

Mülk Açıklama
Model kodu

Gemini API

veo-3.1-fast-generate-preview

Desteklenen veri türleri

Giriş

Metin, Resim

Çıkış

Sesli video

Sınırlar

Metin girişi

1.024 jeton

Çıkış videosu

1

Son güncelleme Eylül 2025

Veo 3

Mülk Açıklama
Model kodu

Gemini API

veo-3.0-generate-001

Desteklenen veri türleri

Giriş

Metin, Resim

Çıkış

Sesli video

Sınırlar

Metin girişi

1.024 jeton

Çıkış videosu

1

Son güncelleme Temmuz 2025

Veo 3 Fast

Veo 3 Fast, geliştiricilerin yüksek kaliteyi koruyarak, hızı ve iş kullanım alanlarını optimize ederek sesli videolar oluşturmasına olanak tanır. Programatik olarak reklam oluşturan arka uç hizmetleri, reklam öğesi konseptlerinin hızlı A/B testi için kullanılan araçlar veya sosyal medya içeriklerini hızlıca üretmesi gereken uygulamalar için idealdir.
Mülk Açıklama
Model kodu

Gemini API

veo-3.0-fast-generate-001

Desteklenen veri türleri

Giriş

Metin, Resim

Çıkış

Sesli video

Sınırlar

Metin girişi

1.024 jeton

Çıkış videosu

1

Son güncelleme Temmuz 2025

Veo 2

Mülk Açıklama
Model kodu

Gemini API

veo-2.0-generate-001

Desteklenen veri türleri

Giriş

Metin, resim

Çıkış

Video

Sınırlar

Metin girişi

Yok

Resim girişi

Dosya boyutu 20 MB'a kadar olan tüm görüntü çözünürlükleri ve en boy oranları

Çıkış videosu

En fazla 2

Son güncelleme Nisan 2025

Sırada ne var?