PopNowDocs da API
Compatibilidade e agentes de IA
Conteúdo principal

Compatibilidade com OpenAI Videos

Chame os modelos de vídeo da PopNow com os formatos de requisição e resposta da API OpenAI Videos.

Se o seu código já fala a API OpenAI Videos, dá para apontá-lo para a PopNow e manter quase tudo. Os endpoints compatíveis ficam em https://api.popnow.ai/v1 e compartilham chaves, limites, validação e créditos com a API nativa.

Chamada no estilo OpenAIO que faz
POST /v1/videosCria uma tarefa de vídeo
GET /v1/videos/{id}Lê o estado
GET /v1/videos/{id}/contentRedireciona (302) para o arquivo pronto
GET /v1/modelsLista os modelos disponíveis no formato de lista da OpenAI

Só aparecem modelos de vídeo, imagem e áudio; endpoints de chat e texto não fazem parte da API PopNow.

Crie um vídeo

curl -X POST "https://api.popnow.ai/v1/videos" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "model": "alibaba/wan-3.0/image-to-video",
    "prompt": "Waves roll in slowly, the camera drifts toward the lighthouse",
    "input_reference": "https://media.popnow.ai/movie/lighthouse.webp",
    "seconds": "5",
    "size": "1280x720"
  }'

Como os campos viram a entrada do modelo:

Campo da OpenAIVira
modelUm ID de modelo de vídeo de /v1/models
promptprompt
input_referenceimage_url / image_urls (uma URL HTTPS ou um upload popnow://)
secondsduration_seconds
size (LARGURAxALTURA)resolution e/ou aspect_ratio, ou width / height quando o modelo usa pixels

Um campo que o modelo escolhido não aceita é recusado com 400, nunca descartado em silêncio. Para configurações que o formato da OpenAI não prevê, use o createTask nativo.

Leia e baixe

Os estados se traduzem assim: queued → queued, running → in_progress, succeeded → completed, e failed / expired → failed com um objeto error. GET /v1/videos/{id}/content responde 302 para um link assinado de curta duração — deixe o cliente seguir redirecionamentos —, 409 enquanto o vídeo ainda está sendo gerado e 404 se falhou.

Os objetos devolvidos nunca trazem preços. Consulte o custo com o recordInfo nativo, usando o mesmo ID.

Erros

Os erros seguem o formato da OpenAI { "error": { "message", "type", "param", "code" } }, com o mesmo status HTTP que a API nativa retornaria. Uma recusa de conteúdo é HTTP 400 com code: "content_rejected", para você diferenciá-la de um erro de parâmetro (invalid_request ou unsupported_parameter, com param indicando o campo).

Nesta página