Интеграция и цены closed-API – Sora, Runway, Kling, Pika и Luma

Автор: Николай СапуновОбновлено: август 202624 мин чтения
Содержание статьи +

Коротко

Этот урок – практическое продолжение урока про ландшафт генеративного видео: теперь вы не выбираете модель, а встраиваете её в продукт и прогнозируете счёт. Любой closed-API для видео – Sora от OpenAI, Runway, Kling, Pika и Luma – навязывает одну и ту же асинхронную форму (отправить задачу, получить «талон», забрать клип позже), поэтому код интеграции почти не меняется при смене вендора, но модели ценообразования различаются очень сильно – и именно там гибнут бюджеты. Мы собираем реальные цены середины 2026 в одном месте, приводим их к единственной единице, которая позволяет сравнивать честно – доллары за секунду готового 1080p-видео, – и проходим точную последовательность вызовов API у каждого вендора. К концу вы научитесь читать таблицу кредитов, не давая себя обмануть, строить одну интеграцию с маршрутизацией на любого из пяти и оценивать месячные затраты ещё до первой строки боевого кода.

Почему это важно

Вы уже выбрали модель (или вот-вот выберете), и теперь кому-то нужно ответить на два вопроса, которые звучат просто, но таковыми не являются: «сколько это будет стоить в месяц?» и «сколько займёт интеграция?». В обоих – ловушки. Ценовая ловушка в том, что каждый вендор считает в своей выдуманной единице: Sora берёт за секунду, а Runway, Kling, Pika и Luma – в кредитах, и каждый кредит конвертируется в доллары по-своему. «Тариф на 700 кредитов» не говорит ни о чём, пока вы не знаете, сколько кредитов стоит один клип. Интеграционная ловушка – обратная: работа кажется больше, чем есть, потому что все пять API делят один паттерн, и команда, собравшая его один раз, поддержит все пять тонким слоем-адаптером. Урок написан для тимлида, продакт-менеджера или фаундера, которому нужно оценить эту работу и защитить бюджет. Он напрямую опирается на урок про ландшафт генеративного видео, где объясняется, что такое каждая модель и как выбрать между арендой и self-host; если вы его не читали – начните с него, потом вернитесь сюда, чтобы встроить и просчитать выбранную модель.

Что такое «интеграция closed-API» на практике

Начнём с простого. Закрытая видео-модель живёт на серверах вендора; вы никогда не видите её weights – гигантскую таблицу обученных чисел, в которой хранится всё, что модель знает. Вы обращаетесь к ней так же, как к любому веб-сервису: ваш код шлёт запрос через интернет, машины вендора выполняют работу, вы получаете результат. Аренда результата таким способом называется использованием closed-API – сокращение от application programming interface, то есть согласованный набор сообщений, которыми программа просит сервис что-то сделать.

Бытовая аналогия – заказ из кухни, в которую нельзя войти. Вы передаёте письменный заказ в окошко, невидимые повара готовят блюдо, и наружу выходит готовая тарелка. Вам не нужно знать рецепт, иметь плиту или нанимать шефа. Вы платите за тарелку. Плата за это удобство – вы зависите от меню кухни, её цен и её часов работы. А, как мы увидим, видео-кухни медленные, поэтому тарелку сразу не отдают: сперва выдают номерок.

Ещё один термин, который нужно определить заранее. В этом уроке асинхронный (часто «async») – это любой процесс, где вы что-то просите, а ответ приходит позже, не в тот же миг. SMS асинхронно; телефонный звонок – нет. Любой видео-API асинхронен, и понимание почему – самый полезный инженерный факт этого урока.

Один паттерн, общий для всех пяти API

Вот факт, который делает интеграцию пяти разных вендоров куда меньшей работой, чем кажется. Нельзя вызвать видео-API так, как обычный веб-сервис, где вы шлёте запрос и тут же получаете ответ. Генерация клипа занимает от десяти секунд до нескольких минут – намного дольше, чем обычному веб-запросу разрешено ждать до тайм-аута. Поэтому любой видео-API без исключения навязывает один и тот же трёхшаговый асинхронный танец.

