Como funciona

Uma API para todos os modelos de vídeo com IA

Se você conhece a OpenRouter para modelos de linguagem, a Revana é a mesma ideia para geração de vídeo e imagem: uma chave de API, um formato de requisição e um saldo pré-pago para Seedance, Veo, Kling, Wan, Nano Banana Pro, GPT Image 2 e o resto do catálogo, com fallback automático quando uma rota upstream falha.

O problema de chamar cada modelo diretamente

Cada criador de modelo mantém a sua própria API, com conta, chaves, formato de requisição, fluxo de status de jobs e cobrança próprios. Construir sobre três deles significa três integrações para manter, três saldos para recarregar e três conjuntos de códigos de erro para tratar. Alguns modelos são oferecidos por várias plataformas a preços diferentes, com limites diferentes e uma capacidade que vai e volta.

O custo aparece quando você quer testar um novo modelo, o que em 2026 acontece a cada poucos meses. Cada novo modelo significa mais uma integração antes mesmo de você poder ver se ele serve para o seu produto.

Como a Revana funciona

  1. Uma chave. Cadastre-se e crie uma chave de API no painel. Ela funciona para todos os modelos do catálogo.
  2. Uma requisição. Envie POST /v1/generations com um id model e um objeto input. Os nomes dos campos são os mesmos para todos os modelos: prompt, image_url, end_image_url, image_urls, resolution, duration, aspect_ratio e audio.
  3. Um preço antes de qualquer execução. O preço do job vem do catálogo e é reservado do seu saldo pré-pago. Um campo ou valor que o modelo não suporta é rejeitado com um 422 antes de qualquer cobrança. Você também pode definir max_cost_usd como teto.
  4. Roteamento. O roteador envia o job para a rota mais barata daquele modelo. Se a rota falhar ou estourar o tempo limite, o job passa para a próxima.
  5. Um formato de resultado. Consulte GET /v1/generations/{id}. Quando o status for succeeded, os arquivos estão em output.urls e o valor cobrado está em cost_usd. Se o job falhar, a reserva é liberada.

Os jobs são assíncronos: imagens costumam levar segundos, e vídeo leva de menos de um minuto a vários minutos. A documentação traz a referência completa de campos e os códigos de erro.

A mesma requisição em três modelos

Como o formato de requisição é compartilhado, comparar modelos é um loop. Este script envia um prompt ao Seedance 2.0, ao Veo 3.1 Fast e ao Wan 3.0, e depois imprime cada resultado e seu custo. Cada modelo mantém suas próprias opções, então escolha valores que os três aceitem; aqui são 720p, 8 segundos e 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"])

Nos preços do catálogo de outubro de 2026, os três jobs custam:

Preço da mesma requisição em três modelos
ModeloRequisiçãoPreço
Seedance 2.0720p, 8 s, som incluído na tarifa$1.20
Veo 3.1 Fast720p, 8 s, com som (preço separado)$0.80
Wan 3.0720p, 8 s, som incluído na tarifa$0.72

O max_cost_usd de 1.5 vale para os três. Um job que custaria mais que o seu teto não é executado.

Fallback entre rotas

Uma rota é uma fonte de capacidade upstream para um modelo. Muitos modelos da Revana têm mais de uma, e o roteador as usa em ordem:

  • A mais barata primeiro. Cada job vai para a rota de menor custo que aceita as suas opções.
  • A próxima em caso de falha. Se essa rota falhar ou estourar o tempo limite, o job passa automaticamente para a próxima rota. O campo attempts mostra quantas foram tentadas.
  • Mesmo modelo, mesmo preço. Toda rota atende o modelo que você pediu, pelo preço listado. O roteador nunca troca por um modelo diferente.
  • Uma só cobrança. Só a rota que dá certo é cobrada. Se todas as rotas falharem, o job termina como failed e não custa nada.
Número de rotas de alguns modelos populares
ModeloTipoRotas
Seedance 2.5videocinco rotas
Seedance 2.0videotrês rotas
Kling 3.0videoduas rotas
Veo 3.1 Fastvideoduas rotas
Veo 3.1videoduas rotas
Wan 3.0videotrês rotas
Nano Banana Proimageuma rota
GPT Image 2imageduas rotas

