Генерация видео с помощью Veo 3.1 в API Gemini

Veo 3.1 — это передовая модель Google для генерации высококачественных 8-секундных видеороликов в разрешении 720p или 1080p, отличающихся потрясающей реалистичностью и собственным звуком. Доступ к этой модели можно получить программно с помощью API Gemini. Подробнее о доступных вариантах модели Veo см. в разделе «Версии модели» .

Veo 3.1 превосходно справляется с широким спектром визуальных и кинематографических стилей и представляет ряд новых возможностей:

  • Расширение видео : Расширение видео, ранее созданных с помощью Veo.
  • Покадровая генерация : создайте видео, указав первый и последний кадры.
  • Управление с помощью изображений : используйте до трех эталонных изображений, чтобы определить содержание создаваемого видео.

Для получения дополнительной информации о создании эффективных текстовых подсказок для генерации видео см. руководство по подсказкам Veo.

Преобразование текста в видео

Выберите пример, чтобы увидеть, как создать видео с диалогами, кинематографическим реализмом или креативной анимацией:

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

Идти

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.

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",
    contents=prompt,
    config={"response_modalities":['IMAGE']}
)

# 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.parts[0].as_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`);

Идти

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 эталонных изображений, которые помогут в создании контента для видео. Предоставьте изображения человека, персонажа или продукта, чтобы сохранить внешний вид объекта в итоговом видео.

Например, используя эти три изображения, созданные с помощью Nano Banana , в качестве参考 и грамотно составленное задание, можно создать следующее видео:

`dress_image` `woman_image` `glasses_image`
Платье в стиле высокой моды с изображением фламинго, украшенное многослойными розовыми и фуксиевыми перьями.Красивая женщина с темными волосами и теплыми карими глазами.Причудливые розовые солнцезащитные очки в форме сердца

Python

import time
from google import genai

client = genai.Client()

prompt = "The video opens with a medium, eye-level shot of a beautiful woman with dark hair and warm brown eyes. She wears a magnificent, high-fashion flamingo dress with layers of pink and fuchsia feathers, complemented by whimsical pink, heart-shaped sunglasses. She walks with serene confidence through the crystal-clear, shallow turquoise water of a sun-drenched lagoon. The camera slowly pulls back to a medium-wide shot, revealing the breathtaking scene as the dress's long train glides and floats gracefully on the water's surface behind her. The cinematic, dreamlike atmosphere is enhanced by the vibrant colors of the dress against the serene, minimalist landscape, capturing a moment of pure elegance and high-fashion fantasy."

dress_reference = types.VideoGenerationReferenceImage(
  image=dress_image, # Generated separately with Nano Banana
  reference_type="asset"
)

sunglasses_reference = types.VideoGenerationReferenceImage(
  image=glasses_image, # Generated separately with Nano Banana
  reference_type="asset"
)

woman_reference = types.VideoGenerationReferenceImage(
  image=woman_image, # Generated separately with Nano Banana
  reference_type="asset"
)

operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt=prompt,
    config=types.GenerateVideosConfig(
      reference_images=[dress_reference, glasses_reference, woman_reference],
    ),
)

# Poll the operation status until the video is ready.
while not operation.done:
    print("Waiting for video generation to complete...")
    time.sleep(10)
    operation = client.operations.get(operation)

# Download the video.
video = operation.response.generated_videos[0]
client.files.download(file=video.video)
video.video.save("veo3.1_with_reference_images.mp4")
print("Generated video saved to veo3.1_with_reference_images.mp4")

Используя первый и последний кадры

Veo 3.1 позволяет создавать видео с использованием интерполяции, то есть с указанием первого и последнего кадров видео. Информацию о создании эффективных текстовых подсказок для генерации видео см. в руководстве по подсказкам Veo .

Python

import time
from google import genai

client = genai.Client()

prompt = "A cinematic, haunting video. A ghostly woman with long white hair and a flowing dress swings gently on a rope swing beneath a massive, gnarled tree in a foggy, moonlit clearing. The fog thickens and swirls around her, and she slowly fades away, vanishing completely. The empty swing is left swaying rhythmically on its own in the eerie silence."

operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt=prompt,
    image=first_image, # Generated separately with Nano Banana
    config=types.GenerateVideosConfig(
      last_frame=last_image # Generated separately with Nano Banana
    ),
)

# Poll the operation status until the video is ready.
while not operation.done:
    print("Waiting for video generation to complete...")
    time.sleep(10)
    operation = client.operations.get(operation)

# Download the video.
video = operation.response.generated_videos[0]
client.files.download(file=video.video)
video.video.save("veo3.1_with_interpolation.mp4")
print("Generated video saved to veo3.1_with_interpolation.mp4")
`first_image` `last_image` veo3.1_with_interpolation.mp4
Призрачная женщина с длинными белыми волосами и струящимся платьем мягко качается на веревочных качелях.Призрачная женщина исчезает с качелей.Завораживающее, кинематографичное видео, на котором жутковатая женщина исчезает с качелей в тумане.

Расширение видео Veo

Используйте Veo 3.1, чтобы увеличить продолжительность видеороликов, созданных вами ранее с помощью Veo, на 7 секунд и до 20 раз.

Ограничения на входное видео:

  • Видеоролики, созданные с помощью Veo, имеют продолжительность не более 141 секунды.
  • API Gemini поддерживает расширения для видео только для видеороликов, созданных Veo.
  • Видео должно быть из предыдущего поколения, например, operation.response.generated_videos[0].video
  • Ожидается, что входные видеофайлы будут иметь определённую длину, соотношение сторон и размеры:
    • Соотношение сторон: 9:16 или 16:9
    • Разрешение: 720p
    • Длительность видео: 141 секунда или меньше.

Результатом работы расширения является единый видеоролик, объединяющий видеозапись, введенную пользователем, и сгенерированное расширенное видео общей продолжительностью до 148 секунд.

В этом примере используется сгенерированное Veo видео, показанное здесь с исходным приглашением командной строки, и оно расширяется за счет параметра video и нового приглашения командной строки:

Быстрый Вывод: butterfly_video
Бабочка, сделанная из оригами, взмахивает крыльями и вылетает из французских дверей в сад. Бабочка-оригами взмахивает крыльями и вылетает через французские двери в сад.

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=operation.response.generated_videos[0].video, # This must be a video from a previous generation
    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")

Для получения информации о создании эффективных текстовых подсказок для генерации видео, см. руководство по подсказкам Veo .

Обработка асинхронных операций

Создание видео — задача, требующая значительных вычислительных ресурсов. При отправке запроса к API запускается длительная задача, которая немедленно возвращает объект operation . Затем необходимо постоянно проверять состояние видео, пока оно не будет готово, о чем свидетельствует статус done (истина).

В основе этого процесса лежит цикл опроса, который периодически проверяет статус задания.

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

Параметры и спецификации API Veo

Это параметры, которые вы можете задать в запросе к API для управления процессом генерации видео.

Параметр Описание Veo 3.1 и Veo 3.1 Fast Veo 3 и Veo 3 Fast Veo 2
prompt Текстовое описание к видео. Поддерживает звуковые подсказки. string string string
negativePrompt Текст, описывающий, чего не следует включать в видео. string string string
image Исходное изображение для анимации. Объект Image Объект Image Объект Image
lastFrame Финальное изображение для интерполированного видео при переходе. Должно использоваться в сочетании с параметром image . Объект Image Объект Image Объект Image
referenceImages До трех изображений могут быть использованы в качестве стилистических и содержательных ориентиров. Объект VideoGenerationReferenceImage (только для Veo 3.1) н/д н/д
video Видео для использования в качестве расширения видео. Video н/д н/д
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" .

Значение "8" необходимо установить при использовании расширения или интерполяции (поддерживается формат 16:9 и 9:16), а также при использовании referenceImages (поддерживается только формат 16:9).
"4" , "6" , "8" "5" , "6" , "8"
personGeneration Контролирует процесс генерации людей.
(См. раздел «Ограничения» для получения информации о региональных ограничениях)
Преобразование текста в видео и расширение:
"allow_all" only
Преобразование изображения в видео, интерполяция и эталонные изображения:
"allow_adult" only
Преобразование текста в видео:
"allow_all" only
Преобразование изображения в видео:
"allow_adult" only
Преобразование текста в видео:
"allow_all" , "allow_adult" , "dont_allow"
Преобразование изображения в видео:
"allow_adult" и "dont_allow"

