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

Veo 3.1 — это передовая модель Google для создания высококачественных 8-секундных видеороликов с разрешением 720p или 1080p, отличающихся потрясающим реализмом и встроенным звуком. Доступ к этой модели осуществляется программно через API Gemini. Подробнее о доступных вариантах модели 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")

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.

Питон

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

Идти

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

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

`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 секунды.
  • API Gemini поддерживает только видеорасширения для видео, созданных Veo.
  • Ожидается, что входящие видео будут иметь определенную продолжительность, соотношение сторон и размеры:
    • Соотношение сторон: 9:16 или 16:9
    • Разрешение: 720p
    • Продолжительность видео: 141 секунда или меньше

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

В этом примере используется сгенерированное Veo видео butterfly_video , показанное здесь с исходным приглашением, и расширяется с помощью параметра 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 , равным true.

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

Питон

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 Вео 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"
Изображения в видео, интерполяция и эталонные изображения:
только "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")

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, используйте видео в качестве входных данных с дополнительной текстовой подсказкой. Функция «Расширить» дописывает последнюю секунду или 24 кадра видео и продолжает действие.

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

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

Примеры подсказок и вывода

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

Сосульки

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

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

Мужчина по телефону

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

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

Снежный барс

Быстрый Сгенерированный вывод
Простая подсказка:
Милое существо с мехом, похожим на мех снежного барса, гуляет по зимнему лесу, 3D-рендеринг в стиле мультфильма.
Снежный барс апатичен.
Подробная подсказка:
Создайте короткую 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 Вео 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

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

API Близнецов

veo-3.1-generate-preview

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

Вход

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

Выход

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

Лимиты

Ввод текста

1024 токена

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

1

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

Veo 3.1 Быстрый просмотр

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

API Близнецов

veo-3.1-fast-generate-preview

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

Вход

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

Выход

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

Лимиты

Ввод текста

1024 токена

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

1

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

Вео 3

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

API Близнецов

veo-3.0-generate-001

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

Вход

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

Выход

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

Лимиты

Ввод текста

1024 токена

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

1

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

Veo 3 Fast

Veo 3 Fast позволяет разработчикам создавать видео со звуком, сохраняя высокое качество и оптимизируя скорость и бизнес-кейсы. Veo 3 Fast идеально подходит для бэкенд-сервисов, которые программно генерируют рекламу, инструментов для быстрого A/B-тестирования креативных концепций или приложений, которым необходимо быстро создавать контент для социальных сетей.
Свойство Описание
Код модели

API Близнецов

veo-3.0-fast-generate-001

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

Вход

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

Выход

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

Лимиты

Ввод текста

1024 токена

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

1

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

Вео 2

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

API Близнецов

veo-2.0-generate-001

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

Вход

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

Выход

Видео

Лимиты

Ввод текста

Н/Д

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

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

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

До 2

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

Что дальше?