Как это работает

Один API для всех моделей AI-видео

Если вы знаете OpenRouter для языковых моделей, Revana — та же идея для генерации видео и изображений: один API-ключ, один формат запроса и один предоплаченный баланс для Seedance, Veo, Kling, Wan, Nano Banana Pro, GPT Image 2 и остального каталога, с автоматическим переходом, когда вышестоящий маршрут не срабатывает.

Проблема вызова каждой модели напрямую

Каждый разработчик моделей ведёт собственный API со своим аккаунтом, ключами, форматом запроса, потоком статусов задач и тарификацией. Разработка под три из них означает три интеграции для поддержки, три баланса для пополнения и три набора кодов ошибок для обработки. Некоторые модели предлагают несколько платформ по разным ценам, с разными лимитами и мощностями, которые то появляются, то исчезают.

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

Как работает Revana

  1. Один ключ. Зарегистрируйтесь и создайте API-ключ в панели. Он работает для каждой модели каталога.
  2. Один запрос. Отправьте POST /v1/generations с id model и объектом input. Названия полей одинаковы для каждой модели: prompt, image_url, end_image_url, image_urls, resolution, duration, aspect_ratio и audio.
  3. Цена до запуска. Цена задачи берётся из каталога и резервируется с вашего предоплаченного баланса. Поле или значение, которое модель не поддерживает, отклоняется с 422 до какого-либо списания. Вы также можете задать max_cost_usd как потолок.
  4. Маршрутизация. Роутер отправляет задачу по самому дешёвому маршруту для этой модели. Если маршрут не сработал или истёк тайм-аут, задача переходит на следующий.
  5. Один формат результата. Опрашивайте GET /v1/generations/{id}. Когда статус станет succeeded, файлы будут в output.urls, а списанная сумма — в cost_usd. Если задача завершилась ошибкой, резерв освобождается.

Задачи асинхронны: изображения обычно занимают секунды, а видео — от менее минуты до нескольких минут. Полный справочник полей и кодов ошибок — в документации.

Один и тот же запрос на трёх моделях

Поскольку формат запроса общий, сравнение моделей — это цикл. Этот скрипт отправляет один промпт в Seedance 2.0, Veo 3.1 Fast и Wan 3.0, а затем выводит каждый результат и его стоимость. У каждой модели свои параметры, поэтому выбирайте значения, которые принимают все три; здесь это 720p, 8 секунд и 16:9.

Python
import os
import time

import requests

API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}

PROMPT = (
    "A paper boat sails down a rain-soaked street gutter at dusk, "
    "neon signs reflected in the water. Rain, distant traffic."
)
MODELS = ["seedance-2.0", "veo-3.1-fast", "wan-3.0"]

# Submit the same job to every model; each call returns 202 with an id.
jobs = {}
for model in MODELS:
    resp = requests.post(f"{API}/generations", headers=HEADERS, json={
        "model": model,
        "input": {
            "prompt": PROMPT,
            "resolution": "720p",
            "duration": 8,
            "aspect_ratio": "16:9",
            "audio": True,
        },
        "max_cost_usd": 1.5,
    })
    resp.raise_for_status()
    jobs[model] = resp.json()["id"]

# Poll each job until it finishes.
for model, job_id in jobs.items():
    while True:
        job = requests.get(f"{API}/generations/{job_id}", headers=HEADERS).json()
        if job["status"] in ("succeeded", "failed"):
            break
        time.sleep(5)
    if job["status"] == "succeeded":
        print(model, job["output"]["urls"][0], job["cost_usd"])
    else:
        print(model, "failed:", job["error"])

По ценам каталога на октябрь 2026 три задачи стоят:

Цена одного и того же запроса на трёх моделях
МодельЗапросЦена
Seedance 2.0720p, 8 с, звук включён в ставку$1.20
Veo 3.1 Fast720p, 8 с, со звуком (тарифицируется отдельно)$0.80
Wan 3.0720p, 8 с, звук включён в ставку$0.72

max_cost_usd в 1.5 покрывает все три. Задача, которая обошлась бы дороже своего потолка, не запускается.

Переход между маршрутами

Маршрут — это один источник вышестоящих мощностей для модели. У многих моделей на Revana их больше одного, и роутер использует их по порядку:

  • Сначала самый дешёвый. Каждая задача уходит по самому дешёвому маршруту, который принимает её параметры.
  • При сбое — следующий. Если этот маршрут не сработал или истёк тайм-аут, задача автоматически переходит на следующий. Поле attempts показывает, сколько их было опробовано.
  • Та же модель, та же цена. Каждый маршрут обслуживает запрошенную вами модель по указанной цене. Роутер никогда не подменяет её другой.
  • Одно списание. Плата берётся только за маршрут, который сработал. Если не сработали все маршруты, задача завершается как failed и ничего не стоит.
