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/reference-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/reference-to-video, он принимает массив image_urls из не более чем трёх референсных изображений, и мы тарифицируем посекундно: $0.01 за секунду, ×1,5 при включённом звуке. Каждый ролик здесь длится 8 секунд, так что цена — $0.12 за ролик в 720p со звуком.
Хватит одного изображения, а ролик покороче был бы кстати? Используйте Veo 3.1 Fast image-to-video — он оживляет один стартовый кадр и даст вам 4 или 6 секунд. Загружать вообще нечего? Veo 3.1 Fast text-to-video работает на одном prompt.
Посекундный учёт для этой модели универсален — так делают Google, fal.ai и Replicate, и мы тоже. Поскольку reference-to-video зафиксирован на восьми секундах, таблица ниже — единственная конфигурация, которая имеет значение. Цифры проверены 26 августа 2026 года, 720p со звуком:
| 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. Сегодня вы платите десятую часть, и это всё равно в 6,7 раза меньше собственного API Google. Этот разрыв — действующая скидка на идентичную модель, а не урезанный тариф.
Планируйте 1080p осознанно: fal.ai и Replicate включают шаг 720p → 1080p без доплаты, а Google берёт более высокую посекундную ставку. У нас разрешение — тоже множитель, и актуальное число живёт в llms.txt этой модели.
Цены и условия продуктов со временем меняются; проверьте актуальные цены каждого провайдера, прежде чем принимать решение о покупке. Цены Google Batch или Flex не эквивалентны напрямую стандартному on-demand API request, поскольку планирование, доступность и условия обработки отличаются; поэтому они исключены из этого сравнения. Это ограниченное по охвату сравнение, а не утверждение, что E2X — самый дешёвый вариант в мире при любой конфигурации.
Ограничение Google сформулировано прямо: «Используйте до трёх референсных изображений, чтобы направлять содержание», а в их схеме это описано как «До трёх изображений, используемых в качестве референсов стиля и содержания». Три. Четвёртое — за пределами того, что модель принимает.
Этот бюджет вынуждает принимать решение, и это самая интересная часть данного endpoint. Три слота вы тратите на то, что не должно уплыть. Съёмка для кампании обычно раскладывается так: один чистый портрет ведущего, один кадр в полный рост, показывающий костюм, одна фотография локации. Дальше каждый ролик серии возвращается с тем же человеком, той же одеждой, тем же местом — вы меняете только prompt.
Предметная работа делится иначе: два ракурса объекта, один кадр с фирменной цветовой обработкой. Принцип тот же. Референсы несут идентичность, prompt несёт действие.
Это не работа image-to-video. Там ваше изображение и есть первый кадр. Здесь референсы — это ориентир, а открывающий кадр генерируется из них. Нужен ролик, начинающийся с конкретного утверждённого кадра? Это другой endpoint.
Правило Google звучит так: длительность «должна быть '8' при использовании расширения, референсных изображений или разрешений 1080p и 4k». Референсные изображения в этом списке есть, поэтому вариантов на 4 и 6 секунд, которые предлагают два других endpoint, здесь не существует. Наша schema по-прежнему показывает enum duration; для этой capability единственное допустимое значение — "8".
Считайте бюджет соответственно. Последовательность из шести роликов — это 48 секунд вывода: $0.72 у нас, $7.20 на fal.ai или Replicate.
Обязательные поля: prompt и image_urls.
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/reference-to-video",
"input": {
"prompt": "Женщина с изображения 1 в пальто с изображения 2 входит в холл с изображения 3 и стряхивает дождь. Она поднимает взгляд и говорит: \"Ты дождался\". Тёплый свет ламп накаливания, мраморное эхо.",
"image_urls": [
"https://example.com/talent-portrait.jpg",
"https://example.com/wardrobe-coat.jpg",
"https://example.com/lobby-set.jpg"
],
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8",
"has_sound": "true"
}
}'
Submit возвращает 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/reference-to-video",
input: {
prompt:
"Маскот с изображения 1 запрыгивает на стойку с изображения 2, опрокидывает чашку и замирает. Скрипучие шаги, звон керамики, затем тишина.",
image_urls: [
"https://example.com/mascot-turnaround.png",
"https://example.com/kitchen-set.jpg",
],
aspect_ratio: "9:16",
resolution: "720p",
duration: "8",
has_sound: "true",
seed: 60411,
},
}),
}).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 || "Generation failed");
}
await new Promise((r) => setTimeout(r, 5000));
}
Статус идёт pending → processing → completed либо заканчивается на failed / cancelled. Рассчитывайте примерно на четыре минуты на job — официальное окно Google: нижняя граница 11 секунд и 6 минут в час пик. Переиспользуйте один seed на всю серию, если хотите, чтобы генерации рифмовались.
Идентичные веса, идентичная посекундная цена. Endpoint выбирает форма вашего входа:
| Endpoint | Варианты длительности | Ролик 8 с, 720p + звук | Когда брать |
|---|---|---|---|
| Veo 3.1 Fast reference-to-video | только 8 с | $0.12 | До 3 изображений должны закрепить лицо, костюм или место во всех роликах |
| Veo 3.1 Fast image-to-video | 4 / 6 / 8 с | $0.12 | Один кадр должен буквально стать первым |
| Veo 3.1 Fast text-to-video | 4 / 6 / 8 с | $0.12 | Только prompt, загружать нечего |
| Omni Flash reference-to-video | — | $0.80 (конфигурация по умолчанию) | Другое семейство, когда манера Veo — не то, что вам нужно |
Мы предпочли бы, чтобы вы потратили меньше. Если справляется одно изображение, image-to-video стоит столько же и вдобавок открывает ролики на 4 и 6 секунд — четырёхсекундная версия обойдётся в $0.06, вдвое дешевле фиксированных восьми секунд, которые вы платите здесь. Приходите на этот endpoint, когда консистентность между несколькими роликами и есть настоящее требование, потому что это единственное, чего другие сделать не могут. Остальная часть категории лежит в reference-to-video; всё прочее — в каталоге моделей.
Модель получает массив без подписей. Ничто в payload не говорит, что второй слот был гардеробом, а не вторым персонажем, — так скажите это в prompt.
Нумерация работает: «женщина с изображения 1», «пальто с изображения 2», «холл с изображения 3». Несколько слов — и большая часть двусмысленности, которая порождает перепутанные результаты, исчезает.
Ещё три привычки:
Дайте каждому референсу одну задачу. Перегруженное фото, на котором разом человек, продукт и комната, заставляет модель гадать, что вам было важно. Кропайте плотно.
Повторите идентичность словами. «Те же короткие серебристые волосы, те же круглые очки» подкрепляет то, что показывает референс. Дешёвая страховка.
Выпишите диалог. Google генерирует звук нативно, и выключателя в их API нет, так что звук случится в любом случае — речь, эффекты, атмосфера. Процитируйте реплику, и она ляжет на нужные кадры.
Google полностью поддерживает английский и ничего другого для этой модели не оценивал, поэтому держите текст инструкций на английском — процитированный диалог может быть на любом языке, который нужен сцене.
Два дня на скачивание. Срок хранения сгенерированного видео у Google — два дня: «вы должны скачать своё видео в течение 2 дней с момента генерации». Для кампании из двадцати роликов, собираемой неделю, это архитектурное решение, а не сноска. Копируйте outputs[0].url в собственное хранилище в тот же момент, когда job завершается.
SynthID на каждом результате. Незаметный водяной знак Google накладывается на всё видео Veo и проверяется через их платформу. Отключить его не может ни один провайдер.
Генерация людей ограничена по регионам. В ЕС, Великобритании, Швейцарии, на Ближнем Востоке и в Северной Африке personGeneration ограничен значением allow_adult.
Версионируйте свой набор референсов. Консистентность держится на том, что вы каждый раз отправляете побайтово идентичные референсы. Переэкспортированный портрет, подменённый на середине серии, будет заметен.
Мы тарифицируем $0.01 за секунду вывода, ×1,5 при включённом звуке. Этот endpoint зафиксирован на восьми секундах, поэтому ролик 720p со звуком стоит $0.12. Более высокие разрешения несут собственный множитель — проверьте живую страницу модели, прежде чем планировать batch в 1080p.
Максимум три. Документация Google говорит, что вы можете использовать до трёх референсных изображений для направления содержания, а их schema описывает их как референсы стиля и содержания. Меньше — нормально; два встречаются часто.
Google требует восьми секунд всякий раз, когда в дело идут референсные изображения, — то же правило покрывает 1080p и 4k. Нужны 4 или 6 секунд? Используйте endpoint image-to-video или text-to-video: та же модель, та же посекундная цена.
Image-to-video делает одно изображение буквально открывающим кадром. Reference-to-video берёт до трёх изображений как ориентир для идентичности, гардероба, стиля или локации, а затем генерирует открывающий кадр, согласованный с ними. Берите референсы, когда консистентность между несколькими роликами важнее конкретного первого кадра.
Да. Google нативно генерирует диалог, звуковые эффекты и атмосферу, и способа отключить это в его собственном API нет. Мы открываем has_sound со значением true по умолчанию, и эта настройка применяет ценовой множитель ×1,5.
Весь вывод Veo несёт SynthID — незаметную метку Google для контента, сгенерированного ИИ, проверяемую на их платформе. Ни один провайдер, включая нас, не может её выключить.
Мы закладываем примерно четыре минуты. Google публикует минимум в 11 секунд и максимум в 6 минут в час пик, поэтому для целой серии роликов используйте webhookUrl, а не держите открытыми циклы polling.