Passer au contenu principal

API de génération de vidéos

Décrivez un clip en termes simples, choisissez un modèle, une durée et un format d'image, et obtenez un fichier MP4 avec une bande sonore. OmevAI planifie les plans et les mouvements de caméra à partir de votre description ; vous choisissez uniquement ce qui est indiqué ci-dessous. Le prix est connu avant le lancement, et vous ne payez que pour un clip livré.

L'accès est activé sur demande

L'API vidéo est activée clé par clé. Écrivez à support@omev.be pour l'activer. Les mêmes modèles sont disponibles dans le cabinet web, voir Génération de vidéos dans le cabinet.

La vidéo est asynchrone : créez une tâche, vérifiez son statut, téléchargez le fichier terminé. Tous les appels utilisent l'hôte habituel https://llmapi.omev.be et votre clé API OmevAI.

Modèles et prix​

modelIdéal pourDuréeresolutionVous pouvez envoyerPrix par seconde
omev-video-litescènes simples, prix bas4–12 s768pdu texte ; du texte et une première image$0.039
omev-videopersonnes, mouvements complexes, mouvements de caméra, plusieurs actions4–15 s720p (par défaut), 1080pdu texte ; du texte et une première image720p $0.069 · 1080p $0.135
omev-video-premiumqualité premium, clips jusqu'à 30 s4–30 s720p (par défaut), 1080pdu texte ; du texte et une première image ; du texte et jusqu'à 5 images de référencetexte ou première image : 720p $0.075 · 1080p $0.15 ; avec images de référence : 720p $0.11 · 1080p $0.22

Formats d'image (aspect_ratio) : omev-video-lite accepte 16:9, 21:9, 4:3, 1:1, 3:4, 9:16 ; omev-video et omev-video-premium acceptent 16:9, 4:3, 1:1, 3:4, 9:16.

Le prix d'un clip est le prix par seconde multiplié par la durée commandée. Un clip omev-video de 8 secondes en 720p coûte 8 × $0.069 = $0.552, en 1080p $1.08. Un clip omev-video-premium de 8 secondes en 720p coûte $0.60 à partir de texte ou d'une première image, et $0.88 avec des images de référence.

1. Créer une tâche​

curl -sS https://llmapi.omev.be/v1/videos/generations \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "omev-video",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "9:16",
"prompt": "A ceramic mug on a wooden table in morning light, the camera slowly circles the mug",
"idempotency_key": "order-2026-10-12-0001"
}'
ChampRequisValeurs
modelouiomev-video-lite, omev-video ou omev-video-premium
promptouila description du clip, jusqu'à 4 000 caractères
durationouiun nombre entier de secondes dans la plage du modèle
aspect_rationonun format d'image accepté par le modèle, 16:9 par défaut
resolutionnon720p ou 1080p pour omev-video et omev-video-premium ; omev-video-lite est toujours en 768p
imagenonun lien https public vers la première image (les trois modèles) ; il doit s'ouvrir sans connexion
referencesnonjusqu'à 5 liens https publics vers des images de référence : un personnage, un produit, un logo ou un style ; omev-video-premium uniquement, et pas en même temps que image
idempotency_keyrecommandévotre propre numéro de commande, jusqu'à 100 caractères ; le répéter renvoie la même tâche et ne facture pas une seconde fois

seed, fps, steps, cfg et provider ne sont pas acceptés (400) : OmevAI les choisit.

La réponse est 202 avec la tâche :

{
"id": "vid_0f3c2a9e8b7d4c6a1e5f2b3c",
"object": "video.generation",
"model": "omev-video",
"status": "queued",
"duration": 8,
"aspect_ratio": "9:16",
"resolution": "720p",
"price_usd": 0.552,
"access_token": "…"
}

Avant le démarrage de la tâche, le prix est réservé sur le solde de la clé. Lorsque le clip est livré, il est facturé ; lorsque la génération échoue, la réservation est libérée. Conservez id et access_token : le jeton est nécessaire pour lire le statut et télécharger le fichier. Si la réponse a été perdue, envoyez la même requête avec le même idempotency_key pour obtenir le même id et le même jeton.

