Saltar para o conteúdo principal
Este documento irá apresentar uma descrição da integração da Sora Videos Generation API, que pode gerar vídeos oficiais da Sora através da entrada de parâmetros personalizados.

Processo de Solicitação

Para usar a API, você precisa primeiro ir à página correspondente da Sora Videos Generation API para solicitar o serviço correspondente. Após entrar na página, clique no botão “Adquirir”, como mostrado na imagem: Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login, convidando-o a se registrar e fazer login. Após o registro e login, você será redirecionado de volta para a página atual. Na primeira solicitação, haverá um limite gratuito disponível, permitindo o uso gratuito da API.

Uso Básico

Primeiro, entenda a forma básica de uso, que é inserir a palavra-chave prompt, um array de links de imagens de referência image_urls e o modelo model, para obter o resultado processado. O conteúdo específico é o seguinte:

Podemos ver que aqui configuramos os Headers da Requisição, incluindo:
  • accept: o formato de resposta desejado, aqui preenchido como application/json, ou seja, formato JSON.
  • authorization: a chave para chamar a API, que pode ser selecionada diretamente após a solicitação.
Além disso, configuramos o Corpo da Requisição, incluindo:
  • model: o modelo para gerar o vídeo, que inclui sora-2 e sora-2-pro. Atualmente, sora-2 e sora-2-pro permitem a escolha dos parâmetros size e duration, onde sora-2-pro suporta vídeos com duration de 25s, enquanto sora-2 suporta apenas vídeos de 10 e 15 segundos.
  • size: a clareza da tarefa de geração de vídeo, que pode ser small ou large.
  • image_urls: links de imagens de referência a serem carregadas ou um array codificado em Base64.
  • duration: a duração da tarefa de geração de vídeo, que pode ser 10s, 15s ou 25s, sendo que apenas sora-2-pro suporta 25s.
  • character_start/character_end: a posição inicial e final do personagem na tela (0-1), usada para controlar a posição do sujeito.
  • orientation: a direção da tela, suportando landscape, portrait ou square.
  • prompt: a palavra-chave.
  • callback_url: a URL para a qual os resultados devem ser retornados.
Após a seleção, podemos ver que o código correspondente foi gerado à direita, como mostrado na imagem:

Clique no botão “Tentar” para realizar o teste, como mostrado na imagem acima, e aqui obtivemos o seguinte resultado:
{
  "success": true,
  "task_id": "6bf7fb83-5814-4e3e-a4ad-bfa0c26c0b33",
  "trace_id": "96166698-4b66-478d-a26b-77a7269c9e01",
  "data": [
    {
      "id": "sora-2:task_01k7770rgsevxsmtpbn7xnm5gh",
      "video_url": "https://filesystem.site/gptimage/vg-assets/assets%2Ftask_01k7770rgsevxsmtpbn7xnm5gh%2Ftask_01k7770rgsevxsmtpbn7xnm5gh_genid_0bf958d3-cae7-4298-b7b6-99ae439a1ea6_25_10_10_14_06_975715%2Fvideos%2F00000%2Fsrc.mp4?st=2025-10-10T12%3A30%3A38Z&se=2025-10-16T13%3A30%3A38Z&sks=b&skt=2025-10-10T12%3A30%3A38Z&ske=2025-10-16T13%3A30%3A38Z&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skoid=8ebb0df1-a278-4e2e-9c20-f2d373479b3a&skv=2019-02-02&sv=2018-11-09&sr=b&sp=r&spr=https%2Chttp&sig=jigY6Z5qp8%2BTXYobaW0EAJ4%2Fbx6G7t6V1P0iyDeUq48%3D&az=oaivgprodscus",
      "state": "succeeded"
    }
  ]
}
O resultado retornado contém vários campos, descritos a seguir:
  • success: o estado atual da tarefa de geração de vídeo.
  • task_id: o ID da tarefa de geração de vídeo atual.
  • trace_id: o ID de rastreamento da geração de vídeo atual.
  • data: a lista de resultados da tarefa de geração de vídeo atual.
    • id: o ID do vídeo da tarefa de geração de vídeo atual.
    • video_url: o link do vídeo da tarefa de geração de vídeo atual.
    • state: o estado da tarefa de geração de vídeo atual.
