- Versão 1 (modo clássico): suporta parâmetros como
duration(10/15/25 segundos),orientation(paisagem/retrato),size(small/large para resolução), imagens de referênciaimage_urls, e link de personagemcharacter_url. - Versão 2 (modo parceiro): suporta
seconds(4/8/12 segundos), resolução em pixelssize(ex: 1280x720), imagens de referênciainput_reference, entre outros.
Processo de Solicitação
Para usar a API, é necessário solicitar o serviço correspondente na página Sora Videos Generation API. Após acessar, clique no botão “Acquire”, conforme mostrado:
Se ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login, onde poderá se registrar e entrar. Após o login, retornará automaticamente à página atual.
Na primeira solicitação, haverá uma cota gratuita para uso da API.
Uso Básico (Versão 1)
Primeiro, entenda o uso básico da Versão 1, que consiste em fornecer o promptprompt, um array de URLs de imagens de referência image_urls e o modelo model para obter o resultado processado, conforme ilustrado:

accept: formato desejado da resposta, aqui definido comoapplication/json(formato JSON).authorization: chave de acesso à API, selecionável após a solicitação.
model: modelo para geração do vídeo, suportandosora-2(modo padrão) esora-2-pro(modo HD). Osora-2-prosuporta vídeos de 25 segundos, enquantosora-2suporta 10 e 15 segundos.size: resolução do vídeo,smallpara padrão elargepara HD (apenas Versão 1).duration: duração do vídeo, suportando 10, 15 e 25 segundos (25 segundos apenas parasora-2-pro, Versão 1).orientation: orientação do vídeo,landscape(paisagem) ouportrait(retrato) (apenas Versão 1).image_urls: array de URLs de imagens de referência para geração de vídeo a partir de imagens (apenas Versão 1).character_url: link do personagem, vídeos não podem conter pessoas reais (apenas Versão 1).character_start/character_end: segundos de início e fim da aparição do personagem, intervalo de 1 a 3 segundos (apenas Versão 1).prompt: prompt de texto (obrigatório).callback_url: URL para callback assíncrono.version: versão da API,"1.0"(padrão) ou"2.0".

success: status da tarefa de geração do vídeo.task_id: ID da tarefa.trace_id: ID de rastreamento da tarefa.data: lista de resultados da tarefa.id: ID do vídeo gerado.video_url: URL do vídeo gerado.state: estado da tarefa.
data para obter o vídeo gerado.
Também é possível copiar o código gerado para integração, por exemplo, CURL:
Tarefa de Geração de Vídeo a partir de Imagem (Versão 1)
Para gerar vídeo a partir de imagem, o parâmetroimage_urls deve conter URLs das imagens de referência, conforme:
image_urls: array de URLs das imagens de referência para a tarefa. Não envie imagens reais com rostos humanos para evitar falha na tarefa.


Tarefa de Geração de Vídeo com Personagem (Versão 1)
Para gerar vídeo com personagem, o parâmetrocharacter_url deve conter o link do vídeo para criação do personagem. O vídeo não pode conter pessoas reais para evitar falha.
character_url: link do vídeo para criação do personagem, sem pessoas reais.


Modo Versão 2.0
Além do modo Versão 1.0, a API suporta o modo Versão 2.0, ativado ao definir o parâmetroversion como "2.0". Este modo suporta vídeos mais curtos e controle de resolução em nível de pixel.
Parâmetros da Versão 2.0
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
version | string | Sim | Definir como "2.0" |
prompt | string | Sim | Prompt para geração do vídeo |
model | string | Não | sora-2 (padrão) ou sora-2-pro |
duration | integer | Não | Duração do vídeo: 4 (padrão), 8, 12 segundos |
size | string | Não | Resolução: 720x1280 (padrão), 1280x720, 1024x1792, 1792x1024 |
image_urls | array | Não | Array de URLs de imagens de referência, usa apenas a primeira, deve ter tamanho compatível com size |
callback_url | string | Não | URL para callback assíncrono |
Exemplo Básico
Uso de Imagem de Referência (Versão 2.0)
No modo Versão 2.0, pode-se passar imagens de referência viaimage_urls (apenas a primeira imagem é usada):
Nota: A dimensão da imagem de referência deve corresponder ao parâmetrosize. Por exemplo, sesizefor1280x720, a imagem deve ter 1280×720 pixels.
Comparação dos Parâmetros entre Versão 1.0 e 2.0
| Parâmetro | Versão 1.0 | Versão 2.0 |
|---|---|---|
version | 1.0 (padrão) | 2.0 |
prompt | ✅ | ✅ |
model | ✅ sora-2 / sora-2-pro | ✅ sora-2 / sora-2-pro |
duration | ✅ 10/15/25 segundos | ✅ 4/8/12 segundos |
orientation | ✅ landscape/portrait | ❌ |
size | ✅ small/large | ✅ 720x1280/1280x720/1024x1792/1792x1024 |
image_urls | ✅ múltiplas imagens | ✅ apenas a primeira |
character_url | ✅ | ❌ |
callback_url | ✅ | ✅ |
Callback Assíncrono
Como a geração de vídeos pode levar de 1 a 2 minutos, a API suporta callback assíncrono para evitar conexões HTTP longas que consomem recursos. O fluxo é: o cliente envia a requisição com o campocallback_url. A API responde imediatamente com um task_id. Quando a tarefa terminar, a API envia um POST JSON para o callback_url com o resultado, incluindo o task_id para associação.
Exemplo de uso:
O webhook é um serviço que recebe requisições HTTP. Para demonstração, pode-se usar o site público https://webhook.site/, que gera uma URL de webhook, como:
https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa
Configure o campo callback_url com essa URL e preencha os demais parâmetros, conforme a imagem:

Exemplo do conteúdo recebido:
task_id permite correlacionar o resultado com a solicitação inicial.
Tratamento de Erros
Ao chamar a API, erros podem ocorrer e serão retornados códigos e mensagens correspondentes, por exemplo:400 token_mismatched: requisição inválida, parâmetros ausentes ou inválidos.400 api_not_implemented: requisição inválida, parâmetros ausentes ou inválidos.401 invalid_token: não autorizado, token inválido ou ausente.429 too_many_requests: muitas requisições, limite excedido.500 api_error: erro interno do servidor.

