Saltar para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt

Use this file to discover all available pages before exploring further.

Use a documentação dos modelos de vídeo do CometAPI escolhendo o fluxo do provedor que corresponde ao seu tipo de tarefa. A maioria dos endpoints de vídeo cria tarefas assíncronas, então salve o task ID e use polling para recuperar os resultados. Adicione callbacks apenas quando a página específica do modelo documentar suporte a callbacks.

Escolha uma API de vídeo

Criar vídeo Sora

Crie tarefas de vídeo Sora.

Recuperar vídeo Sora

Consulte tarefas de vídeo Sora.

Runway image to video

Gere vídeos Runway a partir de imagens.

Kling text to video

Gere vídeos Kling a partir de prompts de texto.

Criar Seedance

Crie tarefas de vídeo Seedance.

Geração de vídeo xAI

Gere tarefas de vídeo xAI.

Criar e fazer polling de uma tarefa de vídeo

Use um model ID compatível com vídeo da página de Models ou do diretório de modelos. Os exemplos abaixo criam uma tarefa de vídeo com POST /v1/videos e depois fazem polling do task ID retornado até que a tarefa atinja um estado terminal.
Estes exemplos usam o placeholder your-video-model-id. Substitua-o por um model ID de vídeo disponível na página de Models ou no diretório de modelos antes de executar a solicitação.
Abra Create e Query para usar os playgrounds da API e os schemas dos endpoints.
import os
import time
import requests

headers = {"Authorization": "Bearer " + os.environ["COMETAPI_KEY"]}

create_response = requests.post(
    "https://api.cometapi.com/v1/videos",
    headers=headers,
    data={
        "model": "your-video-model-id",
        "prompt": "A calm camera move across a desk with a paper airplane",
    },
    timeout=30,
)
create_response.raise_for_status()
task = create_response.json()
task_id = task["id"]

terminal_statuses = {"completed", "failed", "error"}

while True:
    poll_response = requests.get(
        f"https://api.cometapi.com/v1/videos/{task_id}",
        headers=headers,
        timeout=30,
    )
    poll_response.raise_for_status()
    result = poll_response.json()
    print(result["status"], result.get("progress"))

    if result["status"] in terminal_statuses:
        print(result.get("video_url"))
        break

    time.sleep(10)

Exemplos de resposta

Uma resposta de criação bem-sucedida pode ser assim. Armazene o task ID antes de fazer polling:
{
  "id": "task_example",
  "task_id": "task_example",
  "object": "video",
  "model": "your-video-model-id",
  "status": "queued",
  "progress": 0,
  "created_at": 1779872000
}
Uma resposta de polling bem-sucedida pode ser assim. As respostas concluídas podem incluir video_url; alguns formatos de provedor usam campos de resultado específicos do modelo ou a rota de conteúdo de vídeo quando essa rota está documentada:
{
  "id": "task_example",
  "object": "video",
  "model": "your-video-model-id",
  "status": "completed",
  "progress": 100,
  "completed_at": 1779872300,
  "video_url": "https://example.com/generated-video.mp4"
}

Exemplos de registros de modelos

Este exemplo de resposta do catálogo de modelos mostra o envelope /api/models e a estrutura de um registro de modelo de vídeo. Não é uma lista completa de modelos.
cURL
curl https://api.cometapi.com/api/models
{
  "success": true,
  "page": 1,
  "page_size": 20,
  "total": 302,
  "data": [
    {
      "created": 1767529753,
      "id": "your-video-model-id",
      "code": "your-video-model-id",
      "provider": "ExampleProvider",
      "provider_code": "example",
      "name": "Example video model",
      "model_type": "video",
      "features": [
        "text-to-video"
      ],
      "endpoints": "{\n  \"seedance\": {\n    \"path\": \"/v1/videos\",\n    \"method\": \"POST\"\n  }\n}",
      "pricing": {
        "currency": "USD / M Tokens",
        "input": null,
        "output": null,
        "per_request": null,
        "per_second": 0.024
      }
    }
  ]
}

Erros comuns

Armazene o ID da resposta de criação antes de retornar do seu manipulador de tarefas.
Adicione atraso e backoff entre as verificações de status.
Use os campos de duração e resolução documentados para o endpoint de vídeo selecionado.
Trate video_url como opcional e faça fallback para os campos de resultado específicos do modelo ou para a rota de conteúdo quando disponível.
Use polling como fonte da verdade e verifique se sua callback URL aceita solicitações POST.

Códigos de erro e estratégia de retry

Não tente novamente até que os campos prompt, files, duration ou size sejam corrigidos.
Não tente novamente até que a API key esteja presente e válida.
Verifique o task ID, a base URL, o path e o model ID antes de tentar novamente.
Reduza o tamanho do upload antes de tentar novamente.
Tente novamente com backoff exponencial e reduza a concorrência de criação ou polling.
Tente novamente a criação da tarefa com backoff; continue fazendo polling nas tarefas existentes, a menos que a tarefa atinja um erro terminal.

Preços e diretório de modelos

Página de Models

Leia como o CometAPI expõe os model IDs na documentação.

Diretório de modelos

Navegue pela disponibilidade e pelas capacidades dos modelos.

Preços

Verifique os preços antes de chamar um modelo.
Last modified on May 28, 2026