PopNowDocs API
Compatibilité et agents IA
Contenu principal

Compatibilité OpenAI Videos

Appeler les modèles vidéo de PopNow avec les formats de requête et de réponse de l’API OpenAI Videos.

Si votre code parle déjà l’API OpenAI Videos, vous pouvez le pointer vers PopNow et en garder l’essentiel. Les endpoints compatibles se trouvent sous https://api.popnow.ai/v1 et partagent clés, limites, validation et crédits avec l’API native.

Appel façon OpenAIRôle
POST /v1/videosCréer une tâche vidéo
GET /v1/videos/{id}Lire son état
GET /v1/videos/{id}/contentRediriger (302) vers le fichier terminé
GET /v1/modelsLister les modèles disponibles au format liste d’OpenAI

Seuls les modèles vidéo, image et audio sont listés ; les endpoints de chat et de texte ne font pas partie de l’API PopNow.

Créer une vidéo

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"
  }'

Comment les champs correspondent à l’entrée propre du modèle :

Champ OpenAIDevient
modelUn identifiant de modèle vidéo issu de /v1/models
promptprompt
input_referenceimage_url / image_urls (une URL HTTPS ou un envoi popnow://)
secondsduration_seconds
size (LARGEURxHAUTEUR)resolution et/ou aspect_ratio, ou width / height quand le modèle attend des pixels

Un champ que le modèle choisi ne prend pas en charge est refusé avec 400, jamais ignoré en silence. Pour les réglages sans équivalent dans le format OpenAI, utilisez le createTask natif.

Lire et télécharger

Les états correspondent ainsi : queued → queued, running → in_progress, succeeded → completed, et failed / expired → failed avec un objet error. GET /v1/videos/{id}/content répond 302 vers un lien signé de courte durée — laissez votre client suivre les redirections —, 409 tant que la vidéo est en cours, et 404 si elle a échoué.

Les objets renvoyés ne contiennent jamais de prix. Lisez le coût avec le recordInfo natif, avec le même identifiant.

Erreurs

Les erreurs utilisent le format OpenAI { "error": { "message", "type", "param", "code" } } avec le même statut HTTP que renverrait l’API native. Un refus de contenu est un HTTP 400 avec code: "content_rejected", ce qui permet de le distinguer d’une erreur de paramètre (invalid_request ou unsupported_parameter, avec param indiquant le champ).

Sur cette page