Сначала вы отправляете задачу (submit): шлёте промпт и настройки (разрешение, длину, тариф модели), и API мгновенно возвращает идентификатор задачи – номерок – без клипа. Затем вы ждёте и проверяете: код либо периодически спрашивает «задача 12345 готова?» – это polling, – либо регистрирует веб-адрес, который вендор вызовет в момент готовности клипа, – это webhook. Наконец, вы забираете результат (collect): когда статус задачи стал «completed», вы скачиваете готовый видеофайл по download-ссылке.

Аналогия с химчисткой из урока про ландшафт работает точь-в-точь. Вы отдаёте пальто, берёте номерок и либо ходите обратно спрашивать «готово?» (polling), либо оставляете телефон, по которому позвонят (webhook). Polling проще собрать и подходит для малого объёма; webhook эффективнее и правильнее при масштабе, потому что не тратит запросы на ещё не завершившуюся задачу.

Рисунок 1. Один асинхронный паттерн, который навязывает любой видео-API, с проекцией реальных эндпоинтов каждого вендора на те же три шага. Форма не меняется; меняются только URL.

Практический вывод и есть причина, по которой урок объединяет пять вендоров: раз форма одинакова, вы строите её один раз. Поставьте перед вендорами тонкий внутренний слой – адаптер, – который выставляет остальному продукту вашу собственную функцию «сделать видео». За этой функцией каждый вендор – небольшой модуль, знающий свои URL для submit, poll и fetch. Замена Sora на Kling или переключение со «упавшей» модели на работающую становится правкой конфига, а не переписыванием. Это не золочение: это разница между фичей, которая переживёт следующий релиз модели, и той, что на нём сломается. Один только Sora API запланирован к отключению 24 сентября 2026 – то есть любая команда, зашившая эндпоинты Sora в продукт, уже стоит перед вынужденной миграцией. Команда, спрятавшая Sora за адаптером, меняет одно значение конфига.

В этот паттерн встроены два барьера, и в 2026 они не опциональны. Перед submit – модерируйте промпт: проверьте запрос пользователя фильтром безопасности, потому что после отправки задачи вы уже заплатили за неё, годен результат или нет. После collect – сохраните метку происхождения (provenance): пометку «сделано ИИ», которую вендор прикрепляет, потому что перекодирование или монтаж клипа могут её сорвать, а с августа 2026 эта метка обязательна по закону для европейских пользователей. Оба барьера разобраны в уроке про ландшафт и подробно – в уроке про качество, затраты и раскрытие; здесь достаточно знать, что барьеры пристёгиваются к паттерну на этапах submit и collect.

Проблема цен: каждый вендор говорит на своей валюте

Теперь сложная часть и причина, по которой большинство статей про «цены на ИИ-видео» оставляют вас в большей растерянности, чем до прочтения. Каждый вендор придумал свою ценовую единицу, и они не конвертируются друг в друга «в лоб». Sora берёт за секунду готового видео – прямо в долларах. Runway, Kling, Pika и Luma берут в кредитах – внутреннем токене, который покупают оптом, – но кредит у каждого вендора стоит разного количества видео, и даже внутри одного вендора кредит покупает меньше видео при большем разрешении, большей длине или включённом аудио. «Тариф на 700 кредитов» бессмыслен, пока вы не знаете, сколько кредитов стоит один клип.

Единственный честный способ сравнить – привести всё к одной единице. Мы используем доллары за секунду готового 1080p-видео, потому что это нормализует разную длину клипов и разную стоимость кредита, и потому что 1080p – то разрешение, которое чаще всего реально отгружают в продукт. Сделайте конвертацию один раз на вендора – и картина становится резкой. Ниже мы проходим каждого из пяти, даём реальные цифры середины 2026 и показываем арифметику вслух, чтобы вы могли пересчитать, когда цены изменятся – а они меняются ежемесячно.

Замечание про кредитную математику. Когда вендор продаёт кредиты, найдите два числа: долларовую стоимость одного кредита (сколько вы платите за кредит – обычно это месячная цена тарифа, делённая на включённые кредиты) и кредиты за секунду 1080p-выхода (из таблицы стоимости вендора). Перемножьте – получите доллары за секунду. Весь трюк, и он работает для всех четырёх вендоров на кредитах.

