Passer au contenu principal
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://api.evolink.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "wan2.7-reference-video",
  "prompt": "Le personnage de la vidéo de référence danse sur une prairie",
  "video_urls": [
    "https://example.com/reference.mp4"
  ]
}
'
{
  "created": 1757169743,
  "id": "task-unified-1757169743-7cvnl5zw",
  "model": "wan2.7-reference-video",
  "progress": 0,
  "status": "pending",
  "task_info": {
    "can_cancel": true,
    "estimated_time": 120
  },
  "type": "video",
  "usage": {
    "billing_rule": "per_call",
    "credits_reserved": 5,
    "user_group": "default"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.evolink.ai/llms.txt

Use this file to discover all available pages before exploring further.

Autorisations

Authorization
string
header
requis

Toutes les API nécessitent une authentification Bearer Token

Obtenir votre clé API :

Rendez-vous sur la page de gestion des clés API pour obtenir votre clé API

Ajoutez à l'en-tête de la requête :

Authorization: Bearer YOUR_API_KEY

Corps

application/json
model
enum<string>
requis

Nom du modèle, doit être wan2.7-reference-video

Options disponibles:
wan2.7-reference-video
Exemple:

"wan2.7-reference-video"

prompt
string
requis

Invite textuelle pour la génération vidéo. Prend en charge le chinois et l'anglais ; chaque caractère / lettre / signe de ponctuation compte pour 1, le surplus est tronqué automatiquement. Longueur maximale 5000 caractères

Règles d'indexation des personnages :

  • Chinois : utilisez « 图1, 图2 / 视频1, 视频2 » — correspond 1-based à l'ordre de image_urls / video_urls
  • Anglais : utilisez « Image 1 », « Video 1 » (majuscule initiale, espace entre le mot et le chiffre)
  • Les images et les vidéos sont comptées séparément, donc « Image 1 » et « Video 1 » peuvent coexister
  • Si une seule image ou une seule vidéo de référence est fournie, vous pouvez écrire « l'image de référence » ou « la vidéo de référence »

Image multi-cases (storyboard) : lorsqu'une image multi-cases est fournie, décrivez les plans clés au format storyboard ; le modèle reconnaît la grille et complète les transitions

Maximum string length: 5000
Exemple:

"Video 1 tient Image 3 et joue un doux folk country sur la chaise d'Image 4"

negative_prompt
string

Prompt négatif décrivant ce qui ne doit pas apparaître dans la vidéo. Prend en charge le chinois et l'anglais. Longueur maximale 500 caractères ; surplus tronqué automatiquement

Maximum string length: 500
Exemple:

"Flou, basse qualité"

image_start
string<uri>

URL de l'image de premier plan, utilisée comme première image de la vidéo générée. Ne compte pas dans la limite image_urls + video_urls ≤ 5. N'accepte pas la liaison vocale (le premier plan ne participe pas à l'attribution des voix multi-personnages)

Cas d'usage :

  • Le sujet apparaît déjà dans le premier plan : combinez avec des éléments de référence pour renforcer la cohérence d'identité
  • Le sujet n'est pas dans le premier plan : les éléments de référence définissent les nouveaux sujets qui apparaissent au cours de la vidéo

Limites d'image :

  • Formats : JPEG, JPG, PNG (transparence non prise en charge), BMP, WEBP
  • Résolution : largeur et hauteur dans [240, 8000] pixels
  • Rapport d'aspect : 1:8 ~ 8:1
  • Taille du fichier : jusqu'à 20 Mo
Exemple:

"https://example.com/first_frame.jpg"

image_urls
string<uri>[]

Liste d'URL d'images de référence. Peut fournir des sujets (personnes / animaux / objets) ou des arrière-plans de scène ; lorsqu'un sujet est inclus, chaque image devrait contenir un seul personnage

Limites de quantité :

  • image_urls + video_urls total ≤ 5
  • Au moins l'un de image_urls / video_urls doit être fourni (envoyer uniquement image_start ne suffit pas)

Limites d'image :

  • Formats : JPEG, JPG, PNG (transparence non prise en charge), BMP, WEBP
  • Résolution : largeur et hauteur dans [240, 8000] pixels
  • Rapport d'aspect : 1:8 ~ 8:1
  • Taille du fichier : jusqu'à 20 Mo
Exemple:
[
"https://example.com/ref1.jpg",
"https://example.com/ref2.jpg"
]
video_urls
string<uri>[]

Liste d'URL de vidéos de référence. La vidéo devrait contenir un sujet (personne / animal / objet) ; les plans vides ou purement de fond sont déconseillés. Lorsqu'un sujet est inclus, chaque vidéo devrait contenir un seul personnage. L'audio de la vidéo peut servir de référence vocale

Limites de quantité :

  • image_urls + video_urls total ≤ 5
  • Au moins l'un de image_urls / video_urls doit être fourni

Limites vidéo :

  • Formats : mp4, mov
  • Durée : 1 ~ 30 secondes
  • Résolution : largeur et hauteur dans [240, 4096] pixels
  • Rapport d'aspect : 1:8 ~ 8:1
  • Taille du fichier : jusqu'à 100 Mo

Note : lorsque video_urls est fourni, duration est plafonné à 10 secondes

Exemple:
["https://example.com/reference.mp4"]
audio_urls
string<uri>[]

[Champ de compatibilité — préférez model_params.voice_bindings]

Liste d'URL de voix de référence. Liées positionnellement aux éléments de référence dans cet ordre : d'abord avec video_urls, puis avec image_urls (dans l'ordre de leurs listes, un à un). Jusqu'à 5 éléments

Priorité :

  • Lorsque model_params.voice_bindings et audio_urls sont tous deux fournis, seul voice_bindings est utilisé et ce champ est ignoré
  • Si une vidéo dans video_urls contient de l'audio et qu'aucune liaison vocale n'est définie, l'audio original est utilisé ; une liaison vocale explicite remplace l'audio original

Limites audio :

  • Formats pris en charge : wav, mp3
  • Durée : 1 ~ 10 secondes
  • Taille du fichier : jusqu'à 15 Mo
Maximum array length: 5
Exemple:
[
"https://example.com/voice1.mp3",
"https://example.com/voice2.mp3"
]
model_params
object

Conteneur de paramètres avancés (recommandé)

quality
enum<string>
défaut:720p

Qualité vidéo, par défaut 720p

Options :

  • 720p : définition standard, prix standard (par défaut)
  • 1080p : haute définition, prix plus élevé
Options disponibles:
720p,
1080p
Exemple:

"720p"

aspect_ratio
enum<string>
défaut:16:9

Rapport d'aspect vidéo, par défaut 16:9

Comportement :

  • image_start non fourni : la vidéo est générée avec le aspect_ratio spécifié
  • image_start fourni : ce champ est ignoré ; la vidéo utilise un rapport d'aspect proche de l'image de premier plan

Résolution de sortie par niveau de qualité :

Qualité16:99:161:14:33:4
720p1280×720720×1280960×9601104×832832×1104
1080p1920×10801080×19201440×14401648×12481248×1648
Options disponibles:
16:9,
9:16,
1:1,
4:3,
3:4
Exemple:

"16:9"

duration
number
défaut:5

Durée vidéo en secondes (entier)

Plage :

  • Sans video_urls : 2 ~ 15, par défaut 5
  • Avec video_urls : 2 ~ 10 (plafonné à 10 secondes)

Facturation : basée sur la durée réelle de la vidéo générée

Plage requise: 2 <= x <= 15
Exemple:

5

seed
integer

Graine aléatoire, aléatoire par défaut

Notes :

  • Plage : 1 ~ 2147483647
  • Fixer la graine réduit la variation lors de l'itération sur les prompts et améliore la reproductibilité
Plage requise: 1 <= x <= 2147483647
Exemple:

42

prompt_extend
boolean
défaut:false

Activer ou non la réécriture intelligente du prompt. Lorsqu'elle est activée, un grand modèle optimise le prompt, ce qui améliore nettement les résultats pour des prompts simples ou peu descriptifs.

Note : la valeur par défaut est false. Omettre le champ ou envoyer false ne déclenchera pas la réécriture ; envoyez explicitement true pour l'activer.

Exemple:

false

callback_url
string<uri>

URL de callback HTTPS pour la fin de tâche

Moment du callback :

  • Déclenché à la fin, l'échec ou l'annulation de la tâche
  • Envoyé après confirmation de facturation

Restrictions de sécurité :

  • Seul HTTPS est pris en charge
  • Les callbacks vers des adresses IP internes 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 dépasser 2048 caractères

Mécanisme de callback :

  • Délai d'attente : 10 secondes
  • Jusqu'à 3 tentatives après échec (à 1/2/4 secondes)
  • Le format de réponse du callback est identique à celui de l'API de requête de tâche
  • Les codes 2xx sont considérés comme réussis ; les autres codes déclenchent des nouvelles tentatives
Exemple:

"https://your-domain.com/webhooks/video-task-completed"

Réponse

Tâche vidéo créée avec succès

created
integer

Horodatage de création de la tâche

Exemple:

1757169743

id
string

ID de la tâche

Exemple:

"task-unified-1757169743-7cvnl5zw"

model
string

Nom du modèle réellement utilisé

Exemple:

"wan2.7-reference-video"

object
enum<string>

Type spécifique de tâche

Options disponibles:
video.generation.task
progress
integer

Pourcentage d'avancement de la tâche (0-100)

Plage requise: 0 <= x <= 100
Exemple:

0

status
enum<string>

Statut de la tâche

Options disponibles:
pending,
processing,
completed,
failed
Exemple:

"pending"

task_info
object

Informations détaillées sur la tâche vidéo

type
enum<string>

Type de sortie de la tâche

Options disponibles:
text,
image,
audio,
video
Exemple:

"video"

usage
object

Informations d'utilisation et de facturation