Skip to Content
APIGénération de vidéoAperçu

Video API

Une API unifiée de génération vidéo compatible avec le standard OpenRouter Video Generation. Un seul schéma couvre le texte-vers-vidéo, l’image-vers-vidéo, la première/dernière image et la génération guidée par référence. Soumettez une tâche de façon asynchrone, puis interrogez son statut ou recevez un webhook lorsqu’elle est terminée.

FonctionnalitéDétail
Base URLhttps://api.ofox.ai
Style de protocoleCompatible OpenRouter (soumission async → polling / webhook)
Mode de générationDéduit implicitement : aucune image = texte-vers-vidéo · frame_images = image / première-dernière image · input_references = guidé par référence
Livraison du résultatPoll GET (protégé par limite de débit) ou webhook callback_url (signé HMAC, relancé)
Stockage vidéoURL originale en amont (temporaire) + miroir CDN optionnel (URL signée persistante)

Authentification

Chaque requête transporte votre clé API ofox (format sk-xxx…) dans le Header HTTP :

Authorization: Bearer $OFOX_API_KEY

callback_url doit être en HTTPS. Les cibles de webhook sont validées contre les SSRF : les adresses privées, loopback et de métadonnées cloud sont rejetées. Une adresse non HTTPS ou interne échoue à la création avec 400 invalid_callback_url.

Démarrage rapide

1. Soumettre une tâche

Terminal
curl -X POST https://api.ofox.ai/v1/videos \ -H "Authorization: Bearer $OFOX_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "google/veo-3.1", "prompt": "A golden retriever running on the beach at sunset", "duration": 5, "resolution": "1080p", "aspect_ratio": "16:9", "generate_audio": true }'

L’appel renvoie immédiatement 202 avec une URL de polling :

{ "id": "9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718", "status": "pending", "polling_url": "https://api.ofox.ai/v1/videos/9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718" }

2. Interroger jusqu’à la fin

Terminal
curl https://api.ofox.ai/v1/videos/9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718 \ -H "Authorization: Bearer $OFOX_API_KEY"

Continuez les requêtes jusqu’à ce que status atteigne un état terminal — completed, failed, cancelled ou expired. N’interrogez pas plus d’une fois par seconde, ou passez un callback_url à la création de la tâche pour recevoir un webhook au lieu du polling. Consultez Obtenir le statut vidéo et Webhooks.

Endpoints

MéthodeEndpointDescription
POST/v1/videosCréer une tâche vidéo
GET/v1/videos/{id}Obtenir le statut et le résultat de la tâche
DELETE/v1/videos/{id}Annuler une tâche

Tarification à la seconde

Les modèles vidéo sont facturés au temps, pas au nombre de tokens. L’entrée correspondante de pricing.video_pricing.tiers fixe le tarif en USD par seconde selon la résolution, le type d’entrée et les options audio. pricing.output_video_per_second n’est que le prix de départ le plus bas du modèle. L’estimation est tarif du niveau × durée demandée ; une fois la tâche terminée, utilisez usage.video_seconds et usage.video_cost comme durée facturée et coût réel. Pour les tâches vidéo-vers-vidéo, les secondes facturées peuvent inclure la durée de la vidéo d’entrée.

Suite

Last updated on