Saltar al contenido principal
Este documento presentará las instrucciones de integración de la API de generación de movimiento Kling, que permite generar videos oficiales de Kling mediante la entrada de parámetros personalizados.

Proceso de solicitud

Para utilizar la API, primero debe ir a la página correspondiente de la API de generación de movimiento Kling para solicitar el servicio correspondiente. Una vez en la página, haga clic en el botón “Acquire”, como se muestra en la imagen: Si aún no ha iniciado sesión o registrado, será redirigido automáticamente a la página de inicio de sesión, invitándolo a registrarse e iniciar sesión. Después de iniciar sesión o registrarse, será redirigido automáticamente a la página actual. En la primera solicitud, se otorgará un crédito gratuito, lo que le permitirá utilizar la API de forma gratuita.

Uso básico

Primero, comprenda la forma básica de uso, que consiste en ingresar la palabra clave prompt, la imagen de referencia image_url y el enlace del video de referencia video_url, para obtener el resultado procesado. Luego, también necesitamos ingresar el modelo mode, que actualmente tiene los modelos std y pro, con el siguiente contenido:

Aquí podemos ver que hemos configurado los encabezados de la solicitud, que incluyen:
  • accept: el formato de respuesta que desea recibir, aquí se establece como application/json, es decir, formato JSON.
  • authorization: la clave para llamar a la API, que puede seleccionarse directamente después de la solicitud.
Además, se ha configurado el cuerpo de la solicitud, que incluye:
  • image_url: imagen de referencia, los elementos como personajes y fondos en el video generado se basan en esta imagen.
  • video_url: enlace para obtener el video de referencia. Las acciones de los personajes en el video generado serán consistentes con el video de referencia.
  • mode: el modo de generación del video, que tiene dos modos principales: std y pro.
  • keep_original_sound: opción para conservar el sonido original del video, valores enumerados: yes, no.
  • character_orientation: orientación de los personajes en el video generado, puede elegir que coincida con la imagen o con el video, valores enumerados: image, video.
  • prompt: palabra clave.
  • callback_url: URL donde se necesita el resultado de la llamada.
Después de seleccionar, puede notar que a la derecha también se ha generado el código correspondiente, como se muestra en la imagen:

Haga clic en el botón “Try” para realizar una prueba, como se muestra en la imagen anterior, y aquí obtuvimos el siguiente resultado:
{
  "success": true,
  "video_id": "842578800134742051",
  "video_url": "https://v4-fdl.kechuangai.com/ksc2/yGPGHvUVDQEzDCs6tC0rYIbd_JwWNFaF8BEYAlw_xVcWX72xFuIUVqB_Hp5Sa7YEijI-yXqfKI92WW7bmyeCtpMjSOImlOFpQCmMUa-9iojt_ifXJnex_tvNkA0ZlJmuJLpeOfvX3j8d9oeeWgLeU3ftzBjQq1g9OC9FU92OfjRQLUTSzfWRzkhzirV32BT-BwfxgqJKsUD-WHxjqCJmOw.mp4?cacheKey=ChtzZWN1cml0eS5rbGluZy5tZXRhX2VuY3J5cHQSsAHtyCrKxB23NXn5ddMedV5Mw4pp_kOk_TRbCVA-wO9LJZuga8_KxXCzhw6bU3hS1V5PpNoSTxSkm_E80i5U1PkJ5d444cjPvoIq2VboPqCip2QbsoiVMu6CuGP7tB7fStLbezBNA4lQtHeSVPxWTE7Hy0wbJ33tKlf-X_-1ad3u0cyHfT_8EroD4iYZ1ZVasuYxAKjcdmbbVZ7NlDK9rqyI5euyz-70-M-QM5Lk6l88SRoSS2Y9drB8Z4ednHxTIh7XZcnaIiB5Xf4Mv8Rc51nUyIC5lKp02LP7oViCg6OaAhR4ynNJkCgFMAE&x-kcdn-pid=112757&pkey=AAX8ukavvkZsIz-IUg2pTvMOAV7LVItIdg_5TUYhGA1YINT8x-SR7rXY7BWLKqspLTYIjK7C0SjbXtX25Lm4_sx2V229AIyfVzjrlQQ7IjPsxvAv9cTG72YN0TPSjVowBZQ",
  "duration": "5.066",
  "state": "succeed",
  "task_id": "363c7a84-e880-472e-a4d4-098e50cfc292"
}
El resultado devuelto tiene varios campos, que se describen a continuación:
  • success: el estado de la tarea de generación de video en este momento.
  • task_id: el ID de la tarea de generación de video en este momento.
  • video_id: el ID del video de la tarea de generación de video en este momento.
  • video_url: el enlace del video de la tarea de generación de video en este momento.
  • duration: la duración del video de la tarea de generación de video en este momento.
  • state: el estado de la tarea de generación de video en este momento.