Podemos ver que obtivemos informações satisfatórias sobre o vídeo, e tudo o que precisamos fazer é acessar o link do vídeo gerado em data. Além disso, se você quiser gerar o código correspondente para a integração, pode copiá-lo diretamente, como o código CURL abaixo:
curl -X POST 'https://api.acedata.cloud/sora/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "size": "large",
  "duration": 15,
  "orientation": "landscape",
  "prompt": "cat running on the river",
  "model": "sora-2"
}'

Tarefa de Geração de Vídeo a Partir de Imagem

Se você deseja realizar uma tarefa de geração de vídeo a partir de imagem, primeiro o parâmetro image_urls deve incluir links de imagens de referência, permitindo especificar o seguinte conteúdo:
  • image_urls: o array de links de imagens de referência utilizados nesta tarefa de geração de vídeo.
Um exemplo de preenchimento é o seguinte:

Após o preenchimento, o código gerado automaticamente é o seguinte:

O código correspondente:
import requests

url = "https://api.acedata.cloud/sora/videos"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "size": "large",
    "duration": 15,
    "orientation": "landscape",
    "prompt": "cat running on the river",
    "model": "sora-2",
    "image_urls": ["https://cdn.acedata.cloud/11wfp4.png"]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Ao clicar em executar, você pode notar que um resultado será imediatamente obtido, como mostrado:
{
  "success": true,
  "task_id": "dd392ff0-dcb7-4c7a-afd0-9bd4f65c803a",
  "trace_id": "04fd151c-e942-4c1c-a6ab-9a1b1fe54172",
  "data": [
    {
      "id": "sora-2:task_01k777af4hfmg9g7yfvwsc6zws",
      "video_url": "https://filesystem.site/gptimage/vg-assets/assets%2Ftask_01k777af4hfmg9g7yfvwsc6zws%2Ftask_01k777af4hfmg9g7yfvwsc6zws_genid_92bae0c5-1703-4a5f-9d9f-c9ed2f9e7176_25_10_10_14_12_924695%2Fvideos%2F00000%2Fsrc.mp4?st=2025-10-10T12%3A37%3A32Z&se=2025-10-16T13%3A37%3A32Z&sks=b&skt=2025-10-10T12%3A37%3A32Z&ske=2025-10-16T13%3A37%3A32Z&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skoid=aa5ddad1-c91a-4f0a-9aca-e20682cc8969&skv=2019-02-02&sv=2018-11-09&sr=b&sp=r&spr=https%2Chttp&sig=5j4dibeaSsDmEka5c%2B9CKHZhRPdqfClQ0tIh03TWXsM%3D&az=oaivgprodscus",
      "state": "succeeded"
    }
  ]
}
Pode-se ver que o efeito gerado é um vídeo gerado a partir de imagens, e o resultado é semelhante ao texto acima.

Tarefa de Geração de Vídeo de Personagem

Se você deseja gerar uma tarefa de vídeo de personagem, primeiro o parâmetro character_url deve ser passado com o link do vídeo necessário para criar o personagem, note que o vídeo não pode conter pessoas reais, caso contrário, falhará, e você pode especificar o seguinte conteúdo:
  • character_url: link do vídeo necessário para criar o personagem, note que o vídeo não pode conter pessoas reais, caso contrário, falhará.
Um exemplo de preenchimento é o seguinte:

Após o preenchimento, o código gerado automaticamente é o seguinte:

O código correspondente:
import requests

url = "https://api.acedata.cloud/sora/videos"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "size": "small",
    "duration": 10,
    "orientation": "landscape",
    "prompt": "gato correndo no rio",
    "character_url": "https://cdn.acedata.cloud/pdidf5.mp4",
    "model": "sora-2",
    "character_end": 3,
    "character_start": 1
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Ao clicar em executar, você pode descobrir que imediatamente obterá um resultado, como abaixo:
{
  "success": true,
  "task_id": "d9bf5461-29b5-47fd-be90-1fe9197df259",
  "trace_id": "b7992643-9207-40d6-956b-7577728acc67",
  "data": [
    {
      "id": "sora-2:task_01k8ykrztefavaypw6xanw305b",
      "video_url": "https://filesystem.site/cdn/20251101/bee4eeeb4c4660b46dac4548a1ffbc.mp4",
      "state": "succeeded"
    }
  ]
}
Pode-se ver que o efeito gerado é um vídeo de personagem, e o resultado é semelhante ao texto acima.

