API Sora 2 Pro

Integre a API Sora 2 Pro

Construa fluxos de trabalho de texto para vídeo, imagem para vídeo e storyboard com polling previsível e controle de créditos.

O que a API Sora 2 Pro oferece

Tudo o que você precisa para lançar pipelines Sora 2 Pro prontos para produção.

Cinco variantes de modelo

Escolha sora-2 texto/imagem ou sora-2-pro texto/imagem/storyboard com base na qualidade e custo.

Suporte a storyboard

Defina narrativas multi-cena com shots[] e durações por cena.

Respostas unificadas

Todos os endpoints retornam code/message/data, mesmo quando o status HTTP é 200 em erros.

Autenticação e URL Base

URL Base: https://freesoragenerator.com. Autentique com uma chave de API ou um cookie de sessão logada.

  • Authorization: Bearer [TOKEN] (chave de API sk- ou JWT), ou envie um cookie de sessão.
  • Envie Content-Type: application/json com corpos POST.
  • A maioria dos erros ainda retorna HTTP 200; sempre inspecione o campo code.

Endpoints principais

Crie tarefas com /sora-pro, depois consulte check-result para status.

Criar tarefa de geração

Valida entrada, deduz créditos, cria uma tarefa e retorna taskId.

Método: POSTCaminho: /api/v1/video/sora-pro

Parâmetros do payload

  • Obrigatório. Um de sora-2-text-to-video, sora-2-image-to-video, sora-2-pro-text-to-video, sora-2-pro-image-to-video, sora-2-pro-storyboard.
  • Condicional. Obrigatório para todos os modelos exceto sora-2-pro-storyboard.
  • Condicional. URL de dados Base64 como data:image/png;base64,... Obrigatório para image-to-video se não houver imageUrl.
  • Condicional. URL pública de imagem usada quando imageData não é fornecido.
  • Opcional. portrait ou landscape. Padrão: landscape.
  • Opcional. 10, 15 ou 25 (apenas storyboard). Padrões variam por modelo.
  • Opcional. standard ou high. Apenas para modelos Pro texto/imagem.
  • Opcional. Remove marca d'água para modelos não-storyboard. Padrão: true.
  • Condicional. Obrigatório para sora-2-pro-storyboard. Array de '{ Scene, duration }'.

Notas

  • imageData tem precedência sobre imageUrl quando ambos são fornecidos.
  • prompt é opcional para storyboard e não é enviado ao provedor; use shots para conteúdo.
  • nFrames é normalizado para os valores permitidos por modelo.
  • removeWatermark é true por padrão para modelos não-storyboard.
  • shots deve incluir Scene (S maiúsculo) e duration > 0.

Exemplos de requisições

Texto para vídeo
curl -X POST https://freesoragenerator.com/api/v1/video/sora-pro \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2-pro-text-to-video",
    "prompt": "A cinematic shot of a futuristic city at sunset.",
    "aspectRatio": "landscape",
    "nFrames": "10",
    "size": "high",
    "removeWatermark": true
  }'
Imagem para vídeo
curl -X POST https://freesoragenerator.com/api/v1/video/sora-pro \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2-image-to-video",
    "prompt": "Turn this image into a dynamic 10s clip.",
    "imageUrl": "https://example.com/reference.png",
    "aspectRatio": "portrait",
    "nFrames": "10"
  }'
Storyboard
curl -X POST https://freesoragenerator.com/api/v1/video/sora-pro \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2-pro-storyboard",
    "shots": [
      { "Scene": "Establishing shot of a city skyline at dusk", "duration": 5 },
      { "Scene": "Close-up of a runner splashing through puddles", "duration": 5 }
    ],
    "aspectRatio": "landscape",
    "nFrames": "10"
  }'

Exemplo de resposta

{
  "code": 0,
  "message": "ok",
  "data": {
    "taskId": "281e5b0*********************f39b9"
  }
}

Consultar status da tarefa

Busca status, progresso e URLs de resultado por taskId.

Método: POSTCaminho: /api/video-generations/check-result

Parâmetros do payload

  • Obrigatório. O taskId retornado pela criação.

Notas

  • Valores de status: pending | running | succeeded | failed | cancelled.
  • result_url e result_urls retornam os links finais do vídeo quando prontos.

Exemplo de requisição

curl -X POST https://freesoragenerator.com/api/video-generations/check-result \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taskId": "281e5b0*********************f39b9"
  }'

Exemplo de resposta

{
  "code": 0,
  "message": "Success",
  "data": {
    "status": "running",
    "progress": 35,
    "result_url": "https://your-domain.com/storage/videos/xxx.mp4",
    "result_urls": [
      "https://your-domain.com/storage/videos/xxx.mp4"
    ],
    "failure_reason": "",
    "error_message": null
  }
}

Obter créditos do usuário

Verifique o saldo de créditos atual antes de enviar tarefas.

Método: POSTCaminho: /api/get-user-credits

Notas

  • Endpoint opcional; útil para verificações prévias.
  • Retorna left_credits e flags is_vip.

Exemplo de requisição

curl -X POST https://freesoragenerator.com/api/get-user-credits \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Exemplo de resposta

{
  "code": 0,
  "message": "ok",
  "data": {
    "left_credits": 120,
    "is_vip": false
  }
}

Códigos de erro comuns

Erros são expostos através do campo code no corpo da resposta.

  • 401: Não autorizado
  • 402: Créditos insuficientes
  • -1: Parâmetro de modelo inválido
  • -1: Prompt é obrigatório
  • -1: Imagem é obrigatória para image-to-video
  • -1: Shots é obrigatório para storyboard
  • -1: Falha ao fazer upload da imagem
  • -1: Falha ao criar registro de geração de vídeo

Referência de créditos

Créditos variam por modelo, tamanho e nFrames. Use esta tabela como referência.

ModeloParâmetrosCréditos
sora-2-text-to-video1020
sora-2-text-to-video1530
sora-2-image-to-video1020
sora-2-image-to-video1530
sora-2-pro-text-to-videostandard + 10375
sora-2-pro-text-to-videostandard + 15675
sora-2-pro-text-to-videohigh + 10825
sora-2-pro-text-to-videohigh + 151.575
sora-2-pro-image-to-videostandard + 10375
sora-2-pro-image-to-videostandard + 15675
sora-2-pro-image-to-videohigh + 10825
sora-2-pro-image-to-videohigh + 151.575
sora-2-pro-storyboard10375
sora-2-pro-storyboard15675
sora-2-pro-storyboard25675

1. Criar a tarefa

POST /api/v1/video/sora-pro com seu modelo e payload.

2. Acompanhar progresso

Consulte /api/video-generations/check-result até que o status seja succeeded ou failed.

3. Verificar créditos

Opcionalmente chame /api/get-user-credits antes de enviar grandes lotes.

Perguntas frequentes

Posso usar chaves de API ou cookies de sessão?

Sim. Envie Authorization: Bearer [TOKEN] (chave de API ou JWT) ou um cookie de sessão logada.

Como formato as cenas do storyboard?

Forneça shots como um array de '{ Scene, duration }' onde Scene é capitalizado e duration é em segundos.

Por que os créditos diferem por modelo?

Créditos escalam com nFrames para todos os modelos; modelos Pro também variam por tamanho.

Recursos úteis

Comece com a API Sora 2 Pro

Gere uma chave de API e lance seu primeiro fluxo de trabalho Sora 2 Pro hoje.