Перейти к основному содержанию
POST
Генерация по тексту и изображениям поддерживает целое число секунд от 3 до 15, по умолчанию 10. Интерполяция первого и последнего кадров и добавляемая часть продолжения ограничены 10 секундами. При редактировании duration игнорируется, а длительность исходного видео сохраняется. Входное видео по умолчанию редактируется; для продолжения требуется "omni_reference_task_type": "extend".

Аутентификация

string
обязательно
Используйте Bearer Token. Получите ключ на странице управления API Key. Отправляйте запросы с Content-Type: application/json.

Параметры запроса

string
обязательно
Укажите gemini-omni-1.2-flash.
string
обязательно
Обязательные текстовые инструкции: описание сцены для генерации по тексту либо движения, стиля и изменений для остальных режимов. prompt обязателен даже при передаче референсов, первого/последнего кадра, видео или extend_from_task_id. Без него возвращается HTTP 400.
integer
по умолчанию:"10"
Длительность видео, создаваемого по тексту или изображениям: целое число от 3 до 15, по умолчанию 10. Для интерполяции первого/последнего кадров и продолжения допустимы только 3–10 секунд. При продолжении это длина добавляемого фрагмента; результат включает исходное видео и добавленную часть. При редактировании duration игнорируется, а длительность исходного видео сохраняется. Значения параметра вне допустимого диапазона приводят к ошибке задачи invalid_duration.
string
по умолчанию:"720p"
360p / 720p / 1080p / 4k, без учёта регистра. 2160p соответствует 4k. 1080p и 4k получаются повышением разрешения. Разрешение влияет на выходные токены и резервируемую сумму. Другие значения приводят к ошибке задачи invalid_resolution.
string
по умолчанию:"16:9"
Только 16:9 (горизонтальное, по умолчанию) и 9:16 (вертикальное). Другие значения обрабатываются как 16:9.
string[]
Массив референсов: только общедоступные прямые HTTP(S)-ссылки на изображения. Data URL и Base64 не поддерживаются. Одно изображение служит начальным кадром, несколько — референсами объектов. Всего до 10 изображений, включая первый и последний кадры. Для персонажей рекомендуется не более 2 персонажей и до 3 изображений каждого, суммарно не более 6.
string
Первый кадр. Самостоятельно задаёт начальное изображение, а вместе с last_frame_image включает интерполяцию между кадрами. Поддерживаются только общедоступные прямые HTTP(S)-ссылки на изображения.
string
Последний кадр. Требует first_frame_image, иначе задача завершается с invalid_frame_images. Соотношение сторон обоих изображений должно совпадать с aspect_ratio. Поддерживаются только общедоступные прямые HTTP(S)-ссылки на изображения.
object[]
Массив изображений с ролями — альтернатива прямым полям первого/последнего кадров. Выберите один способ указания. Все используемые изображения входят в общий лимит 10.
string[]
Видео для редактирования или продолжения: максимум 1 ролик длительностью до 15 секунд. Поддерживаются только общедоступные прямые HTTP(S)-ссылки на видео. Data URL и Base64 не поддерживаются. По умолчанию выполняется редактирование.
string
по умолчанию:"auto"
Тип задачи: auto (по умолчанию, определяется по входным данным) / edit (редактирование) / extend (продолжение) / reference (несколько изображений-референсов). Также принимаются text_to_video / image_to_video / reference_to_video. Если параметр не задан или равен auto, video_urls и extend_from_task_id по умолчанию запускают редактирование. Для продолжения явно укажите extend.
string
ID вашей предыдущей задачи генерации для повторного использования видео без загрузки. По умолчанию видео редактируется. С "omni_reference_task_type": "extend" в конец добавляется фрагмент длиной до 10 секунд.

Возможности и ограничения

  • Выходное видео имеет 24fps и содержит речь, музыку или звуковые эффекты. Нужный звук можно описать в prompt.
  • Аудиовход, системные промпты, temperature и параметры негативного промпта не поддерживаются. Исключения указывайте прямо в prompt.
  • Региональные ограничения поставщика: в ЕЭЗ, Швейцарии и Великобритании не поддерживаются редактирование и продолжение загруженных видео, а также редактирование изображений с несовершеннолетними.
  • Все результаты содержат невидимый водяной знак SynthID.

Примеры

Отправляйте каждый JSON в POST /v1/videos/generations. Замените ссылки и ID задач из примеров своими доступными материалами.

Вертикальное видео 4K на 15 секунд

Генерация по изображениям и референсы объектов

Интерполяция первого и последнего кадров

Указание кадров через роли

Редактирование видео

При редактировании длительность результата совпадает с исходным видео; duration не влияет на неё. Используйте короткие и конкретные инструкции. Для локального изменения можно добавить Keep everything else the same.

Продолжение существующей задачи

Для продолжения загруженного видео замените extend_from_task_id на video_urls, сохранив "omni_reference_task_type": "extend". Результат содержит исходное видео и фрагмент, добавленный в конец. duration задаёт только длину новой части, не более 10 секунд; оплачиваются только добавленные секунды. Например, исходное видео длиной 5 секунд с duration: 4 даёт результат около 9 секунд.

Ответ на отправку и проверка задачи

Успешная отправка возвращает HTTP 200. ID находится в data[0].task_id. Проверяйте статус задачи каждые 5–10 секунд до completed или failed. Рекомендуемое общее ожидание — 10 минут. При тайм-ауте клиента продолжайте проверять исходную задачу, не отправляя её повторно.
Ориентиры: видео 360p на 15 секунд генерируется примерно за 30 секунд, а 4K на 15 секунд — примерно за 5 минут. Ориентируйтесь на фактический статус задачи.
data в ответе проверки — объект задачи. data.result.videos[0].url — массив; первая ссылка находится в data.result.videos[0].url[0]. Видео можно воспроизвести или скачать; для долгого хранения сохраните его у себя. data.cost — итоговая стоимость в долларах США.

Оплата и резервирование баланса

Оплата по токенам: разрешение влияет на число выходных токенов в секунду. При генерации по тексту или изображениям duration задаёт длительность результата. При редактировании параметр игнорируется и сохраняется длительность исходного видео; при продолжении он задаёт только длину добавляемой части. Актуальные ставки указаны в тарифах APIMart. При отправке резерв рассчитывается по разрешению и max(10, duration) секундам; при входном видео используется оценка в 15 секунд. Резерв не является итоговой оплатой. После успеха разница пересчитывается по фактическому использованию; итог находится в data.cost. При продолжении оплачиваются только добавленные секунды. Неуспешные задачи не оплачиваются. Если баланса недостаточно для резерва, возвращается HTTP 402.

Обработка ошибок

Ошибки параметров (invalid_* / unsupported_*) сразу переводят задачу в failed без оплаты. Проверяйте статус даже после успешной отправки.

Частые вопросы

Нужен ли prompt, если я передаю изображения или видео?

Да. prompt обязателен во всех режимах: генерация по изображениям, интерполяция первого/последнего кадра, редактирование, продолжение и повторное использование видео через extend_from_task_id. Если поле отсутствует, возвращается HTTP 400.

Можно ли передавать изображения или видео напрямую в Base64?

Нет. image_urls, first_frame_image, last_frame_image, image_with_roles[].url и video_urls принимают только общедоступные прямые HTTP(S)-ссылки. Не передавайте data:image/..., data:video/... или строки Base64 без префикса.