curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "seedance-2.0-reference-to-video",
"prompt": "Use the first-person perspective framing of @video1 throughout, and use @audio1 as background music throughout. First-person perspective fruit tea promotional video...",
"image_urls": [
"https://example.com/ref1.jpg",
"https://example.com/ref2.jpg"
],
"video_urls": [
"https://example.com/reference.mp4"
],
"audio_urls": [
"https://example.com/bgm.mp3"
],
"duration": 10,
"quality": "720p",
"aspect_ratio": "16:9",
"generate_audio": true,
"content_filter": true
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.0-reference-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 165,
"video_duration": 8
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 50,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"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.0-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"
}
}Seedance 2.0 Reference-to-Video
- Entrez des images de reference (0-9) + des videos de reference (0-3) + des audios de reference (0-3) + un prompt textuel pour generer une video
- Prend en charge la creation, l’edition et l’extension de videos, ainsi que divers scenarios creatifs
- 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.0-reference-to-video",
"prompt": "Use the first-person perspective framing of @video1 throughout, and use @audio1 as background music throughout. First-person perspective fruit tea promotional video...",
"image_urls": [
"https://example.com/ref1.jpg",
"https://example.com/ref2.jpg"
],
"video_urls": [
"https://example.com/reference.mp4"
],
"audio_urls": [
"https://example.com/bgm.mp3"
],
"duration": 10,
"quality": "720p",
"aspect_ratio": "16:9",
"generate_audio": true,
"content_filter": true
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.0-reference-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 165,
"video_duration": 8
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 50,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"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.0-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"
}
}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
seedance-2.0-reference-to-video "seedance-2.0-reference-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. Longueur maximale du prompt : 10000 tokens
Details :
- Pour faire reference aux ressources d'entree dans le prompt, utilisez de preference des balises explicites comme
@image1,@video1et@audio1, plutot que de vous fier uniquement a des references en langage naturel telles que « image 1 », « video 1 » ou « audio 1 » - La numerotation des balises suit l'ordre du tableau d'URL correspondant et commence a 1 : le premier element de
image_urlsest@image1, le premier devideo_urlsest@video1et le premier deaudio_urlsest@audio1 - La numerotation en langage naturel peut encore etre comprise, mais les balises explicites associent plus clairement chaque ressource a son usage
"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 de reference, 0 a 9 images
Description des roles :
| Type de media | Role | Utilisation typique |
|---|---|---|
| Image | reference_image | Reference de style, image produit, premiere/derniere image (specifiee via le prompt) |
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, ne pas utiliser l'encodage Base64 - Les URLs d'images doivent etre directement accessibles par le serveur
Remarque : Il n'est pas possible de fournir uniquement audio_urls, vous devez inclure au moins 1 image (image_urls) ou 1 video (video_urls)
9[
"https://example.com/ref1.jpg",
"https://example.com/ref2.jpg"
]
Tableau d'URLs de videos de reference, 0 a 3 videos
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
- Duree par video :
2a15secondes, maximum 3 videos, duree totale de toutes les videos ≤15secondes - Rapport d'aspect (largeur/hauteur) :
0.4a2.5 - Dimensions en pixels :
300a6000px - Pixels d'image (largeur x hauteur) :
409 600a2 086 876(ex. 640×640 a 834×1112) - Taille maximale par video :
50 Mo - Frequence d'images :
24a60FPS - Taille totale du corps de requete ne depassant pas
64 Mo, ne pas utiliser l'encodage Base64 - 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
Remarque : Il n'est pas possible de fournir uniquement audio_urls, vous devez inclure au moins 1 image (image_urls) ou 1 video (video_urls)
3["https://example.com/reference.mp4"]
Tableau d'URLs d'audios de reference, 0 a 3 segments
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 :
2a15secondes, maximum 3 segments, duree totale de tous les audios ≤15secondes - 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
Remarque : L'audio ne peut pas etre fourni seul, il doit inclure au moins 1 video ou image de reference
3["https://example.com/bgm.mp3"]
Duree de la video de sortie (secondes), par defaut 5 secondes
Details :
- Prend en charge toute valeur entiere entre
4et15secondes - La duree est directement liee a la facturation
4 <= x <= 1510
Resolution video, par defaut 720p
Valeurs possibles :
480p: resolution inferieure, prix reduit720p: resolution standard, valeur par defaut1080p: resolution Ultra HD4k: resolution 4K Ultra HD
480p, 720p, 1080p, 4k "720p"
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: determine en fonction de l'intention du prompt, priorite : video > image > prompt
Pixels correspondants par resolution :
| Rapport d'aspect | 480p | 720p | 1080p | 4K |
|---|---|---|---|---|
| 16:9 | 864×496 | 1280×720 | 1920×1080 | 3840×2160 |
| 4:3 | 752×560 | 1112×834 | 1664×1248 | 3326×2494 |
| 1:1 | 640×640 | 960×960 | 1440×1440 | 2880×2880 |
| 3:4 | 560×752 | 834×1112 | 1248×1664 | 2494×3326 |
| 9:16 | 496×864 | 720×1280 | 1080×1920 | 2160×3840 |
| 21:9 | 992×432 | 1470×630 | 2206×946 | 4398×1886 |
16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptive "16:9"
Generer ou non un audio synchronise, par defaut true
Valeurs possibles :
true: la video inclut un audio synchronise, sans frais supplementairesfalse: video muette en sortie
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
URL de rappel HTTPS apres l'achevement de la tache
Declenchement du rappel :
- Declenche lorsque la tache est terminee (completed), echouee (failed) ou annulee (cancelled)
- 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.0-reference-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