curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "kling-v4-image-to-video",
"prompt": "The person in the image slowly turns their head and smiles",
"image_start": "https://example.com/portrait.jpg",
"duration": 5,
"quality": "720p"
}
'{
"created": 1757169743,
"id": "task-unified-1757169743-7cvnl5zw",
"model": "kling-v4-image-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 300,
"video_duration": 5
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 53.38,
"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: kling-v4-image-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"
}
}Kling-4.0 Image vers Vidéo
- Kling-4.0 Image to Video (kling-v4-image-to-video) génère des vidéos à partir d’images
- Prend en charge une première et une dernière image, ainsi que des images intermédiaires entre elles
- Le rapport d’aspect est déterminé par l’image de première trame,
aspect_ration’est pas accepté - Mode de traitement asynchrone, utilisez l’ID de tâche retourné pour consulter le statut
- Les liens vidéo générés sont valides pendant 24 heures, veuillez les sauvegarder rapidement
curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "kling-v4-image-to-video",
"prompt": "The person in the image slowly turns their head and smiles",
"image_start": "https://example.com/portrait.jpg",
"duration": 5,
"quality": "720p"
}
'{
"created": 1757169743,
"id": "task-unified-1757169743-7cvnl5zw",
"model": "kling-v4-image-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 300,
"video_duration": 5
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 53.38,
"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: kling-v4-image-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 API nécessitent une authentification Bearer Token
Obtenir une clé API :
Visitez la Page de gestion des clés API pour obtenir votre clé API
Ajouter à l'en-tête de requête :
Authorization: Bearer YOUR_API_KEY
Corps
Nom du modèle de génération vidéo
kling-v4-image-to-video "kling-v4-image-to-video"
URL de l'image de première trame pour la génération image-vers-vidéo (requis)
Remarque :
- Taille de l'image : jusqu'à
10 Mo - Formats pris en charge :
.jpg,.jpeg,.png - Dimensions de l'image : largeur et hauteur >=
300px, rapport d'aspect entre1:2.5et2.5:1 - L'URL de l'image doit être directement accessible par le serveur ou déclencher un téléchargement direct lors de l'accès
"https://example.com/portrait.jpg"
Prompt textuel décrivant la vidéo à générer
Remarque :
- Maximum
2500caractères
2500"The person in the image slowly turns their head and smiles"
URL de l'image de dernière trame
Remarque :
image_start(première trame) doit être fourni lors de l'utilisation de la dernière trame- Formats pris en charge :
.jpg,.jpeg,.png - Taille de l'image : jusqu'à
10 Mo - L'URL de l'image doit être directement accessible par le serveur ou déclencher un téléchargement direct lors de l'accès
"https://example.com/night.jpg"
Images intermédiaires, réparties uniformément dans l’ordre indiqué entre la première et la dernière image
Remarque :
- Nombre : de
1à8images - Le total des images initiale, intermédiaires et finale ne doit dépasser ni
10images niduration+ 1 (par exemple, au maximum4images pour3secondes ou6images pour5secondes) - La dernière image est facultative. Si elle est omise, le modèle génère l’image de fin
- Taille de l'image : jusqu'à
10 Mo - Formats pris en charge :
.jpg,.jpeg,.png - Dimensions de l'image : largeur et hauteur >=
300px, rapport d'aspect entre1:2.5et2.5:1 - L'URL de l'image doit être directement accessible par le serveur ou déclencher un téléchargement direct lors de l'accès
8Show child attributes
Show child attributes
[
{
"image_url": "https://example.com/half-open.jpg"
},
{
"image_url": "https://example.com/open.jpg"
}
]
Durée de la vidéo en secondes. Valeur par défaut : 5 secondes
Plage :
- Entier de
3à30
3 <= x <= 305
Niveau de résolution
Options :
720p: Standard 720P1080p: Haute qualité 1080P
720p, 1080p "720p"
URL de rappel HTTPS pour l'achèvement de la tâche
Moment du rappel :
- Déclenché lorsque la tâche est terminée, échouée ou annulée
- Envoyé après confirmation de la facturation
Restrictions de sécurité :
- Protocole HTTPS uniquement
- Les adresses IP internes sont interdites (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
2048caractères
Mécanisme de rappel :
- Délai d'expiration :
10secondes - Maximum
3tentatives après échec (à1/2/4secondes après l'échec) - Le format de réponse du rappel est cohérent avec l'API de requête de tâche
- Un code de statut 2xx est considéré comme un succès, les autres codes déclenchent une nouvelle tentative
"https://your-domain.com/webhooks/video-task-completed"
Réponse
Tâche de génération vidéo créée avec succès
Horodatage de création de la tâche
1757169743
ID de tâche
"task-unified-1757169743-7cvnl5zw"
Nom du modèle réellement utilisé
"kling-v4-image-to-video"
Type de tâche
video.generation.task Pourcentage de progression de la tâche (0-100)
0 <= x <= 1000
Statut de la tâche
pending, processing, completed, failed "pending"
Détails de la tâche vidéo
Show child attributes
Show child attributes
Type de sortie de la tâche
text, image, audio, video "video"
Informations d'utilisation et de facturation
Show child attributes
Show child attributes