Обратите внимание, что параметр seed также доступен для моделей Veo 3. Он не гарантирует детерминированность, но немного улучшает её.

Вы можете настроить генерацию видео, задав параметры в запросе. Например, вы можете указать negativePrompt для управления моделью.

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

Идти

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.
  • Подчеркните детали лица : укажите детали лица как главный акцент на фотографии, например, используя слово «портрет» в задании.

Для получения более подробных рекомендаций по использованию подсказок посетите раздел «Введение в разработку подсказок» .

Запрос на ввод аудио

С помощью Veo 3 вы можете задавать звуковые эффекты, окружающие шумы и диалоги. Модель улавливает нюансы этих сигналов для создания синхронизированной звуковой дорожки.

  • Диалог: Используйте цитаты для обозначения конкретных реплик. (Пример: «Это, должно быть, ключ», — пробормотал он.)
  • Звуковые эффекты (SFX): Подробно описывают звуки. (Пример: громкий визг шин, рёв двигателя.)
  • Окружающий шум: Опишите звуковой ландшафт окружающей среды. (Пример: На заднем плане слышен слабый, жутковатый гул.)

В этих видеороликах демонстрируется генерация звука в Veo 3 с возрастающим уровнем детализации.

Быстрый Сгенерированный вывод
Более подробная информация (диалоги и атмосфера)
Общий план туманного леса на северо-западе Тихоокеанского побережья. Двое измученных туристов, мужчина и женщина, пробираются сквозь папоротники, когда мужчина резко останавливается, уставившись на дерево. Крупный план: свежие, глубокие следы когтей на коре дерева. Мужчина: (Рука на охотничьем ноже) "Это не обычный медведь." Женщина: (Голос напряжен от страха, осматривает лес) "Тогда что это?" Грубая кора, треск веток, шаги по влажной земле. Щебетание одинокой птицы.
Двое человек в лесу обнаружили следы медведя.
Меньше подробностей (диалог)
Анимация, выполненная в технике вырезания из бумаги. Новый библиотекарь: «Где вы храните запрещенные книги?» Старый хранитель: «Мы их не храним. Они нас держат».
Анимированные библиотекари обсуждают запрещенные книги

Попробуйте сами выполнить эти подсказки, чтобы услышать аудио! Попробуйте Veo 3

Подсказки с использованием эталонных изображений

В качестве входных данных для создания видеороликов можно использовать одно или несколько изображений, используя возможности Veo по преобразованию изображений в видео . Veo использует входное изображение в качестве начального кадра. Выберите изображение, наиболее близкое к тому, что вы представляете себе в качестве первой сцены вашего видео, чтобы анимировать повседневные предметы, оживить рисунки и картины, а также добавить движение и звук к сценам природы.

Быстрый Сгенерированный вывод
Входное изображение (сгенерировано программой Nano Banana)
Гиперреалистичная макрофотография крошечных серферов, скользящих по океанским волнам внутри деревенской каменной раковины в ванной комнате. Работает старинный латунный кран, создавая эффект вечных волн. Сюрреалистично, причудливо, яркое естественное освещение.
Крошечные, миниатюрные серферы, рассекающие океанские волны внутри каменной раковины в ванной комнате.
Выходное видео (сгенерировано Veo 3.1)
Сюрреалистическое, кинематографическое макровидео. Крошечные серферы катаются на постоянно накатывающих волнах внутри каменной раковины в ванной. Работающий старинный латунный кран создает бесконечный прибой. Камера медленно перемещается по причудливой, залитой солнцем сцене, пока миниатюрные фигурки искусно рассекают бирюзовую воду.
Маленькие серферы кружат на волнах в раковине в ванной.

Veo 3.1 позволяет использовать изображения или ингредиенты в качестве ориентира для создания контента видео. Можно указать до трех изображений одного человека, персонажа или продукта. Veo сохраняет внешний вид объекта в выходном видео.

