Pular para o conteúdo
ReigniterDocs
Voltar ao site

Início rápido

Este guia te leva de uma chave API a um MP4 finalizado no disco. Você precisa de uma conta no plano Agency e alguns minutos enquanto o vídeo é renderizado.

  1. Pegue uma chave API

    No app, abra chaves > API conta, crie uma chave e copie. Depois armazene em uma variável de ambiente para que ela fique fora do seu código:

    Janela do terminal
    export REIGNITER_API_KEY="emp_..."

    Veja Autenticação para detalhes.

  2. Confere a chave

    Ligue para GET /v1/me. Um 200 significa que a chave funciona. A resposta também mostra seu saldo de crédito.

    Janela do terminal
    curl https://reigniter.ai/v1/me \
    -H "Authorization: Bearer $REIGNITER_API_KEY"
    {
    "user_id": "3f1c2a9e-8b7d-4c1e-9f0a-2d6b5e4c3a21",
    "email": "[email protected]",
    "name": "Sam",
    "credits_remaining": 42
    }
  3. Comece um vídeo

    Ligue para POST /v1/render com um brief. Reigniter planeja as cenas e inicia a renderização. Envie um Idempotency-Key com um valor novo, para que uma retentativa de rede não possa iniciar o mesmo vídeo duas vezes.

    Janela do terminal
    curl https://reigniter.ai/v1/render \
    -H "Authorization: Bearer $REIGNITER_API_KEY" \
    -H "Content-Type: application/json" \
    -H "Idempotency-Key: $(uuidgen)" \
    -d '{
    "brief": "A 20 second advert for Northwind Coffee, a small-batch roaster. Warm, early-morning mood. End on the line: Roasted this week, at your door by Friday.",
    "kind": "ad",
    "duration_sec": 20,
    "aspect": "9:16",
    "quality": "draft"
    }'

    Você ganha 202 Accepted e um job_id:

    {
    "job_id": "7d2e4b10-5c3a-4f8e-a1b2-9c0d8e7f6a54",
    "status": "starting",
    "title": "Northwind Coffee, at your door by Friday",
    "scenes": 4,
    "credits_used": 12,
    "watermarked": false,
    "poll_url": "/v1/job/7d2e4b10-5c3a-4f8e-a1b2-9c0d8e7f6a54",
    "note": "Render started. Poll poll_url, or subscribe to video.completed via POST /api/webhooks/hooks."
    }
  4. Espere o trabalho terminar

    Consulta GET /v1/job/{id} a cada poucos segundos até status succeeded, failed ou cancelled. Uma renderização geralmente leva alguns minutos.

    Janela do terminal
    JOB_ID="7d2e4b10-5c3a-4f8e-a1b2-9c0d8e7f6a54"
    while true; do
    JOB=$(curl -s "https://reigniter.ai/v1/job/$JOB_ID" \
    -H "Authorization: Bearer $REIGNITER_API_KEY")
    STATUS=$(echo "$JOB" | jq -r .status)
    echo "$STATUS $(echo "$JOB" | jq -r .progress)%"
    case "$STATUS" in succeeded|failed|cancelled) break ;; esac
    sleep 10
    done
    echo "$JOB"

    Um trabalho finalizado é assim:

    {
    "job_id": "7d2e4b10-5c3a-4f8e-a1b2-9c0d8e7f6a54",
    "status": "succeeded",
    "progress": 100,
    "video_url": "https://cdn.example.com/exports/7d2e4b10.mp4",
    "error": null
    }

    Em vez de pesquisar, você pode assinar um webhook para video.completed.

  5. Baixe o vídeo

    video_url é um link direto para o MP4. Baixe e armazene do seu lado.

    Janela do terminal
    curl -L -o northwind.mp4 "$(echo "$JOB" | jq -r .video_url)"
  • 401: verifique a chave e o prefixo Bearer . Veja Autenticação.
  • 402: a conta não está no plano Agency ou está sem créditos. Leia code.
  • 422 BRAND_REQUIRED ou NO_ANCHOR, ou 400 PRESENTER_REQUIRED: o render precisa de uma marca, uma foto de produto ou um apresentador. Veja Criação de vídeos.
  • 429: desacelere. Veja Limites.

Todo status e code está listado em Erros.