Sora (OpenAI) – цена за секунду, поэтому математика простая

Sora проще всего просчитать, потому что OpenAI берёт в обычных долларах за секунду, без кредитов. На середину 2026 стандартная модель Sora 2 стоит около десяти центов за секунду 720p-видео. Более качественная Sora 2 Pro стоит около тридцати центов за секунду на 720p и растёт с разрешением – примерно пятьдесят центов за секунду на 1024p и семьдесят центов за секунду на честных 1080p. Есть и тариф Batch примерно вдвое дешевле стандартного, в обмен на ожидание до 24 часов – полезно для несрочной массовой генерации, например ночного рендера B-roll.

Сделаем одну конвертацию «секунды в клип» вслух – этот шаблон вы повторите для каждого вендора:

Sora 2 Pro, 1080p, один клип на 10 секунд:
  стоимость = 10 секунд × $0.70 за секунду
            = $7.00 за клип

Семь долларов за единственный десятисекундный премиум-клип – то число, на которое стоит настроить ожидания: Sora 2 Pro на 1080p – самый дорогой вариант в этом уроке, и тянуться к нему стоит лишь когда топовая связность и диалог важнее стоимости. Стандартная Sora 2 за десять центов в секунду куда мягче: 720p-клип на восемь секунд стоит восемьдесят центов.

Интеграция – канонический async-паттерн. Вы делаете POST /v1/videos с промптом, size и seconds и получаете объект задачи с id и статусом queued. Затем либо опрашиваете GET /v1/videos/{id}, пока статус не станет completed, либо регистрируете webhook, и наконец забираете MP4 по GET /v1/videos/{id}/content. Статусы, которые вы увидите: queued, in_progress, completed и failed – обработайте в коде все четыре.

Единственное, что обязательно встроить в интеграцию Sora с первого дня, – это смену модели, из-за даты отключения 24 сентября 2026. Не считайте Sora постоянной инфраструктурой; считайте её одним взаимозаменяемым модулем за адаптером. Когда выйдет замещающий эндпоинт OpenAI, вы поменяете значение конфига, а не продукт.

Runway – кредиты по центу, лучший для монтажа материала

Runway считает в кредитах, и удобно, что в developer API кредит стоит ровно один цент. Это делает API Runway самым простым для расчёта среди вендоров на кредитах: умножьте кредиты на $0.01 – получите доллары. Из опубликованной таблицы стоимости генерация Gen-4 стоит около 12 кредитов за секунду, а более быстрый и лёгкий Gen-4 Turbo – около 5 кредитов за секунду. Конвертируем:

Runway Gen-4, одна секунда видео (API):
  стоимость = 12 кредитов × $0.01 за кредит
            = $0.12 за секунду

Runway Gen-4 Turbo, одна секунда:
  = 5 кредитов × $0.01 = $0.05 за секунду

То есть десятисекундный клип Gen-4 – около $1.20 через API, а Turbo – около пятидесяти центов. Это средние цены – больше бюджетных вендоров, заметно ниже Sora 2 Pro.

Runway также продаёт потребительские подписки, и эта разница важна при оценке проекта. Тарифы-подписки – Standard около пятнадцати долларов в месяц за 625 кредитов, Pro около тридцати пяти за 2 250, Unlimited около девяноста пяти – оплачиваются за место (per seat) для людей, работающих в веб-приложении Runway, и их кредиты не питают developer API. У API своё биллинг-устройство на уровне организации, где вы покупаете кредиты по центу и автоматически растёте по тарифным ступеням по мере роста трат за 30 дней. Стройте на биллинге API, а не на тарифах за место – для всего программного.

Отличительная сила Runway, разобранная в уроке про ландшафт, – монтаж готового материала, а не генерация с нуля: переосвещение сцены, удаление объекта, рестайл клипа. Если это ваш сценарий, Runway обычно первый API для пробы, а прозрачный кредит по центу делает стоимость тривиальной для прогноза. Интеграция – снова async-паттерн: вы запускаете task, опрашиваете GET /v1/tasks/{id} – Runway рекомендует интервал опроса от пяти секунд, с jitter и exponential backoff при ошибках, – пока статус не станет SUCCEEDED, FAILED или CANCELED, затем скачиваете outputs.

