Skip to content

Geração de mídia (vídeos, fotos, músicas)

NordRouter pode gerar imagens, vídeos e músicas - com a mesma chave sk-nr-… e com o mesmo equilíbrio dos modelos de texto. Pagamento pelo fato, sem fichas ou pacotes.

Como funciona

A geração é assíncrona (vídeo e música levam de segundos a alguns minutos):

  1. Crie uma tarefa - POST /media/generate com modelo e parâmetros.
  2. Aguarde o resultado - enquete GET /media/job/:id até que status se torne done.
  3. Pegue o arquivo - via result_url (link para nordrouter.com).

1. Crie uma tarefa

bash
curl https://nordrouter.com/media/generate \
  -H "Authorization: Bearer sk-nr-ВАШ-КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "image/nano-banana-2",
    "input": { "prompt": "уютная хижина в зимнем лесу, акварель", "resolution": "2K" }
  }'

Resposta:

json
{ "id": "beefb531-…", "model": "image/nano-banana-2", "status": "processing",
  "poll": "https://nordrouter.com/media/job/beefb531-…" }

2. Aguarde o resultado

bash
curl https://nordrouter.com/media/job/beefb531-…
json
{ "id": "beefb531-…", "status": "done",
  "result_url": "https://nordrouter.com/media/file/beefb531-…",
  "cost_usd": 0.052, "error": null }

status: processingdone (ou failed). O arquivo finalizado está disponível em result_url.

🎵 Suno gera duas trilhas por tarefa: a primeira em result_url, a segunda em result_url_2 (mesmo formato de link). O preço é para a tarefa completa, ambas as faixas já estão incluídas.

Webhooks (em vez de enquetes)

Caso não queira fazer a enquete, passe o campo callback_url para POST /media/generate, e enviaremos o resultado via solicitação POST quando a tarefa for concluída:

bash
curl https://nordrouter.com/media/generate \
  -H "Authorization: Bearer sk-nr-ВАШ-КЛЮЧ" -H "Content-Type: application/json" \
  -d '{
    "model": "image/nano-banana-2",
    "input": { "prompt": "…" },
    "callback_url": "https://ваш-сервер.com/webhooks/nordrouter",
    "callback_secret": "ваш-секрет"
  }'

Quando a tarefa for para done/failed, será enviado um POST para callback_url com o mesmo corpo que GET /media/job/:id envia, mais o campo event:

json
{ "event": "media.completed", "id": "beefb531-…", "status": "done",
  "result_url": "https://nordrouter.com/media/file/beefb531-…", "cost_usd": 0.052, "error": null }

event: media.completed ou media.failed.

Verificação de assinatura. Se você definir callback_secret, o cabeçalho X-NR-Signature conterá sha256=<hmac> - HMAC-SHA256 do corpo da solicitação em seu segredo. Verifique se a solicitação é nossa:

python
import hmac, hashlib
expected = "sha256=" + hmac.new(secret.encode(), raw_body, hashlib.sha256).hexdigest()
assert hmac.compare_digest(expected, request.headers["X-NR-Signature"])

Requisitos e confiabilidade:

  • callback_url - apenas https:// e apenas o endereço público (IPs internos/privados são rejeitados com um erro 400).
  • Até 4 tentativas de entrega com pausa crescente; responda 2xx, caso contrário iremos repetir.
  • O Webhook não cancela a votação - você pode combiná-lo ou usar GET /media/job/:id como opção alternativa.

Mais detalhes

Ciclo de vida da tarefa, verificação de assinatura com exemplos e confiabilidade de entrega - na página Tarefas e webhooks.

3. Lista de modelos e preços

GET /media/models retorna os modelos disponíveis, seus parâmetros e estimativas de custos:

json
{ "models": [
    { "id": "image/nano-banana-2", "type": "image",
      "fields": [ {"name":"prompt","type":"textarea"}, {"name":"resolution","type":"select","options":["1K","2K","4K"]} ],
      "est_usd": 0.052 }
  ], "retention_days": 14 }

Guia completo

Todos os modelos com parâmetros input e preço estão na página Mídia: todos os modelos e faturamento.

Modelos

95 modelos disponíveis - a lista atual completa com parâmetros e preço está sempre em GET /media/models. Famílias principais:

TipoFamíliaModos≈ preço
🖼 ImagensNano Banana / 2 / Pro (image/nano-banana*)texto → imagem, edição, até 4Ka partir de US$ 0,025
🖼Imagen 4 Fast / Ultra (image/imagen4*)texto → imagemde US$ 0,025
🖼Imagem GPT 1.5 / 2 (image/gpt-image-*)texto → imagem, edição, até 4Ka partir de US$ 0,025
🖼Flux 2 Pro / Flex (image/flux2-*)texto → imagem, editarde US$ 0,03
🖼Seedream v4 / 4.5 / 5 Lite (image/seedream-*)texto → imagem, editara partir de US$ 0,04
🖼Ideogram v3 / Character (image/ideogram-*)texto, remix, personagema partir de US$ 0,02
🖼Qwen / Wan Image / Grok / Z-Imagetexto→foto, editara partir de US$ 0,01
🛠 UtilitáriosTopaz / Recraft (image/*upscale*, image/recraft-remove-bg)upscale para 8K, remoção de fundoa partir de US$ 0,01
🎬 VídeoVeo 3.1 Lite / Rápido / Qualidade (video/veo-3.1-*)texto/foto →videoa partir de US$ 0,19
🎬Kling 2.1 → 3.0 (video/kling-*)texto/foto→video, movimento, avatares, até 4K e 15sa partir de $ 0,16
🎬Wan 2.2 → 2.7 (video/wan-*)texto/foto/vídeo →video, fala para vídeoa partir de US$ 0,25
🎬Seedance 1.5 / 2 / Fast / Mini (video/seedance-*)texto/foto →video, até 4K, soma partir de US$ 0,06
🎬Hailuo 02 / 2.3 (video/hailuo-*)texto/foto →videoa partir de US$ 0,08
🎬HappyHorse 1.0 / 1.1 (video/happyhorse-*)texto/foto/referência →video, editar vídeoa partir de US$ 0,70
🎬Grok Video / 1.5 (video/grok-*)texto/foto →video, até 30sa partir de US$ 0,06
🎬Gemini Omni (video/gemini-omni)vídeo com som, até 4Ka partir de US$ 0,39
🗣 AvataresKling Avatar, OmniHuman, InfiniteTalk, Lip Syncfoto+áudio→vídeo falandoa partir de US$ 0,19
🎵 MúsicaSuno V4–V5.5 (music/suno-v5)texto/estilo →2 faixas~$0,08
🎙 DublagemElevenLabs Turbo / Multilingual (audio/elevenlabs-*)texto→fala, isolamento de vozde US$ 0,04/1.000 dígitos.

Opções

Os parâmetros dependem do modelo - a lista exata está em /media/models (campo fields: nome, tipo, opções, padrão). Geral:

  • prompt - descrição (para todos os modelos generativos).
  • resolution - 1K/2K/4K (fotos) ou 480p/720p/1080p/4k (vídeo). O preço depende da resolução.
  • aspect_ratio - 1:1, 16:9, 9:16, etc.
  • duration — duração do vídeo em segundos (para a maioria dos 5/10, para Kling 3.0 e Wan 2.7 até 15, para Grok até 30). Os vídeos são cobrados por segundo.
  • sound / generate_audio - faixa de áudio (Kling, Seedance). O som é mais caro – a classificação em /media/estimate leva isso em consideração.
  • mode / quality / rendering_speed - nível de qualidade (Kling 3.0 std/pro/4K, imagem GPT medium/high, ideograma TURBO/BALANCED/QUALITY).
  • image - imagem de entrada (editar, foto →video; enviar link direto ou baixar via /media/upload).
  • video_url / audio_url - entrada de vídeo/áudio (edição de vídeo, sincronização labial, avatares).
  • Para música: title, style, instrumental, version (V4V5_5).

O preço exato de uma configuração específica antes do lançamento é mostrado por POST /media/estimate com o mesmo model + input.

Custo e armazenamento

  • Debitado do seu saldo em USD pelo custo real de geração - o valor exato pode ser visto em cost_usd após a conclusão.
  • Geração sem sucesso (erro do provedor) não cobrada - a reserva é devolvida automaticamente.
  • Os arquivos são armazenados em nossos servidores por tempo limitado (veja retention_days em /media/models) - baixe para salvar.