Быстрый Сгенерированный вывод
Эталонное изображение (создано программой Nano Banana)
В темных глубинах скрывается глубоководная рыба-удильщик, оскалив зубы и подсвечивая приманку.
Темная и светящаяся рыба-удильщик
Эталонное изображение (создано программой Nano Banana)
Розовый детский костюм принцессы в комплекте с волшебной палочкой и диадемой, на однотонном фоне товара.
Розовый детский костюм принцессы
Выходное видео (сгенерировано Veo 3.1)
Создайте забавную мультяшную версию рыбки в костюме, плавающей и размахивающей волшебной палочкой.
Рыба-удильщик в костюме принцессы

С помощью Veo 3.1 вы также можете создавать видеоролики, указывая первый и последний кадры видео.

Быстрый Сгенерированный вывод
Первое изображение (сгенерировано программой Nano Banana)
Высококачественное фотореалистичное изображение рыжего кота, едущего на красном кабриолете по гоночной трассе на Французской Ривьере.
Рыжий кот за рулем красного кабриолета, участвующего в гонках.
Последнее изображение (сгенерировано программой Nano Banana)
Покажите, что происходит, когда автомобиль съезжает с обрыва.
Рыжий кот за рулем красного кабриолета падает со скалы.
Выходное видео (сгенерировано Veo 3.1)
Необязательный
Кот съезжает с обрыва и убегает.

Эта функция позволяет точно контролировать композицию кадра, задавая начальный и конечный кадры. Загрузите изображение или используйте кадр из предыдущего видео, чтобы убедиться, что ваша сцена начинается и заканчивается именно так, как вы себе представляете.

Запрос на продление

Чтобы продлить видео, созданное в Veo, с помощью Veo 3.1, используйте видео в качестве входных данных вместе с необязательным текстовым запросом. Функция Extend завершает последнюю секунду или 24 кадра видео и продолжает действие.

Обратите внимание, что эффективное расширение голосового диапазона невозможно, если голос отсутствует в последней секунде видео.

Быстрый Сгенерированный вывод
Входное видео (сгенерировано Veo 3.1)
Парапланерист взлетает с вершины горы и начинает скользить вниз, любуясь покрытыми цветами долинами внизу.
Парапланерист взлетает с вершины горы.
Выходное видео (сгенерировано Veo 3.1)
Продлите это видео, показав, как парапланерист медленно спускается.
Парапланерист взлетает с вершины горы, а затем медленно спускается.

Примеры подсказок и результатов

В этом разделе представлены несколько подсказок, демонстрирующих, как подробные описания могут улучшить результат каждого видеоролика.

Сосульки

В этом видео показано, как можно использовать основные элементы написания заданий в вашем задании.

Быстрый Сгенерированный вывод
Крупный план (композиция) тающих сосулек (объект) на замерзшей каменной стене (контекст) в холодных синих тонах (атмосфера), приближение (движение камеры) с сохранением крупных планов капель воды (действие). Свисающие сосульки на синем фоне.

Мужчина разговаривает по телефону

В этих видеороликах показано, как можно изменить запрос, добавив все более конкретные детали, чтобы Veo уточнил результат в соответствии с вашими предпочтениями.

Быстрый Сгенерированный вывод
Меньше деталей
Камера плавно перемещается, показывая крупным планом отчаявшегося мужчину в зеленом плаще. Он разговаривает по настенному телефону с дисковым набором номера и зеленой неоновой вывеской. Это похоже на сцену из фильма.
Мужчина разговаривает по телефону.
Более подробная информация
Крупный план, снятый в кинематографическом стиле, показывает отчаявшегося мужчину в потертом зеленом плаще, набирающего номер на дисковом телефоне, установленном на грубой кирпичной стене, залитой зловещим свечением зеленой неоновой вывески. Камера приближается, показывая напряжение в его челюсти и отчаяние на лице, когда он изо всех сил пытается дозвониться. Небольшая глубина резкости фокусируется на его нахмуренных бровях и черном дисковом телефоне, размывая фон в море неоновых цветов и нечетких теней, создавая ощущение срочности и изоляции.
Мужчина разговаривает по телефону

Снежный барс

