Vídeo
Sora 2 Pro Official video
OpenAI Sora 2 Pro Official — 720p/1024p/1080p. Text + image-to-video.
Categoria: Criação · sora-2-pro-official
Como usar & limites
- Texto→vídeo e imagem→vídeo (image_urls[0] vira o primeiro frame).
- Durações fixas: 4, 8, 12, 16 ou 20 segundos.
- Resolução: 720p, 1024p ou 1080p.
- Proporção: auto, 16:9 ou 9:16 — auto só é válido quando há imagem de referência.
- image_urls aceita no máximo 1 imagem; prompt obrigatório.
Capacidades
O que este modelo suporta, direto do schema — sem preços, sem detalhes de infraestrutura.
| Capacidade | Valor |
|---|---|
billing_unit Unidade de cobrança | per_video |
text_to_video Texto → vídeo | Sim |
image_to_video Imagem → vídeo | Sim |
allowed_resolutions Resoluções permitidas | 720p, 1024p, 1080p |
Parâmetros
Campos aceitos em params (ou de primeira classe, quando aplicável) para POST /generations.
| Nome | Rótulo | Tipo | Obrigatório | Padrão | Opções | Mín / Máx | Descrição |
|---|---|---|---|---|---|---|---|
prompt | Prompt | textarea | Obrigatório | — | — | — | Descrição do vídeo (obrigatório). |
aspect_ratio | Aspect ratio | select | Opcional | 16:9 | auto · 16:9 · 9:16 | — | Proporção: auto, 16:9 ou 9:16 (auto exige imagem de referência). |
resolution | Resolution | select | Opcional | 1024p | 720p · 1024p · 1080p | — | Resolução: 720p, 1024p ou 1080p. |
image_urls | Reference image (max 1) | multi_select | Opcional | — | — | — – 1 | Uma imagem de referência opcional (máx. 1); habilita imagem→vídeo e vira o primeiro frame. |
duration | Duration | select | Opcional | 8 | — | — | Duração fixa em segundos: 4, 8, 12, 16 ou 20. |
Exemplo de requisição
curl -X POST https://caranguejo.art/api/v1/dev/generations \
-H "Authorization: Bearer $CK" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2-pro-official",
"prompt": "Plano de drone cinematográfico atravessando uma floresta enevoada ao amanhecer, raios de sol entre as árvores.",
"params": {
"duration": 8,
"aspect_ratio": "16:9",
"resolution": "1024p"
}
}'
const res = await fetch("https://caranguejo.art/api/v1/dev/generations", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.CK,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "sora-2-pro-official",
"prompt": "Plano de drone cinematográfico atravessando uma floresta enevoada ao amanhecer, raios de sol entre as árvores.",
"params": {
"duration": 8,
"aspect_ratio": "16:9",
"resolution": "1024p"
}
}),
});
const { data } = await res.json();
Exemplo de resposta
{
"id": "9f0c1a7e-…",
"object": "generation",
"model": "sora-2-pro-official",
"type": "video",
"status": "completed",
"output": {
"assets": [
{
"url": "https://media.caranguejo.art/outputs/example.mp4",
"type": "video"
}
]
}
}
O custo real do job é retornado em credits_charged na resposta concluída — consulte GET /balance para o saldo da conta.
Erros comuns deste tipo de job:
insufficient_credits | Saldo insuficiente para cobrir o job. |
content_policy_violation | Prompt ou mídia recusados por política de conteúdo. |
generation_timeout | O job excedeu o tempo máximo de processamento. |
rate_limited | Limite de requisições por minuto excedido. |
invalid_input | Parâmetro obrigatório ausente ou fora do schema do modelo. |
generation_failed | Falha genérica no processamento do job. |