curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "kling-custom-element",
"model_params": {
"element_name": "Mon personnage",
"element_description": "Un jeune personnage masculin aux cheveux courts, portant un T-shirt blanc",
"reference_type": "image_refer",
"element_image_list": {
"frontal_image": "https://example.com/front.jpg",
"refer_images": [
{
"image_url": "https://example.com/side.jpg"
}
]
}
}
}
'{
"created": 1757169743,
"id": "task-unified-1757169743-8dxnm6yz",
"model": "kling-custom-element",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 30
},
"type": "video",
"usage": {
"billing_rule": "per_call",
"credits_reserved": 1,
"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-custom-element",
"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": "upstream_error",
"message": "Upstream AI service unavailable",
"type": "upstream_error"
}
}Kling Élément personnalisé
- Kling Custom Element (kling-custom-element) crée des éléments de sujet réutilisables (personnages/objets) à partir d’images ou de vidéos de référence
- Après une création réussie, l’
element_idretourné peut être référencé dans la série Kling O3 et Kling V3 Image-vers-Vidéo via le paramètreelement_list, permettant un contrôle cohérent de l’apparence des personnages - Mode de traitement asynchrone, utilisez l’ID de tâche retourné pour interroger le statut
- À l’achèvement de la tâche,
result_datacontiendra l’element_idpour la génération vidéo
Notes importantes :
- Ce modèle est utilisé pour créer des sujets réutilisables (éléments), il ne génère pas de vidéos, aucun paramètre prompt / duration / quality / aspect_ratio n’est nécessaire
curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "kling-custom-element",
"model_params": {
"element_name": "Mon personnage",
"element_description": "Un jeune personnage masculin aux cheveux courts, portant un T-shirt blanc",
"reference_type": "image_refer",
"element_image_list": {
"frontal_image": "https://example.com/front.jpg",
"refer_images": [
{
"image_url": "https://example.com/side.jpg"
}
]
}
}
}
'{
"created": 1757169743,
"id": "task-unified-1757169743-8dxnm6yz",
"model": "kling-custom-element",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 30
},
"type": "video",
"usage": {
"billing_rule": "per_call",
"credits_reserved": 1,
"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-custom-element",
"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": "upstream_error",
"message": "Upstream AI service unavailable",
"type": "upstream_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
kling-custom-element "kling-custom-element"
Paramètres du modèle
Show child attributes
Show child attributes
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 création d'élément de sujet soumise avec succès
Horodatage de création de la tâche
1757169743
ID de tâche
"task-unified-1757169743-8dxnm6yz"
Nom du modèle réellement utilisé
"kling-custom-element"
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
Show child attributes
Show child attributes
Type de sortie de la tâche
video "video"
Informations d'utilisation et de facturation
Show child attributes
Show child attributes