Callback Assíncrono

Como a API de Geração de Vídeos Sora leva um tempo relativamente longo para gerar, cerca de 1-2 minutos, se a API não responder por um longo tempo, a solicitação HTTP manterá a conexão, resultando em um consumo adicional de recursos do sistema, portanto, esta API também oferece suporte a callbacks assíncronos. O fluxo geral é: quando o cliente inicia a solicitação, deve especificar um campo callback_url adicional, após o cliente iniciar a solicitação da API, a API retornará imediatamente um resultado, contendo um campo de informação task_id, representando o ID da tarefa atual. Quando a tarefa for concluída, o resultado do vídeo gerado será enviado para o callback_url especificado pelo cliente no formato JSON POST, que também incluirá o campo task_id, assim o resultado da tarefa pode ser associado pelo ID. Abaixo, vamos entender como operar isso através de um exemplo. Primeiro, o callback Webhook é um serviço que pode receber solicitações HTTP, os desenvolvedores devem substituí-lo pela URL do servidor HTTP que construíram. Aqui, para facilitar a demonstração, usamos um site de exemplo de Webhook público https://webhook.site/, ao abrir este site, você obterá uma URL de Webhook, como mostrado na imagem: Copie esta URL, que pode ser usada como Webhook, o exemplo aqui é https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa. Em seguida, podemos definir o campo callback_url para a URL do Webhook acima, ao mesmo tempo preenchendo os parâmetros correspondentes, o conteúdo específico é mostrado na imagem:

Ao clicar em executar, você pode descobrir que imediatamente obterá um resultado, como abaixo:
{
  "task_id": "b8976e18-32dc-4718-9ed8-1ea090fcb6ea"
}
Após alguns momentos, podemos observar o resultado da geração da música em https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa, como mostrado na imagem: O conteúdo é o seguinte:
```json
{
    "success": true,
    "task_id": "b8976e18-32dc-4718-9ed8-1ea090fcb6ea",
    "trace_id": "fb751e1e-4705-49ea-9fd4-5024b7865ea2",
    "data": [
        {
            "id": "sora-2:task_01k777hjrbfrgs2060q5zvf2a5",
            "video_url": "https://filesystem.site/gptimage/vg-assets/assets%2Ftask_01k777hjrbfrgs2060q5zvf2a5%2Ftask_01k777hjrbfrgs2060q5zvf2a5_genid_b8e2e5d1-a579-49ca-a21c-cb3869685cce_25_10_10_14_15_147334%2Fvideos%2F00000%2Fsrc.mp4?st=2025-10-10T12%3A38%3A49Z&se=2025-10-16T13%3A38%3A49Z&sks=b&skt=2025-10-10T12%3A38%3A49Z&ske=2025-10-16T13%3A38%3A49Z&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skoid=aa5ddad1-c91a-4f0a-9aca-e20682cc8969&skv=2019-02-02&sv=2018-11-09&sr=b&sp=r&spr=https%2Chttp&sig=p4aMqXqkP%2FI1IhOVGCB9JL8vUUvfNBBF12ESpKhKXOk%3D&az=oaivgprodscus",
            "state": "succeeded"
        }
    ]
}
Pode-se ver que o resultado contém um campo task_id, os outros campos são semelhantes ao texto acima, e através desse campo é possível realizar a associação da tarefa.

Tratamento de Erros

Ao chamar a API, se ocorrer um erro, a API retornará o código de erro e a mensagem correspondente. Por exemplo:
  • 400 token_mismatched: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.
  • 400 api_not_implemented: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.
  • 401 invalid_token: Não autorizado, token de autorização inválido ou ausente.
  • 429 too_many_requests: Muitas solicitações, você excedeu o limite de taxa.
  • 500 api_error: Erro interno do servidor, algo deu errado no servidor.

Exemplo de Resposta de Erro

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusão

Através deste documento, você já entendeu como usar a API de Geração de Vídeos Sora, que pode gerar vídeos através de palavras-chave de entrada e imagens de referência. Esperamos que este documento possa ajudá-lo a integrar e usar melhor essa API. Se tiver alguma dúvida, entre em contato com nossa equipe de suporte técnico.