Podemos ver que hemos obtenido información satisfactoria sobre el video, y solo necesitamos obtener el video generado de Kling según la dirección del enlace de video en data. Además, si desea generar el código de integración correspondiente, puede copiarlo directamente, por ejemplo, el código de CURL es el siguiente:
curl -X POST 'https://api.acedata.cloud/kling/motion' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "image_url": "https://sourceyoya.wenge.com/2025/06/03/683e9f76e4b0684509ab1aca.jpg",
  "video_url": "https://cdn.acedata.cloud/odwfm5.mp4",
  "prompt": "Hacer que la imagen cobre vida",
  "mode": "std",
  "character_orientation": "image"
}'

Callback asíncrono

Dado que el tiempo de generación de la API de generación de movimiento Kling es relativamente largo, aproximadamente de 1 a 2 minutos, si la API no responde durante mucho tiempo, la solicitud HTTP mantendrá la conexión, lo que provocará un consumo adicional de recursos del sistema. Por lo tanto, esta API también ofrece soporte para callbacks asíncronos. El flujo general es: cuando el cliente inicia la solicitud, debe especificar un campo adicional callback_url. Después de que el cliente inicie la solicitud de la API, la API devolverá inmediatamente un resultado que incluye un campo task_id, que representa el ID de la tarea actual. Cuando la tarea se complete, el resultado del video generado se enviará al callback_url especificado por el cliente en formato JSON POST, que también incluirá el campo task_id, de modo que el resultado de la tarea se pueda asociar mediante el ID. A continuación, utilizaremos un ejemplo para comprender cómo operar específicamente. Primero, el callback de Webhook es un servicio que puede recibir solicitudes HTTP, y el desarrollador debe reemplazarlo con la URL de su propio servidor HTTP. Para facilitar la demostración, utilizaremos un sitio web de muestra de Webhook público https://webhook.site/, donde al abrir el sitio obtendrá una URL de Webhook, como se muestra en la imagen: Copia esta URL, que se puede usar como Webhook, el ejemplo aquí es https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3. A continuación, podemos establecer el campo callback_url con la URL del Webhook mencionada, al mismo tiempo que llenamos los parámetros correspondientes, el contenido específico se muestra en la imagen:

Al hacer clic en ejecutar, se puede observar que se obtiene un resultado inmediato, como se muestra a continuación:
{
  "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
}
Después de un momento, podemos observar el resultado de la generación del video en https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3, como se muestra en la imagen: El contenido es el siguiente:
{
    "success": true,
    "video_id": "030bb06d-98d4-4044-9042-0aa0822e8c8c",
    "video_url": "https://cdn.klingai.com/bs2/upload-kling-api/7822108635/text2video/CjJzzGfBfqcAAAAAAKdVMQ-0_raw_video_1.mp4",
    "duration": "5.1",
    "state": "succeed",
    "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
}
Se puede ver que en el resultado hay un campo task_id, los otros campos son similares a los mencionados anteriormente, a través de este campo se puede lograr la asociación de tareas.

Manejo de errores

Al llamar a la API, si se encuentra con un error, la API devolverá el código de error y la información correspondiente. Por ejemplo:
  • 400 token_mismatched: Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.
  • 400 api_not_implemented: Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.
  • 401 invalid_token: No autorizado, token de autorización inválido o faltante.
  • 429 too_many_requests: Demasiadas solicitudes, ha superado el límite de tasa.
  • 500 api_error: Error interno del servidor, algo salió mal en el servidor.

Ejemplo de respuesta de error

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusión

A través de este documento, ha aprendido cómo utilizar la API de Generación de Movimiento Kling para implementar la funcionalidad de control de movimiento oficial de Kling. Esperamos que este documento le ayude a integrar y utilizar mejor esta API. Si tiene alguna pregunta, no dude en ponerse en contacto con nuestro equipo de soporte técnico.