API Gemini обеспечивает доступ к Veo 2 , самой эффективной на сегодняшний день модели генерации видео от Google. Veo генерирует видео в широком диапазоне кинематографических и визуальных стилей, фиксируя мельчайшие нюансы для последовательной визуализации сложных деталей в кадрах. Это руководство поможет вам начать работу с Veo с использованием API Gemini.
Для получения видеоруководства по подсказкам ознакомьтесь с разделом «Руководство по подсказкам Veo» .
Прежде чем начать
Перед вызовом API Gemini убедитесь, что у вас установлен нужный вам SDK , а также настроен и готов к использованию ключ API Gemini .
Чтобы использовать Veo с Google Gen AI SDK, убедитесь, что у вас установлена одна из следующих версий:
- Python v1.10.0 или более поздняя версия
- TypeScript и JavaScript v0.8.0 или более поздние версии
- Go v1.0.0 или более поздняя версия
Генерировать видео
В этом разделе приведены примеры кода для создания видео с использованием текстовых подсказок и изображений .
Сгенерировать из текста
Для генерации видео с помощью Veo можно использовать следующий код:
import time
from google import genai
from google.genai import types
client = genai.Client() # read API key from GOOGLE_API_KEY
operation = client.models.generate_videos(
model="veo-2.0-generate-001",
prompt="Panning wide shot of a calico kitten sleeping in the sunshine",
config=types.GenerateVideosConfig(
person_generation="dont_allow", # "dont_allow" or "allow_adult"
aspect_ratio="16:9", # "16:9" or "9:16"
),
)
while not operation.done:
time.sleep(20)
operation = client.operations.get(operation)
for n, generated_video in enumerate(operation.response.generated_videos):
client.files.download(file=generated_video.video)
generated_video.video.save(f"video{n}.mp4") # save the video
import { GoogleGenAI } from "@google/genai";
import { createWriteStream } from "fs";
import { Readable } from "stream";
const ai = new GoogleGenAI({ apiKey: "GOOGLE_API_KEY" });
async function main() {
let operation = await ai.models.generateVideos({
model: "veo-2.0-generate-001",
prompt: "Panning wide shot of a calico kitten sleeping in the sunshine",
config: {
personGeneration: "dont_allow",
aspectRatio: "16:9",
},
});
while (!operation.done) {
await new Promise((resolve) => setTimeout(resolve, 10000));
operation = await ai.operations.getVideosOperation({
operation: operation,
});
}
operation.response?.generatedVideos?.forEach(async (generatedVideo, n) => {
const resp = await fetch(`${generatedVideo.video?.uri}&key=GOOGLE_API_KEY`); // append your API key
const writer = createWriteStream(`video${n}.mp4`);
Readable.fromWeb(resp.body).pipe(writer);
});
}
main();
package main
import (
"context"
"fmt"
"os"
"time"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, _ := genai.NewClient(ctx, &genai.ClientConfig{
APIKey: os.Getenv("GEMINI_API_KEY"),
Backend: genai.BackendGeminiAPI,
})
videoConfig := &genai.GenerateVideosConfig{
AspectRatio: "16:9",
PersonGeneration: "dont_allow",
}
operation, _ := client.Models.GenerateVideos(
ctx,
"veo-2.0-generate-001",
"Panning wide shot of a calico kitten sleeping in the sunshine",
nil,
videoConfig,
)
for !operation.Done {
time.Sleep(20 * time.Second)
operation, _ = client.Operations.GetVideosOperation(ctx, operation, nil)
}
for n, video := range operation.Response.GeneratedVideos {
client.Files.Download(ctx, video.Video, nil)
fname := fmt.Sprintf("video_%d.mp4", n)
_ = os.WriteFile(fname, video.Video.VideoBytes, 0644)
}
}
# Use curl to send a POST request to the predictLongRunning endpoint.
# The request body includes the prompt for video generation.
curl "${BASE_URL}/models/veo-2.0-generate-001:predictLongRunning?key=${GOOGLE_API_KEY}" \
-H "Content-Type: application/json" \
-X "POST" \
-d '{
"instances": [{
"prompt": "Panning wide shot of a calico kitten sleeping in the sunshine"
}
],
"parameters": {
"aspectRatio": "16:9",
"personGeneration": "dont_allow",
}
}' | tee result.json | jq .name | sed 's/"//g' > op_name
# Obtain operation name to download video.
op_name=$(cat op_name)
# Check against status of operation.
while true; do
is_done=$(curl "${BASE_URL}/${op_name}?key=${GOOGLE_API_KEY}" | tee op_check.json | jq .done)
if [ "${is_done}" = "true" ]; then
cat op_check.json
echo "** Attach API_KEY to download video, or examine error message."
break
fi
echo "** Video ${op_name} has not downloaded yet! Check again after 5 seconds..."
# Wait for 5 seoncds to check again.
sleep 5
done
Этот код выполняется примерно 2-3 минуты, хотя это может занять больше времени, если ресурсы ограничены. После того, как он завершит работу, вы должны увидеть видео, которое выглядит примерно так:
Если вы видите сообщение об ошибке вместо видео, это означает, что ресурсы ограничены и ваш запрос не может быть выполнен. В этом случае запустите код еще раз.
Сгенерированные видео хранятся на сервере в течение 2 дней, после чего удаляются. Если вы хотите сохранить локальную копию сгенерированного видео, вы должны запустить result()
и save()
в течение 2 дней с момента генерации.
Сгенерировать из изображений
Вы также можете генерировать видео с использованием изображений. Следующий код генерирует изображение с использованием Imagen, а затем использует сгенерированное изображение в качестве начального кадра для сгенерированного видео.
Сначала создайте изображение с помощью Imagen :
prompt="Panning wide shot of a calico kitten sleeping in the sunshine",
imagen = client.models.generate_images(
model="imagen-3.0-generate-002",
prompt=prompt,
config=types.GenerateImagesConfig(
aspect_ratio="16:9",
number_of_images=1
)
)
imagen.generated_images[0].image
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: "GOOGLE_API_KEY" });
const response = await ai.models.generateImages({
model: "imagen-3.0-generate-002",
prompt: "Panning wide shot of a calico kitten sleeping in the sunshine",
config: {
numberOfImages: 1,
},
});
// you'll pass response.generatedImages[0].image.imageBytes to Veo
package main
import (
"context"
"fmt"
"os"
"time"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, _ := genai.NewClient(ctx, &genai.ClientConfig{
APIKey: os.Getenv("GEMINI_API_KEY"),
Backend: genai.BackendGeminiAPI,
})
config := &genai.GenerateImagesConfig{
AspectRatio: "16:9",
NumberOfImages: 1,
}
response, _ := client.Models.GenerateImages(
ctx,
"imagen-3.0-generate-002",
"Panning wide shot of a calico kitten sleeping in the sunshine",
config,
)
// you'll pass response.GeneratedImages[0].Image to Veo
}
Затем сгенерируйте видео, используя полученное изображение в качестве первого кадра:
operation = client.models.generate_videos(
model="veo-2.0-generate-001",
prompt=prompt,
image = imagen.generated_images[0].image,
config=types.GenerateVideosConfig(
person_generation="dont_allow", # "dont_allow" or "allow_adult"
aspect_ratio="16:9", # "16:9" or "9:16"
number_of_videos=2
),
)
# Wait for videos to generate
while not operation.done:
time.sleep(20)
operation = client.operations.get(operation)
for n, video in enumerate(operation.response.generated_videos):
fname = f'with_image_input{n}.mp4'
print(fname)
client.files.download(file=video.video)
video.video.save(fname)
import { GoogleGenAI } from "@google/genai";
import { createWriteStream } from "fs";
import { Readable } from "stream";
const ai = new GoogleGenAI({ apiKey: "GOOGLE_API_KEY" });
async function main() {
// get image bytes from Imagen, as shown above
let operation = await ai.models.generateVideos({
model: "veo-2.0-generate-001",
prompt: "Panning wide shot of a calico kitten sleeping in the sunshine",
image: {
imageBytes: response.generatedImages[0].image.imageBytes, // response from Imagen
mimeType: "image/png",
},
config: {
aspectRatio: "16:9",
numberOfVideos: 2,
},
});
while (!operation.done) {
await new Promise((resolve) => setTimeout(resolve, 10000));
operation = await ai.operations.getVideosOperation({
operation: operation,
});
}
operation.response?.generatedVideos?.forEach(async (generatedVideo, n) => {
const resp = await fetch(
`${generatedVideo.video?.uri}&key=GOOGLE_API_KEY`, // append your API key
);
const writer = createWriteStream(`video${n}.mp4`);
Readable.fromWeb(resp.body).pipe(writer);
});
}
main();
image := response.GeneratedImages[0].Image
videoConfig := &genai.GenerateVideosConfig{
AspectRatio: "16:9",
NumberOfVideos: 2,
}
operation, _ := client.Models.GenerateVideos(
ctx,
"veo-2.0-generate-001",
"A dramatic scene based on the input image",
image,
videoConfig,
)
for !operation.Done {
time.Sleep(20 * time.Second)
operation, _ = client.Operations.GetVideosOperation(ctx, operation, nil)
}
for n, video := range operation.Response.GeneratedVideos {
client.Files.Download(ctx, video.Video, nil)
fname := fmt.Sprintf("video_with_image_input_%d.mp4", n)
_ = os.WriteFile(fname, video.Video.VideoBytes, 0644)
}
Параметры модели Veo
(Правила именования различаются в зависимости от языка программирования.)
-
prompt
: Текстовая подсказка для видео. Если присутствует, параметрimage
является необязательным. -
image
: Изображение, которое будет использоваться в качестве первого кадра для видео. Если присутствует, параметрprompt
является необязательным. -
negativePrompt
: Текстовая строка, описывающая все, что вы хотите запретить модели генерировать -
aspectRatio
: Изменяет соотношение сторон сгенерированного видео. Поддерживаемые значения:"16:9"
и"9:16"
. Значение по умолчанию:"16:9"
. -
personGeneration
: Разрешить модели генерировать видео людей. Поддерживаются следующие значения:- Генерация текста в видео:
-
"dont_allow"
: Не разрешать включение людей или лиц. -
"allow_adult"
: создавать видео, в которых участвуют взрослые, но не дети. -
"allow_all"
: создавать видео, включающие взрослых и детей.
-
- Генерация изображения в видео:
-
"dont_allow"
: Не разрешать включение людей или лиц. -
"allow_adult"
: создавать видео, в которых участвуют взрослые, но не дети.
-
- См. Ограничения .
- Генерация текста в видео:
-
numberOfVideos
: Вывод запрошенных видео,1
или2
. -
durationSeconds
: длительность каждого выходного видео в секундах, от5
до8
. -
enhance_prompt
: Включить или отключить переписчик подсказок. Включено по умолчанию.
Технические характеристики
Модальности |
|
Задержка запроса |
|
Генерация переменной длины | 5-8 секунд |
Разрешение | 720p |
Частота кадров | 24 кадра в секунду |
Соотношение сторон |
|
Языки ввода (текст-видео) | Английский |
Ограничения |
Видеоролики, созданные Veo, помечаются водяными знаками с помощью SynthID — нашего инструмента для маркировки и идентификации контента, созданного с помощью искусственного интеллекта, — и проходят через фильтры безопасности и процессы проверки запоминания, которые помогают снизить риски нарушения конфиденциальности, авторских прав и предвзятости.
Что попробовать
Чтобы максимально эффективно использовать Veo, включайте в подсказки терминологию, связанную с видео. Veo понимает широкий спектр терминов, связанных с:
- Композиция снимка: укажите кадрирование и количество объектов в кадре (например, «одиночный кадр», «два кадра», «снимок через плечо»).
- Расположение и движение камеры: управляйте местоположением и движением камеры, используя такие термины, как «уровень глаз», «верхний угол», «червячный глаз», «съемка с тележки», «съемка с зумом», «панорамная съемка» и «съемка с отслеживанием».
- Эффекты фокусировки и объектива: используйте такие термины, как «неглубокий фокус», «глубокий фокус», «мягкий фокус», «макрообъектив» и «широкоугольный объектив», чтобы добиться определенных визуальных эффектов.
- Общий стиль и тема: Управляйте творческим направлением Veo, указав такие стили, как «научная фантастика», «романтическая комедия», «боевик» или «анимация». Вы также можете описать желаемые темы и фоны, например «городской пейзаж», «природа», «транспортные средства» или «животные».
Veo подсказка руководство
В этом разделе руководства Veo содержатся примеры видеороликов, которые можно создать с помощью Veo, а также показано, как изменять подсказки для получения различных результатов.
Фильтры безопасности
Veo применяет фильтры безопасности в Gemini, чтобы гарантировать, что сгенерированные видео и загруженные фотографии не содержат оскорбительного контента. Подсказки, нарушающие наши условия и правила, блокируются.
Основы письма в режиме онлайн
Хорошие подсказки описательные и понятные. Чтобы сгенерированное видео было максимально приближено к тому, что вы хотите, начните с определения основной идеи, а затем уточните ее, добавив ключевые слова и модификаторы.
В запрос следует включить следующие элементы:
- Тема : Объект, человек, животное или пейзаж, которые вы хотите включить в свое видео.
- Контекст : фон или контекст, в котором находится субъект.
- Действие : что делает субъект (например, идет , бежит или поворачивает голову ).
- Стиль : может быть общим или очень конкретным. Рассмотрите возможность использования ключевых слов, характерных для определенных стилей фильмов, например, ужастик , фильм нуар или анимированные стили, например, мультяшный стиль.
- Движение камеры : [Необязательно] Что делает камера, например, вид сверху , на уровне глаз , съемка сверху или съемка с низкого ракурса .
- Композиция : [Необязательно] Как кадрирован снимок, например, общий план , крупный план или очень крупный план .
- Атмосфера : [Необязательно] Как цвет и свет влияют на сцену, например, синие тона , ночь или теплые тона .
Дополнительные советы по написанию подсказок
Следующие советы помогут вам написать подсказки, которые будут генерировать ваши видеоролики:
- Используйте описательный язык : используйте прилагательные и наречия, чтобы нарисовать ясную картину Veo.
- Предоставьте контекст : при необходимости включите справочную информацию, которая поможет вашей модели понять, чего вы хотите.
- Ссылайтесь на конкретные художественные стили : если вы имеете в виду определенную эстетику, ссылайтесь на конкретные художественные стили или направления в искусстве.
- Используйте инструменты проектирования подсказок : рассмотрите возможность изучения инструментов проектирования подсказок или ресурсов, которые помогут вам усовершенствовать подсказки и достичь оптимальных результатов. Для получения дополнительной информации посетите Введение в проектирование подсказок .
- Улучшите детали лица на личных и групповых снимках : укажите детали лица в качестве основного элемента фотографии, например, используя слово «портрет» в подсказке.
Примеры подсказок и вывода
В этом разделе представлено несколько подсказок, показывающих, как описательные детали могут улучшить результат каждого видео.
Сосульки
В этом видео показано, как можно использовать элементы основ написания подсказок в своих подсказках.
Быстрый | Сгенерированный вывод |
---|---|
Крупный план (композиция) тающих сосулек (объект) на замерзшей каменной стене (контекст) в холодных голубых тонах (атмосфера), увеличенный (движение камеры) с сохранением крупных планов капель воды (действие). | ![]() |
Мужчина разговаривает по телефону
В этих видеороликах показано, как можно изменить запрос, добавив более конкретные детали, чтобы Veo мог улучшить вывод по вашему вкусу.
Быстрый | Сгенерированный вывод | Анализ |
---|---|---|
Камера наезжает, чтобы показать крупным планом отчаявшегося мужчину в зеленом плаще. Он звонит по вращающемуся настенному телефону с зеленым неоновым светом. Это похоже на сцену из фильма. | ![]() | Это первое видео, созданное на основе подсказки. |
Крупный план кинематографического кадра следует за отчаявшимся человеком в потрепанном зеленом плаще, когда он набирает номер дискового телефона, установленного на шершавой кирпичной стене, купаясь в жутком сиянии зеленой неоновой вывески. Камера наезжает, показывая напряжение в его челюсти и отчаяние, запечатленное на его лице, когда он изо всех сил пытается сделать звонок. Небольшая глубина резкости фокусируется на его нахмуренном лбу и черном дисковом телефоне, размывая фон в море неоновых цветов и нечетких теней, создавая ощущение срочности и изоляции. | ![]() | Более подробные подсказки позволяют получить более сфокусированное видео с более насыщенной обстановкой. |
Видео с плавным движением, которое наезжает на отчаявшегося человека в зеленом плаще, использующего старинный дисковый телефон на фоне стены, залитой жутким зеленым неоновым свечением. Камера начинает со среднего расстояния, медленно приближаясь к лицу мужчины, показывая его безумное выражение и пот на лбу, когда он срочно набирает номер телефона. В центре внимания руки мужчины, его пальцы, возящиеся с диском, когда он отчаянно пытается соединиться. Зеленый неоновый свет отбрасывает длинные тени на стену, усиливая напряженную атмосферу. Сцена обрамлена так, чтобы подчеркнуть изоляцию и отчаяние человека, подчеркивая резкий контраст между ярким свечением неона и мрачной решимостью человека. | ![]() | Добавление большего количества деталей придает объекту реалистичное выражение и создает интенсивную и яркую сцену. |
Снежный барс
В этом примере демонстрируется вывод, который Veo может сгенерировать для простого запроса.
Быстрый | Сгенерированный вывод |
---|---|
Милое существо с мехом, похожим на мех снежного барса, гуляет по зимнему лесу, 3D-рендеринг в мультяшном стиле. | ![]() |
Бегущий снежный барс
Эта подсказка содержит больше подробностей и демонстрирует сгенерированный результат, который может быть ближе к тому, что вы хотите видеть в своем видео.
Быстрый | Сгенерированный вывод |
---|---|
Создайте короткую анимированную 3D-сцену в радостном мультяшном стиле. Милое существо с мехом, похожим на мех снежного барса, большими выразительными глазами и дружелюбным округлым телом радостно скачет по причудливому зимнему лесу. В сцене должны быть округлые, покрытые снегом деревья, нежно падающие снежинки и теплый солнечный свет, пробивающийся сквозь ветви. Прыгающие движения существа и широкая улыбка должны передавать чистый восторг. Стремитесь к оптимистичному, согревающему тону с яркими, веселыми цветами и игривой анимацией. | ![]() |
Примеры написания элементов
Эти примеры покажут вам, как усовершенствовать подсказки по каждому базовому элементу.
Предмет
В этом примере показано, как указать описание темы.
Описание предмета | Быстрый | Сгенерированный вывод |
---|---|---|
Описание может включать субъект или несколько субъектов и действий. Здесь наш субъект — «белый бетонный жилой дом». | Архитектурная визуализация жилого дома из белого бетона с плавными органическими формами, органично сочетающимися с пышной зеленью и футуристическими элементами. | ![]() |
Контекст
В этом примере показано, как указать контекст.
Контекст | Быстрый | Сгенерированный вывод |
---|---|---|
Фон или контекст, в котором будет размещен объект, очень важны. Попробуйте разместить объект на разных фонах, например, на оживленной улице или в открытом космосе. | Спутник, плывущий в космическом пространстве, на заднем плане — луна и несколько звезд. | ![]() |
Действие
В этом примере показано, как указать действие.
Действие | Быстрый | Сгенерированный вывод |
---|---|---|
Что делает субъект: ходит, бегает или поворачивает голову? | Общий план женщины, идущей по пляжу, выглядящей довольной и расслабленной на фоне заката. | ![]() |
Стиль
В этом примере показано, как задать стиль.
Стиль | Быстрый | Сгенерированный вывод |
---|---|---|
Вы можете добавлять ключевые слова, чтобы улучшить качество генерации и приблизить ее к желаемому стилю, например, малая глубина резкости, кадр из фильма, минималистичный, сюрреалистичный, винтажный, футуристический или двойная экспозиция. | Стиль фильма нуар, мужчина и женщина идут по улице, детектив, кинематографичность, черно-белый. | ![]() |
Движение камеры
В этом примере показано, как задать движение камеры.
Движение камеры | Быстрый | Сгенерированный вывод |
---|---|---|
Варианты движения камеры включают в себя съемку от первого лица, вид сверху, вид с отслеживающего дрона или съемку с отслеживанием. | Снимок от первого лица из ретро-автомобиля, едущего под дождем, Канада ночью, кинематографично. | ![]() |
Состав
В этом примере показано, как задать композицию.
Состав | Быстрый | Сгенерированный вывод |
---|---|---|
Как построен кадр (общий план, крупный план, нижняя точка). | Крупный план глаза с отражением города в нем. | ![]() |
Создайте видео с общим планом серфера, идущего по пляжу с доской для серфинга, на фоне красивого заката, кинематографично. | ![]() |
Атмосфера
В этом примере показано, как задать атмосферу.
Атмосфера | Быстрый | Сгенерированный вывод |
---|---|---|
Цветовые палитры играют важную роль в фотографии, влияя на настроение и передавая предполагаемые эмоции. Попробуйте такие вещи, как «приглушенные оранжевые теплые тона», «естественный свет», «восход солнца» или «закат». Например, теплая золотая палитра может привнести романтическое и атмосферное ощущение в фотографию. | Крупный план девочки, держащей очаровательного щенка золотистого ретривера в парке, солнечный свет. | ![]() |
Кинематографический крупный план грустной женщины, едущей в автобусе под дождем, холодные синие тона, грустное настроение. | ![]() |
Используйте референсные изображения для создания видео
Вы можете оживить изображения, используя функцию Veo по преобразованию изображений в видео . Вы можете использовать существующие ресурсы или попробовать Imagen , чтобы сгенерировать что-то новое.
Быстрый | Сгенерированный вывод |
---|---|
Кролик с шоколадным батончиком. | ![]() |
Кролик убегает. | ![]() |
Отрицательные подсказки
Отрицательные подсказки могут быть мощным инструментом, помогающим указать элементы, которые вы не хотите видеть в видео. Опишите, что вы хотите, чтобы модель не генерировала после фразы «Отрицательная подсказка». Следуйте этим советам:
❌ Не используйте поучительный язык или слова типа «нет» или «не» . Например, «Никаких стен» или «Не показывайте стены».
✅ Опишите, чего вы не хотите видеть. Например, «стена, рамка», что означает, что вы не хотите видеть стену или рамку в видео.
Быстрый | Сгенерированный вывод |
---|---|
Создайте короткую стилизованную анимацию большого одинокого дуба с листьями, энергично развевающимися на сильном ветру. Дерево должно иметь слегка преувеличенную, причудливую форму с динамичными, струящимися ветвями. Листья должны демонстрировать разнообразные осенние цвета, кружась и танцуя на ветру. Анимация должна использовать теплую, привлекательную цветовую палитру. | ![]() |
Создайте короткую стилизованную анимацию большого одинокого дуба с листьями, энергично развевающимися на сильном ветру. Дерево должно иметь слегка преувеличенную, причудливую форму с динамичными, струящимися ветвями. Листья должны демонстрировать разнообразные осенние цвета, кружась и танцуя на ветру. Анимация должна использовать теплую, привлекательную цветовую палитру. С отрицательной подсказкой — городской фон, искусственные сооружения, темная, грозовая или угрожающая атмосфера. | ![]() |
Соотношения сторон
Генерация видео Gemini Veo поддерживает следующие два соотношения сторон:
Соотношение сторон | Описание |
---|---|
Широкоэкранный или 16:9 | Наиболее распространенное соотношение сторон для телевизоров, мониторов и экранов мобильных телефонов (альбомная ориентация). Используйте его, когда хотите захватить больше фона, например, в живописных пейзажах. |
Портрет или 9:16 | Повернутый широкоэкранный. Это соотношение сторон стало популярным благодаря коротким видеоприложениям, таким как короткие ролики на YouTube. Используйте его для портретов или высоких объектов с четкой вертикальной ориентацией, таких как здания, деревья, водопады или здания. |
Широкоэкранный
Эта подсказка является примером широкоэкранного соотношения сторон 16:9.
Быстрый | Сгенерированный вывод |
---|---|
Создайте видео с изображением с помощью беспилотника мужчины за рулем красного кабриолета в Палм-Спрингс, 1970-е годы, теплый солнечный свет, длинные тени. | ![]() |
Портрет
Эта подсказка является примером портретного соотношения сторон 9:16.
Быстрый | Сгенерированный вывод |
---|---|
Создайте видео, подчеркивающее плавное движение величественного гавайского водопада в пышном тропическом лесу. Сосредоточьтесь на реалистичном потоке воды, детальной листве и естественном освещении, чтобы передать спокойствие. Запечатлейте стремительную воду, туманную атмосферу и пятнистый солнечный свет, проникающий сквозь густой полог. Используйте плавные, кинематографические движения камеры, чтобы продемонстрировать водопад и его окрестности. Стремитесь к мирному, реалистичному тону, перенося зрителя в безмятежную красоту гавайского тропического леса. | ![]() |
Что дальше?
- Получите больше опыта в создании видеороликов с использованием искусственного интеллекта с помощью Veo Colab .
- Посмотрите интересные примеры использования Veo 2 на сайте Google DeepMind