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 OpenAI | O que faz |
|---|---|
POST /v1/videos | Cria uma tarefa de vídeo |
GET /v1/videos/{id} | Lê o estado |
GET /v1/videos/{id}/content | Redireciona (302) para o arquivo pronto |
GET /v1/models | Lista 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 OpenAI | Vira |
|---|---|
model | Um ID de modelo de vídeo de /v1/models |
prompt | prompt |
input_reference | image_url / image_urls (uma URL HTTPS ou um upload popnow://) |
seconds | duration_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).
Checklist de produção
O que conferir antes que usuários reais dependam da sua integração — chaves, novas tentativas, webhooks, armazenamento, custos e monitoramento.
Agentes de IA e MCP
Use a API PopNow hoje mesmo no Claude, no ChatGPT, no Cursor e em outros agentes, e o que o servidor MCP vai acrescentar quando abrir.