Kling (Kuaishou) – кредиты, меняющие стоимость с аудио и разрешением

Kling – там, где кредитная ловушка бьёт сильнее всего, потому что стоимость кредита за секунду меняется и от разрешения, и от того, включено ли аудио. Из таблицы стоимости Kling 3.0 генерация – от примерно 6 кредитов за секунду на 720p без аудио до примерно 12 кредитов за секунду на 1080p с native audio. Через API-агрегаторы реальная денежная цена оказывается около семи–четырнадцати центов за секунду в зависимости от тарифа – например, один агрегатор указывает Kling примерно по $0.084 за секунду на стандартном тарифе и $0.112 за секунду на pro-тарифе, оба без аудио.

Разберём реалистичный пример, потому что маркетинг Kling называет кредиты, а вам нужны доллары:

Kling 3.0, 1080p + native audio, один клип на 10 секунд, 3 итерации:
  кредиты на клип ≈ 12 кредитов/сек × 10 сек = 120 кредитов
  с 3 итерациями до годного ≈ 360 кредитов

Цифра в 360 кредитов важна, потому что потребительские тарифы Kling измеряются в кредитах: Standard за около семь долларов в месяц даёт 660 кредитов, Pro за около двадцати шести – 3 000, а топовый Ultra за около ста восьмидесяти – 26 000. Один отполированный десятисекундный клип на 360 кредитов означает, что семидолларовый тариф даёт меньше двух готовых клипов в месяц – такая арифметика удивляет продакт-оунера, который увидел «660 кредитов» и представил сотни видео.

Качество Kling действительно топовое на слепых тестах предпочтений, и у него есть фичи, которых нет ни у кого, включая управление движением Motion Brush (motion control) и multi-character lip-sync. Компромисс интеграции, как отмечает урок про ландшафт, в том, что Kling – вендор из Китая, к которому обычно обращаются через сторонний агрегатор, а не через отполированный собственный developer-портал, что поднимает вопросы data-residency. Async-паттерн идентичен; различаются только URL для submit и status.

Pika – бюджетный вариант для большого объёма

Pika – выбор за стоимость для продуктов, генерирующих много черновиков и сохраняющих немногие. Потребительские тарифы идут от бесплатного Basic (80 кредитов в месяц, 480p, watermark, без коммерческого использования) через Standard за около десяти долларов в месяц за 700 кредитов со всеми разрешениями и коммерческими правами, Pro за около тридцати пяти за 2 300 кредитов и Fancy за около девяноста пяти за 6 000. Один десятисекундный 1080p-клип стоит примерно 80 кредитов. Конвертируем через стоимость кредита тарифа Standard:

Стоимость кредита Pika (тариф Standard):
  $10 в месяц ÷ 700 кредитов = $0.0143 за кредит

Один 1080p-клип на 10 секунд:
  80 кредитов × $0.0143 ≈ $1.14 в кредитах тарифа

Для программного использования Pika выставляет API через агрегаторы вроде fal.ai; опубликованные цифры дают пачку из 100 клипов на 1080p примерно за сорок пять долларов – около сорока пяти центов за клип, дешевле, чем кредитная математика тарифа выше, потому что цены агрегатора основаны на потреблении, а не на пакете тарифа. Pika не гонится за короной качества; она гонится за скоростью и ценой для сценариев – соцконтент, тест рекламных вариантов, проверка идей, – где вы генерируете пятьдесят кандидатов, чтобы опубликовать три. Когда это ваш рабочий процесс, оплата десятков центов за черновик вместо нескольких долларов меняет экономику всей фичи.

Luma – кредиты с болезненной премией за HDR

Dream Machine от Luma, на моделях Ray3 и более новой Ray3.14, считает в кредитах, чья стоимость резко зависит от разрешения и, прежде всего, от вывода в широком динамическом диапазоне. HDR (high dynamic range, широкий динамический диапазон) – это намного больший разброс между самыми тёмными и самыми светлыми частями кадра, ближе к тому, что снимает плёночная камера, – и Luma это та модель, к которой тянутся, когда ИИ-клипы должны стоять рядом с профессионально снятым материалом в пайплайне цветокоррекции. Но эта способность несёт крутую кредитную премию, и её нужно увидеть, чтобы оценить бюджет.

