curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "seedance-2.5-text-to-video",
"prompt": "A macro lens focuses on a green glass frog on a leaf. The focus gradually shifts from its smooth skin to its completely transparent abdomen, where a bright red heart is beating powerfully and rhythmically.",
"duration": 8,
"quality": "720p",
"aspect_ratio": "16:9",
"generate_audio": true,
"content_filter": true
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.5-text-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 165,
"video_duration": 8
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 50,
"user_group": "default"
}
}{
"error": {
"code": "invalid_parameter",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: seedance-2.5-reference-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}{
"error": {
"code": "draft_unavailable",
"message": "Draft mode is not available on the selected service right now. Retry later or send the request without draft.",
"type": "invalid_request_error"
}
}Seedance 2.5 Guide complet des paramètres
Interface unifiee pour la serie complete Seedance 2.5, selectionnez le modele specifique via le parametre model
5 modes de generation :
- Text-to-Video : generation de video a partir d’une description textuelle pure, avec prise en charge de la recherche web
- Image-to-Video : generation de video pilotee par 1 a 2 images comme premiere et derniere image
- Reference-to-Video : reference multimodale combinant images + videos + audios
- Video Edit : modifie une video d’entree — remplacer des sujets, ajouter ou supprimer des objets, restyliser des zones
- Video Extend : prolonge une video d’entree vers l’avant ou vers l’arriere
Mode brouillon :
-
Envoyez
draft: truedans l’un des modes de génération pour obtenir plus rapidement un brouillon en 480p, facturé au tarif normal de la résolution 480p -
Si le résultat vous convient, utilisez Seedance 2.5 Draft-to-Video pour obtenir une vidéo finale en 1080p au contenu identique. Les deux générations sont facturées séparément ; vous pouvez choisir de ne pas convertir le brouillon
-
La conversion reprend les paramètres de génération du brouillon. Les champs
modeletsource_task_idsont obligatoires ;output_formatetcallback_urlsont facultatifs. Consultez cette page pour la liste complète des paramètres et les règles de facturation -
Prend desormais en charge les contenus humains realistes generes par IA (AIGC)
-
Mode de traitement asynchrone, utilisez l’ID de tache retourne pour consulter le statut
-
Le lien de la video generee est valide pendant 24 heures, veuillez le sauvegarder rapidement
curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "seedance-2.5-text-to-video",
"prompt": "A macro lens focuses on a green glass frog on a leaf. The focus gradually shifts from its smooth skin to its completely transparent abdomen, where a bright red heart is beating powerfully and rhythmically.",
"duration": 8,
"quality": "720p",
"aspect_ratio": "16:9",
"generate_audio": true,
"content_filter": true
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.5-text-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 165,
"video_duration": 8
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 50,
"user_group": "default"
}
}{
"error": {
"code": "invalid_parameter",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: seedance-2.5-reference-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}{
"error": {
"code": "draft_unavailable",
"message": "Draft mode is not available on the selected service right now. Retry later or send the request without draft.",
"type": "invalid_request_error"
}
}Autorisations
Toutes les interfaces necessitent une authentification par Bearer Token
Obtenir une cle API :
Visitez la Page de gestion des cles API pour obtenir votre cle API
Ajoutez dans l'en-tete de la requete :
Authorization: Bearer YOUR_API_KEY
Corps
Nom du modele de generation video
| ID du modele | Mode | Materiaux d'entree |
|---|---|---|
seedance-2.5-text-to-video | Text-to-Video | prompt |
seedance-2.5-image-to-video | Image-to-Video | prompt + image_urls |
seedance-2.5-reference-to-video | Reference-to-Video | prompt + image_urls / video_urls / audio_urls |
seedance-2.5-video-edit | Video Edit | prompt + video_urls |
seedance-2.5-video-extend | Video Extend | prompt + video_urls |
seedance-2.5-text-to-video, seedance-2.5-image-to-video, seedance-2.5-reference-to-video, seedance-2.5-video-edit, seedance-2.5-video-extend "seedance-2.5-text-to-video"
Prompt textuel decrivant la video souhaitee. Prend en charge le chinois et l'anglais, il est recommande de ne pas depasser 500 caracteres en chinois et 1000 mots en anglais. Longueur maximale du prompt : 10000 tokens
Utilisation du prompt selon le modele :
- Text-to-Video : description textuelle pure, ne prend pas en charge l'utilisation de
image_urls,video_urls,audio_urlsdans le prompt - Image-to-Video : description textuelle pure, ne prend pas en charge l'utilisation de
video_urls,audio_urlsdans le prompt - Reference-to-Video : Pour faire reference aux ressources d'entree, utilisez de preference des balises explicites comme
@image1,@video1et@audio1. La numerotation suit l'ordre du tableau d'URL correspondant et commence a 1. La numerotation en langage naturel peut encore etre comprise, mais les balises explicites associent plus clairement chaque ressource a son usage - Video Edit : doit exprimer l'intention d'edition et utiliser
@video1,@image1pour preciser le role de chaque element - Video Extend : doit preciser le sens de l'extension (vers l'avant / vers l'arriere) et utiliser
@video1pour designer la video prolongee
Evitez toute intention d'edition / extension dans les prompts Reference-to-Video (editer la video, ajouter, supprimer / enlever, modifier / remplacer, prolonger vers l'avant / vers l'arriere, continuer) : avec ces formulations, la requete est validee comme Video Edit / Video Extend, donc un aspect_ratio autre que adaptive (ou un duration autre que -1 pour les taches d'edition) fait echouer la tache plus tard, sans erreur a l'envoi. Dans ce cas, basculez directement model sur seedance-2.5-video-edit / seedance-2.5-video-extend
"Use the first-person perspective framing of @video1 throughout, and use @audio1 as background music throughout. First-person perspective fruit tea promotional video..."
Tableau d'URLs d'images
Modeles applicables et limites de quantite :
- Text-to-Video : non pris en charge
- Image-to-Video : obligatoire, 1 a 2 images
- Reference-to-Video : optionnel, 1 a 30 images
- Video Edit : optionnel, 1 a 30 images
- Video Extend : optionnel, 1 a 30 images
Comportement des images pour Image-to-Video :
| Nombre d'images | Comportement | Role |
|---|---|---|
| 1 image | Video a partir de la premiere image | Definie automatiquement comme first_frame |
| 2 images | Video a partir de la premiere et derniere image | 1ere image -> first_frame, 2eme image -> last_frame |
Roles des images pour Reference-to-Video :
- Reference de style, image produit, apparence du personnage, premiere/derniere image (specifiee via le prompt)
Condition requise : Au moins un des champs image_urls, video_urls ou audio_urls doit etre fourni.
Exigences pour les images :
- Formats pris en charge :
.jpeg,.png,.webp - Rapport d'aspect (largeur/hauteur) :
0.4a2.5 - Dimensions en pixels :
300a6000px - Taille maximale par image :
30 Mo - Taille totale du corps de requete ne depassant pas
64 Mo - Lors de la transmission de la premiere et derniere image, les deux images peuvent etre identiques. En cas de rapport d'aspect different, la premiere image est prioritaire et la derniere image est automatiquement recadree
- Les URLs d'images doivent etre directement accessibles par le serveur
1 - 30 elements[
"https://example.com/ref1.jpg",
"https://example.com/ref2.jpg"
]
Tableau d'URLs de videos de reference, facultatif ; 1 a 10 videos si fourni
S'applique aux modeles Reference-to-Video, Video Edit et Video Extend ; les autres modeles ne prennent pas en charge ce parametre
Obligatoire pour Video Edit / Video Extend : au moins 1 video, la premiere etant celle a editer ou a prolonger.
Condition requise : Au moins un des champs image_urls, video_urls ou audio_urls doit etre fourni.
Description des roles :
| Type de media | Role | Utilisation typique |
|---|---|---|
| Video | reference_video | Reference de mouvement de camera, reference d'action, video originale a editer/etendre |
Exigences pour les videos :
- Formats pris en charge :
.mp4,.mov - Resolution : 480p, 720p, 1080p, 4K
- Duree par video :
2a30secondes, maximum 10 videos, duree totale de toutes les videos ≤30secondes - Rapport d'aspect (largeur/hauteur) :
0.4a2.5 - Dimensions en pixels :
300a6000px - Pixels d'image (largeur x hauteur) :
409 600a8 295 044(ex. 640×640 a 3326×2494) - Taille maximale par video :
200 Mo - Frequence d'images :
24a60FPS - Taille totale du corps de requete ne depassant pas
64 Mo, ne pas utiliser l'encodage Base64 - La validite du codec, de la resolution et des autres caracteristiques du contenu est verifiee en plus par le modele
- L'utilisation de references video entraine des frais supplementaires (la duree de la video d'entree est comptabilisee dans la facturation)
- Les URLs de videos doivent etre directement accessibles par le serveur
1 - 10 elements["https://example.com/reference.mp4"]
Tableau d'URLs d'audios de reference, facultatif ; 1 a 10 segments si fourni
S'applique aux modeles Reference-to-Video, Video Edit et Video Extend ; les autres modeles ne prennent pas en charge ce parametre
Condition requise : Au moins un des champs image_urls, video_urls ou audio_urls doit etre fourni.
Description des roles :
| Type de media | Role | Utilisation typique |
|---|---|---|
| Audio | reference_audio | Musique de fond, effets sonores, reference vocale/dialogue |
Exigences pour les audios :
- Formats pris en charge :
.wav,.mp3 - Duree par segment audio :
2a30secondes, maximum 10 segments, duree totale de tous les audios ≤30secondes - Taille maximale par segment :
15 Mo - Taille totale du corps de requete ne depassant pas
64 Mo, ne pas utiliser l'encodage Base64 - Les URLs d'audios doivent etre directement accessibles par le serveur
1 - 10 elements["https://example.com/bgm.mp3"]
Duree de la video de sortie (secondes), par defaut 5 secondes
Details :
- Prend en charge toute valeur entiere entre
4et30secondes -1: duree automatique, le modele choisit une duree entre4et30secondes et la facturation suit la duree reellement produite- La duree est directement liee a la facturation
- Video Edit ne prend en charge que
-1: la duree de sortie suit la video d'entree et ne peut pas etre choisie
Applicable aux 5 modeles
10
Resolution video, par defaut 720p
Valeurs possibles :
480p: resolution inferieure, prix reduit720p: resolution standard, valeur par defaut1080p: resolution Ultra HD
Applicable aux 5 modeles
Mode brouillon : lorsque draft vaut true, seule la résolution 480p est autorisée. Si quality est omis, 480p est utilisé automatiquement
480p, 720p, 1080p "720p"
Active le mode brouillon, false par défaut
Détails :
true: génère d’abord un brouillon en 480p, plus rapidement, au tarif normal de la résolution 480p- Lorsque ce mode est activé,
qualitydoit valoir480pou être omis. Toute autre résolution renvoie une erreur de paramètre 400 - Ce champ doit figurer au niveau racine du corps de la requête. Le placer dans
model_paramsrenvoie une erreur de paramètre 400
Conversion en vidéo finale :
- Une fois le brouillon terminé, la consultation de la tâche renvoie
draft_expires_at - Avant cette échéance, transmettez l’ID de tâche du brouillon à Seedance 2.5 Draft-to-Video pour générer une vidéo finale en 1080p au contenu identique
- La vidéo finale et le brouillon sont facturés séparément. Si le brouillon ne vous convient pas, vous pouvez renoncer à la conversion et ne payer que le brouillon
- Par défaut, le brouillon reste convertible pendant 24 heures après son achèvement ;
draft_expires_atindique l’échéance réelle. Envoyez la demande de conversion suffisamment tôt : une expiration pendant l’attente dans la file entraîne également l’échec de la conversion
Indisponibilité temporaire : une réponse 503 peut être renvoyée lorsque le service est temporairement indisponible. Si le code d’erreur est draft_unavailable, réessayez plus tard ou retirez draft pour utiliser le mode normal
false
Rapport d'aspect de la video, par defaut adaptive
Valeurs possibles :
16:9(paysage),9:16(portrait),1:1(carre),4:3,3:4,21:9(ultra-large)adaptive: selection automatique du meilleur rapport
Comportement de adaptive selon le modele :
- Text-to-Video : selection automatique en fonction du contenu du prompt
- Image-to-Video : adaptation automatique en fonction du rapport d'aspect de la premiere image (ce modele prend uniquement en charge
adaptive, les rapports fixes ne peuvent pas etre specifies) - Reference-to-Video : priorite : rapport de la video > rapport de l'image > deduction du prompt
- Video Edit / Video Extend : suit le rapport de la premiere video d'entree (ces deux modeles ne prennent en charge que
adaptive)
Pixels correspondants par resolution :
| Rapport d'aspect | 480p | 720p | 1080p |
|---|---|---|---|
| 16:9 | 854×480 | 1280×720 | 1920×1080 |
| 4:3 | 752×560 | 1112×834 | 1664×1248 |
| 1:1 | 640×640 | 960×960 | 1440×1440 |
| 3:4 | 560×752 | 834×1112 | 1248×1664 |
| 9:16 | 480×854 | 720×1280 | 1080×1920 |
| 21:9 | 992×432 | 1470×630 | 2206×946 |
Applicable aux 5 modeles (Image-to-Video / Video Edit / Video Extend accepte uniquement adaptive)
16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptive "16:9"
Generer ou non un audio synchronise, par defaut true
true: la video inclut un audio synchronise (voix, effets sonores, musique de fond), sans frais supplementairesfalse: video muette en sortie
Applicable aux 5 modeles
true
Filtre de contenu, par defaut true
Valeurs possibles :
true: verification standard de securite du contenu, c'est la valeur par defautfalse: assouplit les restrictions de contenu, facture avec +10% (1.1x). Les contenus illegaux et interdits sont toujours appliques independamment de ce parametre
Incompatible avec la recherche web :
content_filter: falseetmodel_params.web_search: truene peuvent pas etre utilises ensemble ; les envoyer ensemble renvoie une erreur de parametre 400- Conservez
content_filter: true(valeur par defaut) si la recherche web est necessaire
true
Format de conteneur de sortie, par defaut mp4
Valeurs possibles :
mp4: encodage H.264, meilleure compatibilite et precision colorimetrique standard ; c'est la valeur par defautmov: H.264 + echantillonnage chroma yuv444p + audio PCM, fidelite colorimetrique superieure, recommande pour l'etalonnage, l'incrustation et le compositing. La lecture dans le navigateur peut ne pas fonctionner ; telechargez le fichier et lisez-le avec VLC / mpv / ffplay. Sans frais supplementaires
mp4, mov "mp4"
Parametres etendus du modele
Applicable uniquement aux modeles Text-to-Video
Show child attributes
Show child attributes
URL de rappel HTTPS apres l'achevement de la tache
Declenchement du rappel :
- Déclenché lorsque la tâche est terminée (completed) ou a échoué (failed)
- Envoye apres la confirmation de la facturation
Restrictions de securite :
- Seul le protocole HTTPS est pris en charge
- Les rappels vers les adresses IP privees sont interdits (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
- La longueur de l'URL ne doit pas depasser
2048caracteres
Mecanisme de rappel :
- Delai d'expiration :
10secondes - Jusqu'a
3tentatives apres un echec (respectivement1/2/4secondes apres l'echec) - Le format du corps de reponse du rappel est identique a celui de l'interface de consultation de tache
- Un code de statut 2xx est considere comme un succes, les autres codes declenchent une nouvelle tentative
"https://your-domain.com/webhooks/video-task-completed"
Réponse
Tache de generation video creee avec succes
Horodatage de creation de la tache
1761313744
ID de la tache
"task-unified-1774857405-abc123"
Nom du modele effectivement utilise
"seedance-2.5-text-to-video"
Type specifique de la tache
video.generation.task Pourcentage de progression de la tache (0-100)
0 <= x <= 1000
Statut de la tache
pending, processing, completed, failed "pending"
Informations detaillees de la tache video
Show child attributes
Show child attributes
Type de sortie de la tache
text, image, audio, video "video"
Informations d'utilisation et de facturation
Show child attributes
Show child attributes