Число маршрутов у некоторых популярных моделей
МодельТипМаршруты
Seedance 2.5videoпять маршрутов
Seedance 2.0videoтри маршрута
Kling 3.0videoдва маршрута
Veo 3.1 Fastvideoдва маршрута
Veo 3.1videoдва маршрута
Wan 3.0videoтри маршрута
Nano Banana Proimageодин маршрут
GPT Image 2imageдва маршрута

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

Цены и кредиты

Revana работает по принципу оплаты по факту использования. Нет подписки, мест и ежемесячного минимума: вы покупаете предоплаченные кредиты пакетами по $10, $50, $100, $500, $1000 или $5000 и тратите их на любую модель по её указанной цене.

  • Большинство моделей видео тарифицируются за секунду видео, по разрешению и, у некоторых моделей, по тому, включён ли звук.
  • Модели изображений тарифицируются за изображение, по размеру.
  • Стоимость резервируется при отправке, списывается, когда задача завершилась успешно, и освобождается, когда она завершилась ошибкой.

На странице цен перечислены цены всех моделей. Наши руководства показывают, сколько стоят типичные задачи на Seedance 2.0, Veo 3.1 и Kling 3.0.

Читайте каталог в коде

Полный каталог — публичный JSON-файл по адресу https://revana.si/data/models.json. Основные поля каждой модели:

Поля в models.json
ПолеЧто содержит
idстрока, которую нужно отправлять как model
name, makerотображаемое название и компания, создающая модель
kindvideo or image
tasksчто принимает модель, например text_to_video или image_to_video
optionsразрешения, соотношения сторон, длительности, звук и лимит входных изображений
priceединица (за секунду, за изображение или за задачу) и цена для каждого варианта
routesсколько маршрутов обслуживают модель

Например, чтобы вывести все модели, которые умеют делать видео из текста:

Shell
# Every model that can make a video from a text prompt
curl -s https://revana.si/data/models.json \
  | jq -r '.models[] | select(any(.tasks[]; . == "text_to_video")) | .id'

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

Что нужно знать перед переходом

  • Параметры различаются по моделям. Названия полей общие, но каждая модель принимает свои значения. У Kling 3.0, например, нет параметра соотношения сторон. Проверьте страницу модели, прежде чем менять строку model.
  • Ссылки на результат истекают. Скачивайте готовые файлы и храните их в собственном хранилище.
  • Модель выбираете вы. Маршрутизация меняет, где выполняется задача, но никогда — какая модель её выполняет. Переход на другую модель — решение вашего кода.
  • Цены могут меняться. Каталог всегда показывает актуальные цены, а цена каждой задачи фиксируется в момент отправки.

Готовы попробовать? Получите API-ключ, посмотрите модели или начните с быстрого старта.

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

Есть ли один API для всех моделей AI-видео?

Revana даёт один API-ключ, один формат запроса и один предоплаченный баланс для основных моделей видео и изображений, включая Seedance, Veo, Kling, Wan, Hailuo, Grok Imagine, Nano Banana и GPT Image. У каждой модели остаются свои параметры и цена.

Чем Revana похожа на OpenRouter?

OpenRouter даёт разработчикам один API для многих языковых моделей. Revana делает то же для моделей генерации видео и изображений: один ключ, один баланс и маршрутизация между несколькими источниками мощностей для одной и той же модели.

Что происходит, когда вышестоящий маршрут не срабатывает?

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

Переключится ли Revana на другую модель, если моя недоступна?

Нет. Роутер меняет маршрут, но никогда не меняет модель. Если хотите перейти на другую модель, сделайте это в своём коде, отправив новый запрос с другим id модели.

Как работает тарификация?

Вы покупаете предоплаченные кредиты пакетами от $10 до $5000 без подписки. Цена каждой задачи берётся из каталога, резервируется при отправке и списывается, только если задача завершилась успешно.

Как получить список моделей и цен в коде?

Загрузите https://revana.si/data/models.json. В нём указана каждая модель с id, разработчиком, задачами, параметрами, ценами и числом маршрутов.

Один ключ на весь каталог

Создайте ключ, пополните предоплаченный баланс и вызывайте любую модель видео или изображений одним и тем же запросом.