Из таблицы стоимости Luma Ray3 на 1080p в стандартном динамическом диапазоне (SDR) стоит 330 кредитов за пятисекундный клип; та же модель на 540p с HDR плюс экспортом EXR стоит 1 120 кредитов за 5 секунд – более чем втрое дороже при меньшем разрешении, потому что дорогая часть – это HDR-пайплайн, а не число пикселей. Более новая Ray3.14 заметно дешевле для стандартного вывода: 400 кредитов за пятисекундный 1080p SDR-клип. Арифметика, которую стоит усвоить:

Luma Ray3, 540p HDR + EXR, один клип на 5 секунд:
  = 1 120 кредитов  (премиальный pro-пайплайн)

Luma Ray3.14, 1080p SDR, один клип на 5 секунд:
  = 400 кредитов    (обычный путь — намного дешевле)

Урок этих двух строк: у Luma профессиональный путь HDR/EXR стоит примерно втрое дороже стандартного, так что платите за него только когда колорист действительно его требует. Для простого соцклипа HDR – потраченные впустую кредиты. У Luma также есть отдельный Dream Machine API со своим биллингом – потребительские кредиты на API не переносятся, – стартующий примерно от тридцати двух центов за генерацию. Как и у остальных, интеграция – это async-паттерн submit-poll-collect.

Пятеро с одного взгляда – приведены к одной честной единице

Поставьте всех пятерых в одну таблицу, переведя каждую цену в одну единицу, – и сравнение наконец становится честным. Цифры – снимок середины 2026 и часто двигаются; перепроверьте перед фиксацией бюджета. Правый столбец – тот, по которому действуют.

ВендорЕдиница цены≈ $/сек 1080p-видеоИнтеграция APIЛучше всего для
Sora 2 (OpenAI)за секунду (USD)~$0.10 (720p std)POST /v1/videos → poll/webhook → fetch contentСвязные сцены + диалог; узнаваемость бренда
Sora 2 Pro (OpenAI)за секунду (USD)~$0.70 (1080p)то же, что Sora 2Топ-качество, когда цена вторична
Runway Gen-4кредиты @ $0.01~$0.12 ($0.05 Turbo)POST task → poll GET /v1/tasks/{id} → downloadМонтаж готового материала (V2V); прозрачная цена
Kling 3.0кредиты (разреш./аудио)~$0.08–$0.14submit агрегатора → poll → fetchТоп-качество; motion control; lip-sync
Pika 2.5кредиты (~$0.014 каждый)~$0.05–$0.11 (агрег.)агрегатор (fal.ai) submit → poll → fetchМного дешёвых черновиков
Luma Ray3 / Ray3.14кредиты (премия за HDR)SDR умеренно; HDR/EXR ~3×Dream Machine API submit → poll → fetchPro-цветокор с HDR/EXR

Таблица 1. Пять closed-API для видео, каждая цена приведена к долларам за секунду 1080p-выхода, чтобы они сравнивались честно. Столбец интеграции у вендоров почти одинаков – в этом и суть. Сопоставьте столбец «лучше всего для» со своим сценарием; столбец $/сек скажет, во что это обойдётся.

Частая ошибка: сравнивать тарифы-подписки вместо стоимости API

Вот ловушка, которая рушит больше оценок затрат, чем любая другая в этой категории. Команда читает ценовые страницы вендоров, видит «$15/месяц» рядом с «$95/месяц» и строит бюджет вокруг дёшево выглядящей подписки. Потом отгружает – и счёт совсем не похож на оценку, потому что потребительская подписка и developer API – два разных продукта с двумя разными ценами, а программная интеграция использует API.

