Loading...
Loading...
Более быстрый и дешёвый уровень Veo 3.1: текст в видео, изображение в видео, референс в видео и переходы между первым и последним кадром.
Войдите, чтобы запускать модели
No output yet
Run the model to see generated results.
import requests
result = requests.post(
'https://api.e2x.ai/v1/jobs/submit',
headers={
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
},
json={
'model': 'google/veo-3.1-fast/image-to-video',
'input': {}
}
)import time
job_id = result.json()['jobId']
while True:
response = requests.get(
f'https://api.e2x.ai/v1/jobs/{'{job_id}'}',
headers={'Authorization': f'Bearer {'{API_KEY}'}'}
)
data = response.json()['data']
if data['status'] == 'completed':
print('Done!', data['outputs'][0]['url'])
break
elif data['status'] == 'failed':
raise Exception(f"Job failed: {'{'}data['error']['message']{'}'}")
time.sleep(2)Оценочная стоимость генерации по длительности и разрешению. Вы платите только за то, что запускаете.
Отдайте этому endpoint один кадр — и он станет первым кадром движущейся озвученной сцены. Мы держим Veo 3.1 Fast от Google как google/veo-3.1-fast/image-to-video и тарифицируем посекундно: $0.01 за секунду, ×1,5 при включённой звуковой дорожке. То есть восьмисекундный ролик 720p со звуком — $0.12: одно изображение плюс один prompt, без возни с референсами.
Нет стартового изображения, с которым работать? Тогда ваш endpoint — Veo 3.1 Fast text-to-video: та же модель, та же цена, только prompt, и он позволяет опуститься до 4 или 6 секунд. Если же у вас несколько изображений и смысл в том, чтобы удержать одного персонажа во всех кадрах, идите к Veo 3.1 Fast reference-to-video.
Эту модель никто не продаёт «за видео». Google, fal.ai, Replicate и мы считаем вывод секунда за секундой, поэтому честное сравнение обязано зафиксировать конфигурацию. Вот 8 секунд, 720p, звук включён, на момент нашей последней проверки 26 августа 2026 года:
| API-провайдер | Тарификация | Ставка (720p, звук вкл.) | Ролик 8 секунд | против нас |
|---|---|---|---|---|
| E2X (текущая) | посекундно | $0.01/с ×1,5 за звук | $0.12 | — |
| Google Gemini API | посекундно | $0.10/с | $0.80 | в 6,7 раза дороже нас |
| fal.ai | посекундно | $0.15/с | $1.20 | в 10 раз дороже нас |
| Replicate | посекундно | $0.15/с | $1.20 | в 10 раз дороже нас |
| E2X по прайсу (до скидки) | посекундно | $0.10/с ×1,5 | $1.20 | наша ставка без скидки |
Задержитесь на нижней строке. Наша прайсовая цена без скидки — $1.20 за восьмисекундный ролик, ровно та же цифра, которую берут fal.ai и Replicate. Те $0.12, что вы платите сейчас, — десятая часть от неё, и всё равно в 6,7 раза меньше собственного API Google.
Разрешение бьёт по счёту по-разному в зависимости от того, где вы покупаете. Шаг с 720p на 1080p не стоит ничего дополнительно на fal.ai или Replicate; Google берёт более высокую посекундную ставку. Мы тоже считаем разрешение множителем, поэтому считайте актуальную цифру из llms.txt этой модели, прежде чем планировать прогон в 1080p.
Цены и условия продуктов со временем меняются; проверьте актуальные цены каждого провайдера, прежде чем принимать решение о покупке. Цены Google Batch или Flex не эквивалентны напрямую стандартному on-demand API request, поскольку планирование, доступность и условия обработки отличаются; поэтому они исключены из этого сравнения. Это ограниченное по охвату сравнение, а не утверждение, что E2X — самый дешёвый вариант в мире при любой конфигурации.
Ваше изображение закрепляет первый кадр. Всё, что после него, генерируется — держите эту мысленную модель, потому что она объясняет и сильную сторону, и сценарий отказа.
Сильная сторона: композиция, палитра, гардероб и декорации уже решены. Вы не ставите на прозу в надежде, что она воспроизведёт предметную съёмку, которую клиент уже утвердил. Подайте кадр, опишите движение, получите ролик, начинающийся ровно там, где начинался кадр.
Сценарий отказа: чем дальше ролик уходит от этого кадра, тем больше он импровизирует. Попросите облёт на 180° за восемь секунд — и дальняя сторона объекта будет выдумкой. Попросите медленный наезд и поворот головы — и он удержится.
Звук едет следом. Google генерирует его нативно, и в их API нет переключателя, чтобы его отключить: синхронный диалог, шаги по шагам, тон помещения под всем этим. На вход идёт неподвижная фотография; на выходе — нечто со звуковой дорожкой.
Ограничения Google на исходное изображение, коротко:
image_url в момент выполнения job, а не в момент отправки.Последний пункт вызывает больше отказов, чем все остальные вместе: короткоживущие подписанные ссылки истекают прямо в очереди.
Здесь два обязательных поля: prompt и image_url.
curl -X POST https://api.e2x.ai/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/veo-3.1-fast/image-to-video",
"input": {
"prompt": "Бариста двигает чашку вперёд, вверх завивается пар. Медленный наезд на крему. Шипение эспрессо-машины, тихий гул кафе позади.",
"image_url": "https://example.com/counter-shot.jpg",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8",
"has_sound": "true"
}
}'
В ответ приходит job ID. Опрашивайте его или отдайте нам webhook:
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
const submitted = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "google/veo-3.1-fast/image-to-video",
input: {
prompt:
"Она опускает солнечные очки и бросает взгляд за кадр влево. Подол приподнимается на ветру. Камера статична, под всем этим чайки и прибой.",
image_url: "https://example.com/lookbook-03.jpg",
aspect_ratio: "9:16",
resolution: "720p",
duration: "8",
has_sound: "true",
seed: 88117,
},
}),
}).then((r) => r.json());
const jobId = submitted.data.jobId;
while (true) {
const job = await fetch(`https://api.e2x.ai/v1/jobs/${jobId}`, { headers })
.then((r) => r.json());
if (job.data.status === "completed") {
console.log(job.data.outputs[0].url);
break;
}
if (job.data.status === "failed") {
throw new Error(job.data.error?.message || "Animation failed");
}
await new Promise((r) => setTimeout(r, 5000));
}
Job идут pending → processing → completed либо останавливаются на failed / cancelled. Отправьте webhookUrl, если предпочитаете не опрашивать. Мы планируем примерно на четыре минуты; опубликованный Google диапазон — 11 секунд в лучшем случае, 6 минут в час пик.
Следите за типами: duration, resolution и has_sound — строки. "true", а не true.
Три двери в одни и те же веса по одной и той же посекундной цене. Какую выбрать, решает ваш вход:
| Endpoint | Ролик 8 с, 720p + звук | Когда брать |
|---|---|---|
| Veo 3.1 Fast image-to-video | $0.12 | Один утверждённый кадр должен стать первым |
| Veo 3.1 Fast text-to-video | $0.12 | Ещё ничего не существует — и нужен вариант на 4 или 6 секунд |
| Veo 3.1 Fast reference-to-video | $0.12 | До трёх изображений должны задать повторяющееся лицо, продукт или место |
Честное разделение: берите этот endpoint, когда кадр и есть открывающий кадр. Берите reference-to-video, когда ваши изображения — это ориентир: один и тот же актёр в пяти сценах, — и примите, что он запирает вас на восьми секундах. Просто исследуете? Не загружайте ничего: text-to-video на четырёх секундах стоит $0.06 и быстро прожигает раскадровку. Остальное смотрите в категории image-to-video или во всём каталоге моделей.
Частая ошибка — заново описывать изображение, которое вы только что загрузили. Модель его видит. Каждое слово, потраченное на «женщина в красном пальто на пирсе», — это слово, не потраченное на то, что произойдёт дальше, и вдобавок приглашение переосмыслить кадр, который вы уже зафиксировали.
Пишите изменение. Три привычки несут основную часть качества:
Задайте одно главное движение. Поворот головы, наезд камеры, открывающаяся дверь. Сложите четыре действия в восемь секунд — и не прочитается ни одно.
Скажите, где стоит камера и двигается ли она. «Статично», «медленный наезд с тележки», «дрейф с рук вправо». Молчание на этот счёт даёт бесцельное плавание.
Озвучьте вслух. Назовите атмосферу и любую реплику диалога в кавычках. Звук генерируется независимо от того, планировали вы его или нет, — так планируйте.
Prompt на английском поддерживаются полностью. Другие языки Google для этой модели не оценивал, поэтому держите инструкции на английском, даже когда произносимая реплика на другом.
Два дня. Вот ваше окно на скачивание. Google хранит сгенерированное видео два дня — их формулировка: вы должны скачать своё видео в течение 2 дней с момента генерации. Затягивайте outputs[0].url в собственное хранилище тем же участком кода, который его читает. Возвращаемая ссылка временная.
SynthID есть на каждом кадре. Google помечает весь вывод Veo своей незаметной меткой происхождения, проверяемой через их платформу. Отключить её не может ни один провайдер, включая нас.
Люди в регулируемых регионах. По всему ЕС, в Великобритании, Швейцарии, на Ближнем Востоке и в Северной Африке personGeneration ограничен значением allow_adult.
Согласуйте aspect ratio с исходником. Кадр 16:9 с запрошенным 9:16 заставляет модель выдумывать края.
Мы берём $0.01 за секунду сгенерированного видео, умноженные на 1,5 при включённом звуке. Значит, восьмисекундный ролик 720p со звуком стоит $0.12. Более высокие разрешения применяют собственный множитель, поэтому перед планированием бюджета на batch в 1080p или 4k проверьте живую страницу модели.
Меньше 8 МБ, не ниже 720p и либо 16:9, либо 9:16. Мы забираем его по image_url, который вы передали, поэтому ссылка должна оставаться рабочей в момент выполнения job — истекающие подписанные URL здесь самый частый отказ.
На этом endpoint — нет, он принимает ровно один image_url. Если генерацию должны направлять несколько изображений, используйте reference-to-video, который принимает массив до трёх.
Да, и это одна из главных причин потянуться к этой модели. Google нативно производит синхронный диалог, эффекты и атмосферу, и в его собственном API выключателя нет. Наша schema открывает has_sound со значением true по умолчанию, несущим множитель ×1,5.
До 8 секунд. Этот endpoint принимает 4, 6 или 8, но вывод в 1080p и 4k требует полных восьми. Ничто в семействе Veo 3.1 Fast не превышает 8 секунд за один вызов.
Каждое видео Veo несёт SynthID — незаметный водяной знак происхождения ИИ от Google, и его можно проверить на их платформе верификации. Способа его отключить не предлагает никто.
Планируйте около четырёх минут на job. Официальные цифры Google ставят нижнюю границу на 11 секундах, а потолок в час пик — на 6 минутах, так что при любых реальных объёмах webhook лучше цикла polling.