2. Vérifier le statut​

curl -sS https://llmapi.omev.be/v1/videos/generations/$ID \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "X-Omev-Video-Token: $TOKEN"

Sans le jeton, ou avec le jeton d'une autre tâche, la réponse est 404. Interrogez le statut toutes les 10 à 15 secondes.

statusSignification
queued, preprocessingla tâche est acceptée et la description est transformée en plan de tournage
generatingle clip est en cours de création ; phase indique provider_queued (en attente d'un créneau), generating ou saving
processingune vérification supplémentaire rare de notre côté ; continuez à interroger
succeededterminé : video.url est le lien de téléchargement
failednon réalisé : error.code et error.message indiquent pourquoi ; la réservation est libérée

3. Télécharger le clip​

curl -sS -L -o clip.mp4 https://llmapi.omev.be/v1/videos/generations/$ID/content \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "X-Omev-Video-Token: $TOKEN"

La réponse est le fichier MP4 avec une bande sonore. Téléchargez-le dès que la tâche réussit et conservez-le dans votre propre stockage.

Cycle complet en Python​

import os, time, requests

BASE = "https://llmapi.omev.be"
auth = {"Authorization": f"Bearer {os.environ['OMEV_API_KEY']}"}

job = requests.post(f"{BASE}/v1/videos/generations", headers=auth, timeout=60, json={
"model": "omev-video-lite", "duration": 6, "aspect_ratio": "1:1",
"prompt": "A cup of hot coffee, steam rising, soft light",
"idempotency_key": "order-0002"}).json()

read = {**auth, "X-Omev-Video-Token": job["access_token"]}
while True:
status = requests.get(f"{BASE}/v1/videos/generations/{job['id']}", headers=read, timeout=60).json()
if status["status"] in ("succeeded", "failed"):
break
time.sleep(15)

if status["status"] == "succeeded":
clip = requests.get(f"{BASE}{status['video']['url']}", headers=read, timeout=600)
open("clip.mp4", "wb").write(clip.content)
else:
print(status["error"])

Consultations gratuites​

  • GET /v1/videos/models : les modèles avec leurs durées, résolutions, formats d'image et prix par seconde.
  • GET /v1/videos/price?model=omev-video&duration=8&resolution=1080p : le prix d'un clip, par exemple {"price_usd": 1.08, "per_second_usd": 0.135, …}. Pour omev-video-premium avec des images de référence, ajoutez &references=1.

Durée et limites​

  • Un clip de 4 secondes prend généralement environ 2 minutes avec omev-video-lite et omev-video-premium, et 10 à 20 secondes avec omev-video. Les clips plus longs prennent plus de temps.
  • Un compte peut avoir jusqu'à 2 tâches vidéo inachevées à la fois ; une troisième renvoie 429.
  • La régénération et la notation d'un clip sont disponibles dans le cabinet web. Via l'API, créez une nouvelle tâche pour une nouvelle tentative.
  • Les requêtes qui enfreignent la politique de contenu sont refusées avant toute facturation.

Erreurs​

CodeSignificationQue faire
400une durée hors de la plage du modèle, un format d'image ou une résolution que le modèle n'accepte pas, une première image avec des images de référence, des images de référence pour un modèle autre qu'omev-video-premium, ou un paramètre non acceptécorrigez la requête à l'aide de error.message
401clé API manquante ou invalidevérifiez la clé
402le solde de la clé est inférieur au prix du cliprechargez le solde
403la vidéo n'est pas activée pour la cléécrivez au support
404tâche inconnue, ou X-Omev-Video-Token manquant ou incorrectvérifiez l'identifiant et le jeton
409l'idempotency_key a déjà été utilisée avec d'autres paramètres, ou la combinaison est temporairement indisponibleutilisez un nouveau numéro de commande ; en cas d'indisponibilité, réessayez plus tard
4292 tâches vidéo sont déjà en coursattendez que l'une d'elles se termine
5xxerreur temporaireréessayez avec le même idempotency_key après 10 à 30 secondes

Consultez Erreurs et nouvelles tentatives pour le format commun.