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": "Mi personaje",
"element_description": "Un joven personaje masculino con cabello corto, vistiendo una camiseta blanca",
"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 Elemento personalizado
- Kling Custom Element (kling-custom-element) crea elementos de sujeto reutilizables (personajes/objetos) a partir de imágenes o videos de referencia
- Después de una creación exitosa, el
element_iddevuelto puede ser referenciado en la serie Kling O3 y Kling V3 Imagen-a-Video a través del parámetroelement_list, permitiendo un control consistente de la apariencia del personaje - Modo de procesamiento asíncrono, usa el ID de tarea devuelto para consultar estado
- Al completarse la tarea,
result_datacontendrá elelement_idpara la generación de video
Notas importantes:
- Este modelo se usa para crear sujetos reutilizables (elementos), no genera videos, no se necesitan parámetros prompt / duration / quality / aspect_ratio
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": "Mi personaje",
"element_description": "Un joven personaje masculino con cabello corto, vistiendo una camiseta blanca",
"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"
}
}Autorizaciones
Todas las APIs requieren autenticación Bearer Token
Obtener API Key:
Visita la Página de gestión de API Key para obtener tu API Key
Agregar al encabezado de la solicitud:
Authorization: Bearer YOUR_API_KEY
Cuerpo
Nombre del modelo
kling-custom-element "kling-custom-element"
Parámetros del modelo
Show child attributes
Show child attributes
URL de callback HTTPS para completación de tarea
Momento del Callback:
- Se activa cuando la tarea se completa, falla o se cancela
- Se envía después de la confirmación de facturación
Restricciones de Seguridad:
- Solo protocolo HTTPS
- Direcciones IP internas están prohibidas (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
- La longitud de la URL no debe exceder
2048caracteres
Mecanismo de Callback:
- Tiempo de espera:
10segundos - Máximo
3reintentos después del fallo (a1/2/4segundos después del fallo) - El formato de respuesta del callback es consistente con la API de consulta de tareas
- El código de estado 2xx se considera exitoso, otros códigos activan reintento
"https://your-domain.com/webhooks/video-task-completed"
Respuesta
Tarea de creación de elemento de sujeto enviada exitosamente
Marca de tiempo de creación de la tarea
1757169743
ID de tarea
"task-unified-1757169743-8dxnm6yz"
Nombre del modelo real utilizado
"kling-custom-element"
Tipo de tarea
video.generation.task Porcentaje de progreso de la tarea (0-100)
0 <= x <= 1000
Estado de la tarea
pending, processing, completed, failed "pending"
Detalles de la tarea
Show child attributes
Show child attributes
Tipo de salida de la tarea
video "video"
Información de uso y facturación
Show child attributes
Show child attributes