Быстрый Сгенерированный вывод
Простая подсказка:
Милое существо с шерстью, похожей на шерсть снежного барса, прогуливается по зимнему лесу, трехмерное изображение в мультяшном стиле.
Снежный барс вялый.
Подробный запрос:
Создайте короткую 3D-анимационную сцену в радостном мультяшном стиле. Милое существо с шерстью, похожей на шерсть снежного барса, большими выразительными глазами и дружелюбной, округлой фигурой радостно резвится в причудливом зимнем лесу. Сцена должна включать в себя округлые, покрытые снегом деревья, нежно падающие снежинки и теплый солнечный свет, пробивающийся сквозь ветви. Игривые движения существа и широкая улыбка должны передавать чистую радость. Стремитесь к оптимистичному, трогательному тону с яркими, жизнерадостными цветами и игривой анимацией.
Снежный барс бежит быстрее.

Примеры, созданные путем написания элементов.

Эти примеры показывают, как уточнить ваши подсказки по каждому базовому элементу.

Предмет и контекст

Укажите основную тему (предмет) и контекст или обстановку.

Быстрый Сгенерированный вывод
Архитектурный эскиз белого бетонного многоквартирного дома с плавными органическими формами, органично сочетающегося с пышной зеленью и футуристическими элементами. Заполнитель.
Спутник, парящий в открытом космосе, на заднем плане — Луна и несколько звёзд. Спутник, парящий в атмосфере.

Действие

Укажите, что именно делает субъект (например, идет, бежит или поворачивает голову).

Быстрый Сгенерированный вывод
Общий план: женщина, идущая по пляжу, выглядит довольной и расслабленной, глядя на горизонт на закате. Закат просто восхитительный.

Стиль

Добавьте ключевые слова, чтобы направить внимание поколения на определенную эстетику (например, сюрреализм, винтаж, футуристический, нуар).

Быстрый Сгенерированный вывод
Фильм в стиле нуар, мужчина и женщина идут по улице, загадка, кинематографичность, черно-белое изображение. Стиль нуар — это просто восхитительно.

Движение камеры и композиция

Укажите, как движется камера (съемка от первого лица, вид сверху, съемка с дрона) и как кадрируется изображение (общий план, крупный план, ракурс снизу).

Быстрый Сгенерированный вывод
Съемка от первого лица из старинного автомобиля, едущего под дождем, Канада ночью, кинематографический вид. Закат просто восхитительный.
Крупный план глаза, в котором отражается город. Закат просто восхитительный.

Атмосфера

Цветовая палитра и освещение влияют на настроение. Попробуйте использовать такие термины, как «приглушенные оранжевые теплые тона», «естественный свет», «восход солнца» или «холодные синие тона».

Быстрый Сгенерированный вывод
Крупный план девочки, держащей очаровательного щенка золотистого ретривера в парке, солнечный свет. Щенок на руках у маленькой девочки.
Кинематографический крупный план грустной женщины, едущей в автобусе под дождем, холодные синие тона, печальное настроение. Женщина, едущая в автобусе, испытывает грусть.

Отрицательные подсказки

Отрицательные подсказки указывают на элементы, которые вы не хотите видеть в видео.

  • ❌ Не используйте поучительные фразы, такие как «нет» или «не надо » (например, «Никаких стен»).
  • ✅ Опишите, что именно вы не хотите видеть (например, «стена, рама»).
Быстрый Сгенерированный вывод
Без отрицательного подсказки:
Создайте короткую стилизованную анимацию большого одинокого дуба, листья которого сильно колышутся на сильном ветру... [сокращено]
Дерево, созданное с помощью слов.
При отрицательном ответе:
[Тот же запрос]

Отрицательная подсказка: городской фон, рукотворные сооружения, мрачная, бурная или угрожающая атмосфера.
Дерево без негативных слов.

Соотношение сторон

Veo позволяет задать соотношение сторон для вашего видео.

