Référence API
Vidéos
Modèles sur cet endpoint (13)
/v1/videos/v1/videos/{task_id}/v1/videos/{task_id}/contentGénération vidéo asynchrone (Seedance, Kling, Veo, Wan, Grok Imagine …). /v1/videos accepte les entrées texte vers vidéo et image vers vidéo dans une seule requête au format OpenAI. Elle renvoie un task_id à interroger — ou enregistrez un webhook lors de la soumission.
#Paramètres de la requête
modelstringobligatoireUn ID de modèle vidéo issu de la page des modèles, par ex. doubao-seedance-2.5.
promptstringobligatoireDescription de la scène ; pour image2video, elle oriente le mouvement.
imagestringfacultatifimage2video uniquement : première image de la vidéo, en URL ou en base64.
imagesarrayfacultatifImages de référence pour les fournisseurs qui acceptent plusieurs images dans une même tâche.
durationnumberfacultatifDurée du clip en secondes — une dimension de palier ; valeurs prises en charge selon la fiche du modèle.
secondsnumberfacultatifAlias utilisé par certaines familles de modèles pour la durée du clip ; privilégiez le champ duration.
resolutionstringfacultatifPalier de résolution de sortie, comme 720p ou 1080p, lorsque le modèle l'expose.
sizestringfacultatifSélecteur de format ou de taille pour les familles de modèles qui utilisent un dimensionnement largeur x hauteur.
webhook_urlstringfacultatifURL HTTPS appelée dès que la tâche atteint un état final — voir le guide vidéo pour le contrat de callback.
webhook_secretstringfacultatifSi défini, les envois portent X-Xiaoxiang-Signature: sha256=hex(HMAC-SHA256(body, secret)).
Transmission des paramètres fournisseur
Les tâches échouées sont remboursées automatiquement
#Annuler une tâche en cours
/v1/videos/:task_idArrête une tâche qui n'a pas atteint d'état final. En cas de succès, le quota réservé est remboursé, la tâche est enregistrée comme échouée avec le motif "cancelled by user", et tout webhook enregistré se déclenche en task.failed.
La plupart des fournisseurs ne permettent pas l'annulation
curl -X DELETE https://www.aisplice.store/v1/videos/task_xxx \
-H "Authorization: Bearer sk-YOUR_KEY"{
"id": "task_xxx",
"task_id": "task_xxx",
"status": "cancelled"
}Notez que "cancelled" n'apparaît que dans cette réponse. Une interrogation ultérieure indique que la tâche a échoué, car c'est l'état vers lequel elle a été déplacée.
- 404 task_not_existID de tâche inconnu, ou appartenant à un autre compte.
- 409 task_not_cancellableLa tâche est déjà terminée — il n'y a rien à arrêter.
- 501 task_cancel_not_supportedCe fournisseur n'expose aucune API d'annulation.
#Remixer une vidéo existante
/v1/videos/:video_id/remixRégénère une vidéo terminée avec un nouveau prompt, sur les modèles qui le permettent. N'envoyez que prompt : le modèle, la durée, la résolution et les facteurs de prix sont hérités de la tâche d'origine, et la requête est liée au canal qui l'a produite.
curl https://www.aisplice.store/v1/videos/task_xxx/remix \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: remix-of-task_xxx" \
-d '{"prompt": "Same shot, at night"}'{
"task_id": "task_yyy",
"status": "queued",
"remixed_from_video_id": "task_xxx"
}Un remix est une nouvelle tâche facturable
- 400 invalid_requestprompt est obligatoire pour un remix.
- 400 task_not_existL'id de la vidéo source est inconnu ou appartient à un autre compte.
- 400 task_channel_disableLe canal qui a produit la vidéo d'origine n'est plus activé.
#Erreurs associées
- 404 not_foundChemin inconnu, nom de modèle inconnu, ou task_id expiré / appartenant à un autre compte.
- 422 unprocessable_entityLe fournisseur a rejeté des valeurs de paramètres transmises par la passerelle (par ex. taille ou durée non prise en charge).
- 401Jeton bearer invalide ou manquant. Pas de error.code sur ce chemin — basez-vous sur le statut.
- 402 insufficient_user_quotaLe solde du portefeuille ne couvre pas l'estimation préréservée.
- 429Limitation par clé. Corps vide ; attendez Retry-After. Un 429 qui contient insufficient_user_quota correspond en revanche à un plafond de dépenses quotidien.
- 503 model_not_foundModèle inconnu, ou aucun canal opérationnel ne le sert actuellement.
#Exemple de requête
# submit
curl https://www.aisplice.store/v1/videos \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "doubao-seedance-2.5", "prompt": "A drone shot of a lighthouse at dawn"}'
# poll every 5s
curl https://www.aisplice.store/v1/videos/$TASK_ID -H "Authorization: Bearer sk-YOUR_KEY"
# download when completed
curl -L https://www.aisplice.store/v1/videos/$TASK_ID/content -o out.mp4 -H "Authorization: Bearer sk-YOUR_KEY"#Réponse
// POST — submit accepted
{"task_id": "task_xxx", "status": "queued"}
// GET /v1/videos/{task_id}
{
"task_id": "task_xxx",
"status": "in_progress", // queued | in_progress | completed | failed
"progress": "45%"
}
// terminal state
{
"task_id": "task_xxx",
"status": "completed",
"metadata": {"url": "https://…"}
}Toujours bloqué ?
Envoyez-nous l'ID de requête ou le message d'erreur, et nous examinerons le problème.