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 OpenAI | Rôle |
|---|---|
POST /v1/videos | Créer une tâche vidéo |
GET /v1/videos/{id} | Lire son état |
GET /v1/videos/{id}/content | Rediriger (302) vers le fichier terminé |
GET /v1/models | Lister 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 OpenAI | Devient |
|---|---|
model | Un identifiant de modèle vidéo issu de /v1/models |
prompt | prompt |
input_reference | image_url / image_urls (une URL HTTPS ou un envoi popnow://) |
seconds | duration_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).
Checklist de mise en production
Ce qu’il faut vérifier avant que de vrais utilisateurs dépendent de votre intégration — clés, nouvelles tentatives, webhooks, stockage, coûts et supervision.
Agents IA et MCP
Utiliser l’API PopNow dès aujourd’hui depuis Claude, ChatGPT, Cursor et d’autres agents, et ce qu’apportera le serveur MCP à son ouverture.