Быстрый Сгенерированный вывод
Широкоэкранный формат (16:9)
Создайте видеоролик с использованием съемки с дрона, запечатлевшего мужчину за рулем красного кабриолета в Палм-Спрингс, 1970-е годы, при теплом солнечном свете и длинных тенях.
Мужчина за рулем красного кабриолета в Палм-Спрингс, в стиле 1970-х годов.
Портрет (9:16)
Создайте видеоролик, подчеркивающий плавное движение величественного гавайского водопада в пышном тропическом лесу. Сосредоточьтесь на реалистичном потоке воды, детальной проработке листвы и естественном освещении, чтобы передать спокойствие. Запечатлейте бурлящий поток воды, туманную атмосферу и пробивающиеся сквозь густой полог солнечные лучи. Используйте плавные, кинематографические движения камеры, чтобы показать водопад и его окрестности. Стремитесь к мирному, реалистичному тону, переносящему зрителя в безмятежную красоту гавайского тропического леса.
Величественный гавайский водопад в пышном тропическом лесу.

Ограничения

  • Задержка запроса: Мин.: 11 секунд; Макс.: 6 минут (в часы пик).
  • Региональные ограничения: В странах ЕС, Великобритании, Швейцарии и странах Ближнего Востока и Северной Африки допустимые значения для personGeneration следующие:
    • Veo 3: allow_adult only.
    • Veo 2: dont_allow и allow_adult . По умолчанию используется dont_allow .
  • Срок хранения видео: Сгенерированные видео хранятся на сервере в течение 2 дней, после чего удаляются. Для сохранения локальной копии необходимо загрузить видео в течение 2 дней с момента генерации. Расширенные видео рассматриваются как вновь сгенерированные.
  • Водяные знаки: Видеоролики, созданные Veo, помечаются водяными знаками с помощью SynthID — нашего инструмента для нанесения водяных знаков и идентификации контента, созданного с помощью ИИ. Видео можно проверить с помощью платформы проверки SynthID .
  • Безопасность: Созданные видеоролики проходят через фильтры безопасности и процессы проверки на запоминаемость, что помогает снизить риски нарушения конфиденциальности, авторских прав и предвзятости.
  • Ошибка звука: Veo 3.1 иногда блокирует генерацию видео из-за защитных фильтров или других проблем обработки звука. В случае блокировки генерации видео с вас взиматься не будет.

Характеристики модели

Особенность Описание Veo 3.1 и Veo 3.1 Fast Veo 3 и Veo 3 Fast 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 Fast позволяют разработчикам создавать видео со звуком, сохраняя при этом высокое качество и оптимизируя скорость работы для бизнес-задач. Они идеально подходят для бэкэнд-сервисов, программно генерирующих рекламу, инструментов для быстрого A/B-тестирования креативных концепций или приложений, которым необходимо быстро создавать контент для социальных сетей.

Предварительная версия Veo 3.1

Свойство Описание
Код модели

API Gemini

veo-3.1-generate-preview

Поддерживаемые типы данных

Вход

Текст, Изображение

Выход

Видео со звуком

Limits

Текстовое поле ввода

1024 токена

Выходное видео

1

Последнее обновление Сентябрь 2025 г.

Veo 3.1 Быстрый предварительный просмотр

Свойство Описание
Код модели

API Gemini

veo-3.1-fast-generate-preview

Поддерживаемые типы данных

Вход

Текст, Изображение

Выход

Видео со звуком

Limits

Текстовое поле ввода

1024 токена

Выходное видео

1

Последнее обновление Сентябрь 2025 г.

Veo 3

Свойство Описание
Код модели

API Gemini

veo-3.0-generate-001

Поддерживаемые типы данных

Вход

Текст, Изображение

Выход

Видео со звуком

Limits

Текстовое поле ввода

1024 токена

Выходное видео

1

Последнее обновление Июль 2025 г.

Veo 3 Fast

Свойство Описание
Код модели

API Gemini

veo-3.0-fast-generate-001

Поддерживаемые типы данных

Вход

Текст, Изображение

Выход

Видео со звуком

Limits

Текстовое поле ввода

1024 токена

Выходное видео

1

Последнее обновление Июль 2025 г.

Veo 2

Свойство Описание
Код модели

API Gemini

veo-2.0-generate-001

Поддерживаемые типы данных

Вход

Текст, изображение

Выход

Видео

Limits

Текстовое поле ввода

Н/Д

Ввод изображения

Любое разрешение изображения и соотношение сторон, размер файла до 20 МБ.

Выходное видео

До 2

Последнее обновление Апрель 2025 г.

Что дальше?