Тарифы-подписки рассчитаны на отдельных людей, кликающих кнопки в веб-приложении: фиксированная месячная плата, фиксированный лимит кредитов и watermark или ограничение коммерческого использования на дешёвых ступенях. Они нерелевантны продукту, который зовёт API тысячи раз в месяц от имени пользователей. API тарифицируется иначе – обычно по потреблению, за секунду или израсходованный кредит, без месячной платы за место, но и без потолка. Runway это проговаривает явно: его API-кредиты, купленные по центу в биллинге организации, – отдельный пул от кредитов тарифа за место. Luma прямо заявляет, что потребительские кредиты Dream Machine не переносятся на Dream Machine API.

Лечение – дисциплина: при оценке затрат полностью игнорируйте страницу подписки и найдите страницу цен API. Приведите к долларам за секунду того разрешения, которое реально отгрузите. Потом умножьте на реальный объём – включая перегенерации, которые нужны пользователям, а они, как показывает урок про ландшафт, обычно утраивают наивную оценку. Бюджет, построенный на цене подписки, построен на неверном продукте.

Собираем вместе – один адаптер, пять вендоров, предсказуемый счёт

Сведите две половины урока – и инженерный план пишется сам. Интеграция – это один async-паттерн за одним адаптером: функция «сгенерировать видео», которую зовёт продукт, с пятью маленькими модулями вендоров за ней, каждый знает свои URL для submit, poll и fetch и свою конвертацию кредита в доллары. Стоимость – одна арифметика на вендора: доллары за кредит умножить на кредиты за секунду (или просто доллары за секунду для Sora), привести к общей единице и умножить на реальный объём.

Рисунок 2. Один адаптер маршрутизирует каждый запрос на нужного вендора по жёсткому ограничению, затем гоняет один и тот же pipeline submit-poll-fetch. Формула затрат у вендоров идентична, как только каждая ставка приведена к долларам за секунду.

Два проектных решения делают это устойчивым. Первое – задайте жёсткий потолок трат: месячный долларовый лимит и максимум перегенераций на задачу, – чтобы сбежавшая фича или злоупотребляющий пользователь не снесли бюджет запуска. Генерация видео итеративна, и пользователи редко берут первый клип; без потолка счёт растёт быстрее, чем все ожидают. Второе – держите логику маршрутизации («монтаж идёт в Runway, HDR идёт в Luma») как единственный вендор-специфичный код в продукте. Всё ниже по потоку от решения о маршруте – pipeline submit-poll-fetch и учёт затрат – общее. Это разделение и позволяет добавить шестого вендора или выкинуть того, кто только что отключил API, за один вечер. Полную модель затрат, включая как задать и применять потолок, мы разбираем в уроке про реальную стоимость ИИ.

Где здесь Фора Софт

Мы делаем видео-продукты в OTT и интернет-ТВ, видеоконференциях, e-learning, телемедицине, видеонаблюдении и AR/VR, и в большинстве из них вопрос не «какая модель», а «как встроить одну так, чтобы счёт или интеграция не удивили». Работа, отделяющая демо от продукта, – это слой-адаптер, конвертация затрат на вендора, потолок трат и барьеры модерации и происхождения, а не сам вызов модели, который – несколько строк. Мы считаем вендора заменяемой частью, а обвязку вокруг – инженерией, потому что именно она переживает следующую смену цен или отключение API. Команда, собравшая это так, тратит вечер на миграцию, когда вендор отключает эндпоинт; команда, зашившая одного вендора, тратит спринт.

Главное

  • Все пять closed-API для видео делят один async-паттерн: submit задачи, poll или webhook, fetch клипа. Соберите его один раз.
  • Поставьте вендоров за тонкий адаптер, чтобы смена или failover были правкой конфига, а не переписыванием – Sora API отключают в сентябре 2026.
  • У каждого вендора своя ценовая единица; приведите все к долларам за секунду 1080p, чтобы сравнивать честно.
  • Sora берёт за секунду в долларах; Runway, Kling, Pika и Luma – в кредитах разной стоимости.
  • Никогда не считайте бюджет по странице подписки – developer API это отдельный продукт с отдельной, обычно потребительской ценой.
  • Задайте жёсткий потолок трат и лимит перегенераций; итеративная генерация делает реальный счёт намного выше наивного.

Что читать дальше

Строите такую систему?

Подберём параметры кодирования под ваш контент и посчитаем стоимость доставки до старта разработки.