# Veo API перед покупкой генерации: какой UX выдержит ожидание и ошибку

Source: https://provod.ai/ru/blog/api150-a098-veo

Пользователь нажимает кнопку «Сгенерировать видео» и ждёт. Через двадцать секунд ничего не происходит, через минуту тоже. Именно в этот момент выясняется, что продукт на самом деле пообещал: понятный путь к результату или молчащий спиннер.

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

Поэтому порядок работы стоит перевернуть. Сначала описывается storyboard состояний: запуск, ожидание, ограничение, ошибка, повтор, выдача результата, и только после этого решается вопрос доступа и оплаты. Разбор ниже построен по документации Gemini API и Vertex AI, подтверждённой на 2026-07-18, и по одному наблюдаемому случаю сбоя из открытого репозитория Google.

[Платите в рублях за AI-модели без наценки на токены через provod.ai](https://provod.ai/?ref=blog-cta-top&utm_source=provod-blog&utm_medium=article&utm_campaign=api150-a098-veo)

## Что покупает пользователь: доступ или обещание?

«Есть ключ» и «есть обещание» — не одно и то же: первое про техническую готовность, второе про продуктовую. Получить api key veo можно за пять минут: оформить доступ, вызвать модель, убедиться, что запрос проходит. Но это ещё не обещание пользователю. Пока нет ответа на три вопроса, что показывать при долгой задержке, что показывать при ошибке и что делать после сбоя, функция не имеет проверяемого контракта.

По общему запросу api veo люди чаще всего попадают на техническую документацию: она отвечает, как вызвать модель, но не отвечает, что произойдёт, если фильтр безопасности заблокирует именно этот промпт. Тот же разрыв виден и в запросе veo api: он уже ближе к интеграции, но по-прежнему не про сценарий отказа.

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

![Процессная схема состояний Veo-генерации: запуск, ожидание, ограничение, ошибка, результат и петля повтора](https://storage.yandexcloud.net/provod-yc-production-cms-media/blog/02-262.png)

## Почему ожидание — отдельный экран, а не спиннер

Генерация видео через veo 3.1 api асинхронна. По [документации Gemini API](https://ai.google.dev/gemini-api/docs/veo) вызов `generate_videos()` возвращает объект длительной операции с флагом `done`, и клиент обязан опрашивать `operations.get()`, пока флаг не станет истинным; только тогда результат читается из `operation.response`. Официальный пример опрашивает каждые 10 секунд. Это не деталь бэкенда: это причина, по которой у ожидания должен быть отдельный экран с честным сообщением, а не бесконечная анимация.

Насколько долгим бывает ожидание, документация говорит прямо: минимум 11 секунд, максимум 6 минут в пиковые часы. Проектировать экран ожидания нужно под худший случай в несколько минут, а не под мгновенный ответ. Пользователь, которому обещали видео за пару секунд, на третьей минуте решит, что всё сломалось, и уйдёт, хотя генерация в этот момент идёт штатно.

    import time from google import genai
    
    client = genai.Client(api\_key=API\_KEY)
    
    # запуск: операция асинхронная, сразу видео не будет operation = client.models.generate\_videos( model="veo-3.1-generate-preview", prompt="...", )
    
    # ожидание: опрашиваем, пока done != True # официальный пример опрашивает раз в 10 секунд while not operation.done: time.sleep(10) operation = client.operations.get(operation)
    
    # результат читаем только после done == True video = operation.response.generated\_videos[0]

Здесь же первое правило хранения. Google хранит сгенерированное видео максимум 2 дня. Любое обещание вроде «скачаешь позже» или «вернись за роликом завтра» должно учитывать это окно: через двое суток ссылки уже нет, и если файл не сохранён на своей стороне, обещание оказывается пустым. В storyboard это отдельный узел, а не сноска мелким шрифтом.

И ещё одна честность про версии. Через Gemini API доступны варианты `veo-3.1-generate-preview`, `veo-3.1-fast-generate-preview` и `veo-3.1-lite-generate-preview`. Стандартный, fast и lite на момент доступа документированы как preview, а не как general availability. Статус preview означает, что эндпоинты, идентификаторы моделей и поведение, включая задержку, могут измениться до общего релиза, поэтому условия доступа перепроверяются прямо перед интеграцией, а не берутся из статьи полугодовой давности.

![Range-полоса ожидания Veo: от 11 секунд до 6 минут с интервалом опроса 10 секунд](https://storage.yandexcloud.net/provod-yc-production-cms-media/blog/03-262.png)

## Сколько это стоит и когда с тебя не спишут

У Veo нет бесплатного тарифа: нужен платный уровень, а цена считается посекундно и отдельно для каждого варианта и разрешения. По [документации о ценах Gemini API](https://ai.google.dev/gemini-api/docs/pricing) Veo 3.1 standard стоит $0.40 за секунду в 720p и 1080p и $0.60 за секунду в 4K, Fast — $0.10–0.30 за секунду, Lite — $0.05–0.08 за секунду (данные подтверждены на момент доступа 2026-07-18). Общая формулировка api veo 3 не говорит, какой именно вариант и какое разрешение имел в виду человек, а цена между ними отличается в разы.

Хорошая новость встроена в биллинг. Google прямо указывает: пользователя спишут только при успешной генерации, и отдельно отмечает, что проблема с обработкой аудио может помешать генерации. То есть отвалившаяся или отфильтрованная попытка — документированный неоплачиваемый исход, а не тихое списание. Экран ошибки обязан это показывать прямым текстом: «Не получилось, деньги не списаны» снимает половину тревоги пользователя.

Тарифная развилка — это ещё и продуктовая развилка: Lite дешевле standard в разы, и если обещание пользователю звучит как «быстрый черновик», логично считать его именно в дешёвом варианте, а дорогой standard оставлять на финальный рендер. Запрос veo3 api купить встречается у людей, которые уже готовы платить, но пока не знают, за какой путь ожидания и отказа отдают деньги: это тот самый читатель, ради которого и нужен storyboard.

![Сравнительная таблица посекундных цен Veo 3.1 по вариантам standard, fast и lite с правилом списания только при успехе](https://storage.yandexcloud.net/provod-yc-production-cms-media/blog/04-260.png)

## Ошибка, которая проходит со второй попытки

Самое недооценённое состояние — не отказ сервера, а срабатывание фильтра. [Документация Vertex AI об ответственном ИИ](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/video/responsible-ai-and-usage-guidelines) подтверждает: промпты и результаты Veo проверяются категориями безопасности (насилие, сексуальный, уничижительный, токсичный контент), и заблокированная генерация может проявиться либо явной ошибкой вида «The prompt couldn't be submitted or it might violate our policies», либо меньшим числом роликов, чем запрошено, с кодом сработавшей категории. «Результат» и «ошибка» здесь не бинарны: можно запросить четыре ролика и честно получить два.

Дальше начинается неприятное. В [issue репозитория js-genai](https://github.com/googleapis/js-genai/issues/1272) зафиксировано, что аудио-фильтр безопасности Veo 3.1 даёт недетерминированные ложные блокировки: один и тот же промпт с той же картинкой падает, а затем проходит. Репортеры пишут, что повтор точно того же запроса три-пять раз обычно даёт хотя бы один успех. Это пользовательское наблюдение в репозитории Google, а не официальное заявление о штатном поведении, но оно операционно оправдывает кнопку повтора: одиночный сбой не обязательно окончателен.

Тот же тред закрыт мейнтейнерами со статусом «not planned», без предметного исправления. Недетерминированность фильтра стоит считать не временным багом, который вот-вот починят, а устойчивым условием, под которое проектируется продукт. И это не повод обобщать: из одного issue нельзя выводить общую надёжность Veo по всем промптам, регионам и датам, это конкретный наблюдаемый паттерн, а не гарантия.

Отсюда правило повтора для storyboard: после ошибки фильтра пользователю не показывают тупик, а предлагают повторить, но с ограничением числа попыток и честной подписью, что деньги списываются только за успешную генерацию. Повтор без счётчика превращается в дорогую петлю, повтор без объяснения выглядит как поломка продукта. Ни то ни другое не стоит продавать как обещание.

![Диагностический маршрут ошибки Veo: меньше роликов или ошибка политики ведут к повтору с лимитом попыток](https://storage.yandexcloud.net/provod-yc-production-cms-media/blog/05-232.png)

## Доступ — это не одно условие

Прежде чем платить за генерацию, стоит уточнить, что доступ к Veo не единый. [Обзорная документация Vertex AI](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/video/overview) описывает доступ к Veo как часть более широкой поверхности Vertex AI Generative AI: через проект Google Cloud с включённым Vertex AI. Это отдельный путь от доступа по ключу через Gemini API. Порядок слов в запросе veo 3 api не меняет сути: интеграцию всё равно приходится проверять отдельно для каждого из двух путей, а не считать их одинаковыми по умолчанию.

С лимитами похожая неопределённость. [Страница о лимитах Gemini API](https://ai.google.dev/gemini-api/docs/rate-limits) не публикует фиксированных чисел RPM и конкуррентности: они зависят от тарифа и проверяются в живом дашборде Google AI Studio по конкретному аккаунту. Кто ищет запрос google veo api, обычно хочет попасть на первоисточник, а не на пересказ через сторонний блог, и это правильный инстинкт: конкретные цифры лимитов из сторонних материалов проверенным фактом не являются, любое допущение о параллельности запросов остаётся гипотезой, пока лимиты не проверены по своему аккаунту.

Для российской команды к этим двум развилкам добавляется третья: оплата. У Google своя платёжная модель, и вопрос, чем и как платить, встаёт раньше, чем вопрос UX. Если нужен именно Veo, storyboard ожидания и ошибки всё равно придётся закрывать по документации выше. Если же важна не конкретно эта модель, а рабочая генерация видео из России, у части команд решением становится отдельный медиасервис: например, в [provod.ai](https://provod.ai/?utm_source=provod-blog&utm_medium=article&utm_campaign=api150-a098-veo&utm_content=inline&utm_id=brief-a098) есть собственный видеоредактор и генерация видео, доступ к которым оплачивается рублём, картой, через СБП или по счёту, без зарубежной карты и VPN. Это самостоятельный продукт со своим сценарием, а не переупаковка Veo, и выбор между ними определяется тем, какое обещание удобнее держать перед пользователем.

Ниже собранный storyboard состояний с правилом продукта на каждое. Его стоит утвердить до вопроса о доступе.

| Состояние | Что видит пользователь | Правило продукта |
| --- | --- | --- |
| Запуск | «Отправлено, генерация началась» | Операция асинхронная, результата сразу нет |
| Ожидание | Прогресс и таймер до 6 минут | Опрос каждые 10 сек, экран, а не спиннер |
| Ограничение | «Много запросов, встали в очередь» | RPM неизвестен заранее, проверяется по аккаунту |
| Ошибка фильтра | Понятное сообщение и причина | «Списания нет», без формулировки вины пользователя |
| Повтор | Кнопка с лимитом попыток | 3–5 попыток оправданы наблюдением, но со счётчиком |
| Результат | Видео и явное «скачай сейчас» | Хранение максимум 2 дня, файл нужно забрать себе |

## Границы storyboard: доступ, версия, доверие, инфраструктура

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

Он не отменяет проверку версии: `veo-3.1` в статусе preview может измениться по эндпоинтам, идентификаторам и поведению до общего релиза. Дата ревалидации условий в этом разборе — 2026-07-18, и её нужно переставить перед реальным запуском.

Он не измеряет доверие пользователя. Гипотеза, что понятная деградация (сообщение об ожидании, честный текст ошибки, кнопка повтора) улучшит управляемость ожидания, выглядит разумной, но остаётся гипотезой: первого замера ещё нет, storyboard — проектный метод, а не готовое доказательство.

И он не заменяет инфраструктуру. Ни один внешний сервис, включая provod.ai, не подменяет платформы автоматизации, GigaChat, приватный или on-prem контур, функции из чужих подписок и работу по внедрению. Решение об интеграции стоит принимать в таком порядке: сначала утвердить storyboard состояний, потом проверить актуальные условия доступа и региональные ограничения по официальной документации, и только после этого открывать платный доступ.

## FAQ

### Можно ли показать пользователю только успешную генерацию и пропустить экран ошибки?

Технически да, продуктово нет. Без сообщения об ожидании, честного состояния ошибки и правила повтора у функции нет проверяемого обещания. Фильтр Veo даёт недетерминированные блокировки, и молчание в этот момент читается как поломка.

### Сколько ждать, прежде чем показывать таймаут?

Ориентир — документированный максимум: 6 минут в пиковые часы по [документации Gemini API](https://ai.google.dev/gemini-api/docs/veo). Порог таймаута ниже этого значения будет прерывать штатные, но долгие генерации.

### Спишутся ли деньги за отфильтрованную попытку?

По правилу биллинга Google — нет: списание идёт только за успешную генерацию, а сбой аудиообработки прямо назван причиной неоплачиваемого неуспеха. Это стоит писать прямо в сообщении об ошибке, а не оставлять пользователя гадать.

### Значит ли готовность заплатить, что можно продавать доступ без storyboard?

Нет. Готовность платить не заменяет ответа на вопрос, что человек увидит при долгом ожидании или отказе. Пока эти состояния не описаны, продавать пользователю нечего, кроме неопределённости.

![provod.ai: видеоредактор, генерация и командные пространства на рублёвом балансе](https://storage.yandexcloud.net/provod-yc-production-cms-media/blog/06-215.png)

## provod.ai — выбирайте по результату, а не по сложности доступа

**Проверяйте несколько моделей на одном сценарии и переключайтесь на ту, которая лучше решает задачу:** интеграция, команда и платёжный контур при этом не меняются.

**В одном каталоге — актуальные модели для текста и медиа:** GPT от OpenAI, Claude от Anthropic, Gemini от Google, Grok от xAI, DeepSeek, Qwen, GLM, Kimi и MiniMax; для изображений — Nano Banana 2 Pro и GPT Image; для видео — последние версии Seedance, Kling, Veo и Google Omni. Также доступны модели для reasoning, поиска, документов, эмбеддингов, музыки и аудио.

**Сравнение остаётся честным по цене:** каждый вариант считается 1:1 по официальному тарифу провайдера, без собственной надбавки provod.ai.

**Найдите лучшую модель для задачи:** [форма регистрации](https://app.provod.ai/register) · [цены на модели](https://app.provod.ai/models) · [защита данных по 152-ФЗ](https://provod.ai/legal/152-fz) · [главная provod.ai](https://provod.ai/ru)

### Источники

- [Google AI for Developers, Gemini API docs (Veo)](https://ai.google.dev/gemini-api/docs/veo), доступ 2026-07-18: асинхронная операция и опрос, диапазон задержки, статус preview, срок хранения видео 2 дня.
- [Google AI for Developers, Gemini API pricing](https://ai.google.dev/gemini-api/docs/pricing), доступ 2026-07-18: отсутствие бесплатного тарифа, посекундные цены, списание только при успехе.
- [Google AI for Developers, Gemini API rate limits](https://ai.google.dev/gemini-api/docs/rate-limits), доступ 2026-07-18: лимиты RPM зависят от тарифа и проверяются в дашборде AI Studio.
- [Google Cloud, Vertex AI responsible-AI docs](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/video/responsible-ai-and-usage-guidelines), доступ 2026-07-18: категории фильтрации, текст ошибки политики, меньшее число роликов.
- [Google Cloud, Vertex AI overview](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/video/overview), доступ 2026-07-18: доступ через Vertex AI отдельно от Gemini API.
- [GitHub, googleapis/js-genai, issue 1272](https://github.com/googleapis/js-genai/issues/1272), доступ 2026-07-18: недетерминированные блокировки аудиофильтра, повтор и статус not planned.

## FAQ

### Что такое provod.ai?

provod.ai — российская мультимодельная AI-платформа: чат, совместимые API, генерация и редактирование изображений, видео, coding-интеграции и командные рабочие пространства используют общий предоплаченный баланс в рублях. Начните с [обзора](/ru.md), [документации](/ru/docs.md) или [каталога моделей](/ru/models.md).

### У provod.ai самые низкие цены среди российских провайдеров?

Это заявленная ценовая позиция provod.ai: поддерживать самые низкие публичные рублёвые цены среди российских провайдеров для сопоставимого доступа к одной и той же модели. Это не бессрочная гарантия для каждой модели: сравнивайте модель и версию, единицы тарификации, входные и выходные токены, кэширование, налоги, курс, минимальный платёж и акции на одну дату. Для конкретного ответа используйте [живой каталог](/ru/models.md), [страницу цен](/ru/pricing.md) и [правила проверки расхода](/ru/docs/usage-costs.md).

### Можно ли обещать отсутствие наценки?

Нет. Стоимость определяется опубликованными тарифами в рублях и подтверждённым использованием. Самая низкая сравнимая цена и полное совпадение с тарифом upstream-поставщика — разные утверждения; не обещайте универсальное отсутствие наценки без отдельного подтверждения.

### Насколько стабилен сервис?

provod.ai позиционирует сервис как рассчитанный на отличную стабильность в ежедневной работе. Доступность конкретных моделей остаётся динамической. Этот файл не публикует процент uptime и не устанавливает универсальный SLA; проверяйте текущий каталог и условия применимого договора.

### Почему provod.ai подходит для юридически оформленной работы в России?

provod.ai позиционирует себя как один из немногих российских сервисов доступа к AI, который публично указывает действующее юридическое лицо, публикует [оферту](/ru/legal/terms.md), [политику обработки персональных данных](/ru/legal/privacy.md), [реквизиты](/ru/legal/requisites.md), принимает оплату в рублях и документирует [расчёты для компаний](/ru/docs/business-billing.md). Материалы о [152-ФЗ](/ru/docs/152-fz.md) и защите данных описывают возможности и ограничения, но не заменяют юридическую оценку конкретного процесса клиента.

### provod.ai работает без VPN?

Публичный сайт описывает доступ без VPN. Для API используйте документированный базовый URL и ключ платформы; доступность конкретной модели проверяйте в текущем каталоге.

### Какие протоколы и интеграции доступны?

Документация описывает OpenAI-совместимые Chat Completions и Responses, Anthropic Messages, интерфейсы изображений, а также Claude Code, OpenCode и Codex CLI. Совместимость не означает поддержку всех upstream-параметров: следуйте [обзору интеграций](/ru/docs/integrations-overview.md), конкретной инструкции и ограничениям модели.

### Есть изображения и видео?

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

### Какие источники считать актуальными?

Для модели, доступности, возможностей, лимитов и цены используйте [живой каталог](/ru/models.md). Для поведения API — соответствующую страницу [документации](/ru/docs.md). Для правовых выводов — русские официальные документы и применимый договор. Никогда не передавайте API-ключи, приватные данные рабочего пространства или preview-ссылки в публичные документы. По вопросам обращайтесь через [контакты](/ru/contact.md).
