APIMaster.ai

API de geração de vídeo Sora 2

Chame sora-2 e sora-2-pro no APIMaster.ai para texto-para-vídeo e imagem-para-vídeo. Polling e downloads usam URLs do APIMaster.

Geração de vídeo Sora 2

Gere vídeos com Sora 2 através do APIMaster. Modelos suportados: sora-2, sora-2-pro. O nome sora mapeia para sora-2.

URL Base: https://apimaster.ai/v1 é https://apimaster.ai/v1. Use https://apimaster.ai/v1/videos/...não adicione outro /v1.

Preços (20% de desconto sobre o oficial, por segundo)

A cobrança é duração (segundos) × taxa por segundo.

Modelo Resolução Oficial APIMaster
sora-2 720p $0.10 / sec $0.08 / sec
sora-2-pro 720p $0.30 / sec $0.24 / sec
sora-2-pro 1024p $0.50 / sec $0.40 / sec
sora-2-pro 1080p $0.70 / sec $0.56 / sec

Exemplo: 4 segundos de sora-2 em 720p ≈ $0,32 ($0,08 × 4).

Enviar uma tarefa

Dois pontos de entrada — use qualquer um.

Opção A (recomendada): JSON nativo

POST https://apimaster.ai/v1/videos/generations

Campo Tipo Obrigatório Descrição
model string sim sora-2 / sora-2-pro (ou sora)
prompt string sim Descrição do vídeo
duration integer não Comum: 4 / 8 / 12 / 16 / 20, padrão 4
resolution string não sora-2: 720p; sora-2-pro: também 1024p / 1080p, padrão 720p
aspect_ratio string não 16:9 / landscape ou 9:16 / portrait, padrão 16:9
image_urls string[] não Imagem-para-vídeo; 1 URL pública recomendada
curl -s "https://apimaster.ai/v1/videos/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2",
    "prompt": "A waterfall forming a rainbow, cinematic",
    "duration": 4,
    "resolution": "720p",
    "aspect_ratio": "16:9"
  }'

Resposta de envio

{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_xxxxxxxx"
    }
  ]
}

Defina aspect_ratio explicitamente para imagem-para-vídeo (retrato → 9:16). O padrão é 16:9.

Opção B: compatível com OpenAI Video

POST https://apimaster.ai/v1/videos (JSON ou multipart)

Campo Tipo Obrigatório Descrição
model string sim sora-2 / sora-2-pro (ou sora)
prompt string sim Descrição do vídeo
seconds string não Duração, ex.: "4"; o inteiro duration também funciona, padrão 4
size string não Tamanho do pixel — resolução + orientação (tabela abaixo), padrão 720x1280
images string[] não Imagem-para-vídeo; no máximo 1 URL. input_reference (único) também funciona

Valores de size

Modelo Paisagem (16:9) Retrato (9:16)
sora-2 1280x720 (720p) 720x1280 (720p)
sora-2-pro 1280x720 (720p) / 1792x1024 (1024p) 720x1280 (720p) / 1024x1792 (1024p)

size inválido (ex.: 1920x1080) retorna 400 invalid_size. O caminho OpenAI tem limite máximo de 1024p; use a Opção A com resolution: "1080p" para 1080p.

curl -s "https://apimaster.ai/v1/videos" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2",
    "prompt": "A waterfall forming a rainbow, cinematic",
    "seconds": "4",
    "size": "1280x720"
  }'

Resposta de envio

{
  "id": "task_xxxxxxxx",
  "object": "video",
  "model": "sora-2",
  "status": "queued"
}

Use task_id / id de qualquer endpoint para polling e download.

Verificar status da tarefa

GET https://apimaster.ai/v1/videos/{task_id}

curl -s "https://apimaster.ai/v1/videos/task_xxxxxxxx" \
  -H "Authorization: Bearer YOUR_API_KEY"

Exemplo concluído:

{
  "id": "task_xxxxxxxx",
  "status": "completed",
  "url": "https://apimaster.ai/v1/videos/task_xxxxxxxx/content"
}

Baixe o MP4 via https://apimaster.ai/v1/videos/{task_id}/content.

Baixar vídeo

curl -L "https://apimaster.ai/v1/videos/task_xxxxxxxx/content" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -o output.mp4

Exemplos de imagem-para-vídeo

Opção A:

curl -s "https://apimaster.ai/v1/videos/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2",
    "prompt": "Slow push-in, gentle breeze in the hair",
    "duration": 8,
    "resolution": "720p",
    "aspect_ratio": "9:16",
    "image_urls": ["https://example.com/reference.jpg"]
  }'

Opção B (campo images):

curl -s "https://apimaster.ai/v1/videos" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2",
    "prompt": "Slow push-in, gentle breeze in the hair",
    "seconds": "8",
    "images": ["https://example.com/reference.jpg"]
  }'

Dicas de polling

  • Aguarde 10–20 segundos após o envio; depois verifique a cada 3–5 segundos
  • Tempo típico: 1–3 minutos
  • Salve o MP4 imediatamente após a conclusão

Códigos de erro

code Significado
400 Parâmetros inválidos (ex.: invalid_size)
401 Chave de API inválida
402 Saldo insuficiente
429 Limite de taxa excedido
500 / 502 Erro temporário, tente novamente

Relacionados