Génération vidéo
La génération vidéo est asynchrone : soumettez une tâche pour obtenir un ID de tâche, interrogez son statut, puis téléchargez le résultat. La passerelle prend en charge deux formats :
| Format | Soumission | Interrogation | Notes |
|---|---|---|---|
| Format OpenAI Sora | POST /v1/videos | GET /v1/videos/{video_id} | Forme standard de l'API Sora |
| Format de tâche générique | POST /v1/video/generations | GET /v1/video/generations/{task_id} | Tâche vidéo générique NewAPI |
Format Sora
Soumettre une tâche
POST /v1/videoscurl https://test.kailin.com.cn/v1/videos \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-token" \
-d '{
"model": "sora-2",
"prompt": "An orange cat rolling in the snow, slow motion",
"seconds": "10",
"size": "1280x720"
}'
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
model | string | Oui | Modèle vidéo, ex. sora-2, sora-2-pro |
prompt | string | Oui | Description de la scène |
seconds | string | Non | Durée (ex. "4" / "8" / "12", selon le modèle) |
size | string | Non | Résolution, ex. 1280x720 / 720x1280 |
input_reference | file | Non | Image de référence / première image (multipart uniquement) |
Réponse (objet vidéo)
{
"id": "video_abc123",
"object": "video",
"created_at": 1730000000,
"status": "queued",
"model": "sora-2",
"prompt": "An orange cat rolling in the snow, slow motion",
"size": "1280x720",
"seconds": "10",
"progress": 0
}
Interroger la tâche
GET /v1/videos/{video_id}curl https://test.kailin.com.cn/v1/videos/video_abc123 \
-H "Authorization: Bearer sk-your-token"
Transitions de status : queued → in_progress → completed / failed, avec progress de 0 à 100 pendant l'exécution.
Télécharger la vidéo
GET /v1/videos/{video_id}/contentUne fois completed, téléchargez le binaire MP4 :
curl "https://test.kailin.com.cn/v1/videos/video_abc123/content" \
-H "Authorization: Bearer sk-your-token" \
--output result.mp4
Format de tâche générique
Soumettre une tâche
POST /v1/video/generationscurl https://test.kailin.com.cn/v1/video/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-token" \
-d '{
"model": "kling-v1",
"prompt": "Shuttles flying over a cyberpunk city",
"duration": 5
}'
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
model | string | Oui | Nom du modèle vidéo (voir la liste des modèles) |
prompt | string | Oui | Description de la scène |
image_url | string | Non | Image de première image pour l'image vers vidéo |
duration / size etc. | - | Non | Les autres paramètres transitent selon le modèle (durée, résolution, ratio d'aspect…) |
Réponse
{ "task_id": "4f6a2b1c-xxxx-xxxx-xxxx" }
Interroger la tâche
GET /v1/video/generations/{task_id}curl https://test.kailin.com.cn/v1/video/generations/4f6a2b1c-xxxx \
-H "Authorization: Bearer sk-your-token"
{
"task_id": "4f6a2b1c-xxxx",
"status": "SUCCESS",
"video_url": "https://oss.example.com/video/xxx.mp4",
"progress": "100%"
}
| Champ | Description |
|---|---|
status | Statut de la tâche (SUBMITTED / IN_PROGRESS / SUCCESS / FAILURE, selon le canal) |
video_url / url | URL du résultat (le nom du champ varie selon le canal) |
progress | Progression |
Avertissement
La génération vidéo prend de quelques dizaines de secondes à plusieurs minutes. Interrogez à intervalles de 10 à 30 secondes et conservez l'ID de tâche (les enregistrements de tâches de la passerelle ont une durée de rétention limitée). Le video_url est temporaire — réhébergez rapidement le fichier une fois la génération terminée.