Um modelo com uma rota não pode fazer fallback. O fallback aumenta a chance de um job ser concluído, mas não é uma garantia de disponibilidade: trate os jobs failed no seu código, por exemplo tentando de novo mais tarde ou trocando você mesmo para outro modelo.

Preços e créditos

A Revana é pay as you go. Não há assinatura, assentos nem mínimo mensal: você compra crédito pré-pago em pacotes de $10, $50, $100, $500, $1,000 ou $5,000 e o gasta em qualquer modelo pelo preço listado.

  • A maioria dos modelos de vídeo tem preço por segundo de saída, por resolução e, em alguns modelos, conforme o som esteja ligado ou não.
  • Os modelos de imagem têm preço por imagem, por tamanho.
  • O preço é reservado quando você envia, cobrado quando o job dá certo e liberado quando ele falha.

A página de preços lista os preços de cada modelo. Nossos guias mostram quanto custam trabalhos comuns no Seedance 2.0, no Veo 3.1 e no Kling 3.0.

Leia o catálogo em código

O catálogo completo é um arquivo JSON público em https://revana.si/data/models.json. Os principais campos de cada modelo:

Campos do models.json
CampoO que contém
ida string a enviar como model
name, makernome de exibição e a empresa que faz o modelo
kindvideo or image
taskso que o modelo aceita, como text_to_video ou image_to_video
optionsresoluções, proporções, durações, som e o limite de imagens de entrada
pricea unidade (por segundo, por imagem ou por job) e o preço de cada opção
routesquantas rotas atendem o modelo

Por exemplo, para listar todos os modelos que podem fazer um vídeo a partir de texto:

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'

Use-o para criar um seletor de modelos, conferir as opções antes de enviar ou estimar o preço de um job na sua própria interface. Os mesmos dados alimentam a página de modelos.

O que saber antes de migrar

  • As opções variam por modelo. Os nomes dos campos são compartilhados, mas cada modelo aceita seus próprios valores. O Kling 3.0, por exemplo, não lista opção de proporção. Confira a página do modelo antes de mudar a string de model.
  • Os links de saída expiram. Baixe os arquivos finalizados e guarde-os no seu próprio armazenamento.
  • O modelo é escolha sua. O roteamento muda onde um job roda, nunca qual modelo o executa. Recorrer a um modelo diferente é uma decisão do seu código.
  • Os preços podem mudar. O catálogo sempre mostra os preços atuais, e o preço de cada job é fixado quando você o envia.

Pronto para testar? Obtenha uma chave de API, veja os modelos ou comece pelo início rápido.

Perguntas frequentes

Existe uma API para todos os modelos de vídeo com IA?

A Revana oferece uma chave de API, um formato de requisição e um saldo pré-pago para os principais modelos de vídeo e imagem, incluindo Seedance, Veo, Kling, Wan, Hailuo, Grok Imagine, Nano Banana e GPT Image. Cada modelo mantém suas próprias opções e seu próprio preço.

Em que a Revana se parece com a OpenRouter?

A OpenRouter oferece aos desenvolvedores uma API para muitos modelos de linguagem. A Revana faz o mesmo para modelos de geração de vídeo e imagem: uma chave, um saldo e roteamento entre várias fontes de capacidade para o mesmo modelo.

O que acontece quando uma rota upstream falha?

Se o modelo tem mais de uma rota, o roteador passa o job para a próxima rota pelo mesmo preço listado. Se todas as rotas falharem, o job termina como falho e o valor reservado é liberado.

A Revana troca por outro modelo se o meu estiver indisponível?

Não. O roteador muda a rota, nunca o modelo. Se você quiser recorrer a outro modelo, faça isso no seu código, enviando uma nova requisição com outro id de modelo.

Como funciona a cobrança?

Você compra crédito pré-pago em pacotes de $10 a $5,000, sem assinatura. Cada job tem o preço definido pelo catálogo, é reservado quando você envia e só é cobrado se der certo.

Como obtenho a lista de modelos e preços em código?

Busque https://revana.si/data/models.json. Ele lista cada modelo com seu id, criador, tarefas, opções, preços e número de rotas.

Uma chave para o catálogo inteiro

Crie uma chave, adicione crédito pré-pago e chame qualquer modelo de vídeo ou imagem com a mesma requisição.