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": "seedance-2.0-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
}
'
{
  "created": 1761313744,
  "id": "task-unified-1774857405-abc123",
  "model": "seedance-2.0-text-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"
  }
}

Autorisations

Authorization
string
header
requis

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

application/json
model
enum<string>
défaut:seedance-2.0-text-to-video
requis

Nom du modele de generation video

Options disponibles:
seedance-2.0-text-to-video
Exemple:

"seedance-2.0-text-to-video"

prompt
string
requis

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 ou 1000 mots en anglais

Remarque :

  • Ce modele est exclusivement text-to-video et ne prend pas en charge les entrees image_urls, video_urls, audio_urls
Exemple:

"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
integer
défaut:5

Duree de la video (secondes), par defaut 5 secondes

Details :

  • Prend en charge toute valeur entiere entre 4 et 15 secondes
  • La duree est directement liee a la facturation
Plage requise: 4 <= x <= 15
Exemple:

8

quality
enum<string>
défaut:720p

Resolution video, par defaut 720p

Valeurs possibles :

  • 480p : resolution inferieure, prix reduit
  • 720p : resolution standard, valeur par defaut
Options disponibles:
480p,
720p
Exemple:

"720p"

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

Rapport d'aspect de la video, par defaut 16:9

Valeurs possibles :

  • 16:9 (paysage), 9:16 (portrait), 1:1 (carre), 4:3, 3:4, 21:9 (ultra-large)
  • adaptive : le modele choisit intelligemment le meilleur rapport d'aspect en fonction du prompt

Pixels correspondants par resolution :

Rapport d'aspect480p720p
16:9864×4961280×720
4:3752×5601112×834
1:1640×640960×960
3:4560×752834×1112
9:16496×864720×1280
21:9992×4321470×630
Options disponibles:
16:9,
9:16,
1:1,
4:3,
3:4,
21:9,
adaptive
Exemple:

"16:9"

generate_audio
boolean
défaut:true

Generer ou non un audio synchronise, par defaut true

Valeurs possibles :

  • true : la video inclut un audio synchronise (voix, effets sonores, musique de fond), sans frais supplementaires. Il est recommande de placer les dialogues entre guillemets pour optimiser la generation audio
  • false : video muette en sortie
Exemple:

true

model_params
object

Parametres etendus du modele

callback_url
string<uri>

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 2048 caracteres

Mecanisme de rappel :

  • Delai d'expiration : 10 secondes
  • Jusqu'a 3 tentatives apres un echec (respectivement 1/2/4 secondes 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
Exemple:

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

Réponse

Tache de generation video creee avec succes

created
integer

Horodatage de creation de la tache

Exemple:

1761313744

id
string

ID de la tache

Exemple:

"task-unified-1774857405-abc123"

model
string

Nom du modele effectivement utilise

Exemple:

"seedance-2.0-text-to-video"

object
enum<string>

Type specifique de la tache

Options disponibles:
video.generation.task
progress
integer

Pourcentage de progression de la tache (0-100)

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

0

status
enum<string>

Statut de la tache

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

"pending"

task_info
object

Informations detaillees de la tache video

type
enum<string>

Type de sortie de la tache

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

"video"

usage
object

Informations d'utilisation et de facturation