Retour aux guides
Vidéo·18 juin 2026·Mis à jour le 1 octobre 2026·7 min de lecture

Guide de l’API Sora — génération vidéo IA utilisable immédiatement (Veo 3.1)

L’API Sora permet de générer des vidéos par programmation. La prise en charge de Sora est prévue ; actuellement, le modèle text-to-video de Kunavo fonctionne avec Google Veo 3.1 sur le même point de terminaison au format OpenAI — tous les exemples fonctionnent dès maintenant.

Sora est le modèle text-to-video d’OpenAI, et « l’API Sora » désigne le moyen de générer des vidéos de manière programmatique, et non une application grand public. Actuellement, sur Kunavo, le text-to-video s’exécute avec Google Veo 3 via un point de terminaison vidéo unique au format OpenAI — la prise en charge de Sora est prévue dans la feuille de route et, le point de terminaison n’étant pas lié au modèle, passer à Sora plus tard consistera à modifier un seul mot. Ce guide présente donc le flux de travail avec Veo 3 afin que tous les exemples soient exécutables dès maintenant.

Qu’est-ce que l’API Sora ?

Sora (Sora 2 et Sora 2 Pro) transforme des prompts textuels ou des images fixes en clips vidéo courts et fournit également un audio synchronisé dans Sora 2. Sous forme d’API, la génération peut être intégrée à un pipeline : plans marketing, animations de produits, b-roll, aperçus de storyboards. Les modèles vidéo récents suivent tous le même schéma : envoyez un prompt et des paramètres, puis recevez une URL vidéo hébergée.

Vidéo actuelle sur Kunavo : Veo 3

Kunavo fournit la génération vidéo via un seul point de terminaison au format OpenAI /v1/video/generations. Sora n’est pas encore activé dans le catalogue et le modèle text-to-video actuellement disponible est Google Veo 3, qui crée des clips cinématographiques avec audio natif. Les exemples ci-dessous utilisent veo-3 ; lorsque Sora sera ajouté, seul le champ model devra être modifié.

Démarrage rapide du text-to-video

Une seule requête POST avec votre clé Kunavo suffit. La génération peut prendre quelques minutes ; l’appel synchrone maintient donc la connexion ouverte jusqu’à ce que le clip soit prêt :

text_to_video.py
import requests

resp = requests.post(
    "https://api.kunavo.com/v1/video/generations",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "model": "veo-3",
        "prompt": "빨간 종이학이 펼쳐지는 영화적인 돌리인, 부드러운 조명",
        "aspect_ratio": "16:9",
    },
    timeout=600,  # 생성에 몇 분이 걸릴 수 있습니다
)
print(resp.json()["data"][0]["url"])

duration (en secondes) définit la durée du clip pour les modèles facturés à la seconde : les modèles Seedance et le modèle Wan 2.7. Les modèles Veo l’ignorent ; chaque clip Veo dure 8 secondes et est facturé par vidéo.

Génération de vidéo à partir d’images

Pour ajouter du mouvement à une image fixe, transmettez image_url (une URL https ou un fichier téléversé vers /v1/files) avec le prompt. Pour contrôler le mouvement, vous pouvez transmettre la première et la dernière image avec image_urls et image_mode: "frame". L’exemple complet se trouve dans la documentation vidéo.

Cycle de vie des tâches asynchrones

En production, ne maintenez pas une connexion ouverte pendant 10 minutes. Soumettez la tâche à /v1/videos pour recevoir immédiatement un identifiant de tâche, puis interrogez GET /v1/videos/{id} jusqu’à son achèvement. L’URL du résultat est permanente.

async_submit.py
# 프로덕션: 작업을 제출한 뒤 폴링 — 장시간 연결을 유지하지 않습니다.
task = requests.post(
    "https://api.kunavo.com/v1/videos",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "Idempotency-Key": "my-task-uuid",   # 약 24시간 내 재시도 안전
    },
    json={"model": "veo-3", "prompt": "...", "aspect_ratio": "16:9"},
    timeout=60,
).json()
# 이후 완료될 때까지 GET /v1/videos/{task["id"]} 폴링

La documentation vidéo couvre la boucle complète d’interrogation, les clés d’idempotence et la livraison par webhook.

Prix

Veo 3 est facturé par vidéo (ici, sur la base d’un clip de 8 secondes en 720p) et coûte environ 50~70 % de moins que le tarif catalogue de Google. Le coût augmente avec la résolution ; consultez la page des tarifs pour le tableau complet des niveaux.

ModèlePrix de départ (720p / 8 secondes)Tarif catalogue de GoogleÉconomie
veo-3-lite$0.18$0.45~60%
veo-3 (Fast)$0.36$1.20~70%
veo-3-quality$1.60$3.20~50%

Conseils pour les prompts vidéo

  • Décrivez le plan, pas seulement le sujet. Le mouvement de caméra (travelling, panoramique, rapprochement), le rendu de l’objectif, l’éclairage et le rythme comptent davantage que les adjectifs.
  • Précisez le format d’image — 16:9 pour le paysage, 9:16 pour le portrait et les réseaux sociaux.
  • Chaque clip Veo dure 8 secondes. Prévoyez chaque plan pour cette durée et assemblez plusieurs générations pour les séquences plus longues.
  • Utilisez des images de référence (image-to-video). C’est utile lorsque vous devez conserver un personnage ou un produit précis de manière cohérente.

Questions fréquentes

Puis-je utiliser l’API Sora sur Kunavo ?

Sora n’est pas encore activé dans le catalogue Kunavo. Actuellement, le text-to-video s’exécute avec Google Veo 3 via le même point de terminaison /v1/video/generations au format OpenAI. Le point de terminaison n’étant pas lié au modèle, passer à Sora plus tard consistera à modifier un seul mot dans le champ model. La prise en charge de Sora est prévue dans la feuille de route.

Qu’est-ce que l’API Sora ?

Sora est le modèle text-to-video d’OpenAI (Sora 2 et Sora 2 Pro). L’API Sora génère des clips vidéo courts à partir de prompts textuels ou d’images fixes — avec un audio synchronisé dans Sora 2 — de manière programmatique, et non au moyen d’une application grand public.

Combien coûte la génération vidéo sur Kunavo ?

Veo 3 est facturé par vidéo et coûte environ 50~70 % de moins que le tarif catalogue de Google : Veo 3 Lite à partir de $0.18, Veo 3 Fast à partir de $0.36 et Veo 3 Quality à partir de $1.60 par clip de 8 secondes en 720p. Le coût augmente avec la résolution.

Kunavo prend-il en charge l’image-to-video ?

Oui. Transmettez image_url (une URL https ou un fichier téléversé) à /v1/video/generations pour ajouter du mouvement à une image fixe. Vous pouvez également transmettre une première et une dernière image pour contrôler la transition.