Proceso de solicitud
Para utilizar la API de generación de videos Kling, primero dirígete a la consola de Ace Data Cloud para obtener tu token de API, que debes guardar para uso futuro.
Si aún no has iniciado sesión o registrado, serás redirigido automáticamente a la página de inicio de sesión que te invitará a registrarte e iniciar sesión; una vez completado, regresarás automáticamente a la página actual.
Un token de API es suficiente para acceder a todos los servicios de la plataforma, no es necesario solicitar uno por cada servicio. La primera solicitud incluirá un crédito gratuito para que puedas probarlo; si el crédito es insuficiente, puedes recargar el saldo general en la consola.
📘 Documentación completa: API de generación de videos Kling →
Uso básico
Primero, es importante entender la forma básica de uso, que consiste en ingresar la palabra claveprompt, la acción de generación action, la imagen de referencia del primer fotograma start_image_url y el modelo model, para obtener el resultado procesado. Primero, necesitas pasar un campo action, cuyo valor es text2video, que incluye principalmente tres acciones: video a partir de texto (text2video), video a partir de imagen (image2video), y video extendido (extend). Luego, también necesitamos ingresar el modelo model, que actualmente incluye principalmente los modelos kling-v1, kling-v1-6, kling-v2-master, kling-v2-1-master, kling-v2-5-turbo, kling-v2-6, kling-v3, kling-v3-omni, kling-o1, cuyos detalles son los siguientes:

accept: el formato de respuesta que deseas recibir, aquí se establece comoapplication/json, es decir, en formato JSON.authorization: la clave para llamar a la API, que puedes seleccionar directamente después de solicitarla.
model: el modelo para generar el video, que incluye principalmentekling-v1,kling-v1-6,kling-v2-master,kling-v2-1-master,kling-v2-5-turbo,kling-v2-6,kling-v3,kling-v3-omni,kling-o1.mode: el modo de generación de video, con valores opcionales como modo estándarstd, modo rápidoproy modo nativo 4K4k. El4ksolo es compatible conkling-v3ykling-v3-omni, y no es compatible concamera_control(control de cámara).action: la acción de la tarea de generación de video, que incluye principalmente tres acciones: video a partir de texto (text2video), video a partir de imagen (image2video), y video extendido (extend).start_image_url: cuando se elige la acción de video a partir de imagenimage2video, es necesario subir el enlace de la imagen de referencia del primer fotograma.end_image_url: opcional al generar video a partir de imagen, especifica el fotograma final.duration: duración del video, en segundos.kling-v3ykling-v3-omniadmiten duraciones enteras de 3 a 15 segundos;kling-o1solo admite 5 segundos; otros modelos admiten 5 o 10 segundos.generate_audio: si se debe generar audio de forma sincronizada, opcional, valor booleano. Admitekling-v3,kling-v3-omniykling-v2-6(solo en modo pro). Por defecto esfalse.aspect_ratio: relación de aspecto del video, opcional, admite16:9,9:16,1:1, por defecto16:9.cfg_scale: intensidad de correlación, rango [0,1], cuanto mayor, más se ajusta a la palabra clave.camera_control: opcional, parámetros para controlar el movimiento de la cámara, admite configuraciones predefinidas type/simple y horizontal, vertical, pan, tilt, roll, zoom, etc.negative_prompt: opcional, palabras clave inversas que no deseas que aparezcan, máximo 200 caracteres.image_list: lista de imágenes de referencia Omni, aplicable a los modeloskling-o1ykling-v3-omni, consulta el uso en la sección “Referencia Omni”.video_list: lista de videos de referencia Omni (admite edición de video), aplicable a los modeloskling-o1ykling-v3-omni, consulta el uso en la sección “Referencia Omni”.prompt: palabra clave.callback_url: URL para recibir el resultado de la llamada.async: opcional, si se establece entrue, la interfaz devuelve inmediatamentetask_id, sin necesidad de proporcionarcallback_url, y luego se puede consultar el resultado mediante la interfaz de consulta de tareas correspondiente.

success, el estado de la tarea de generación de video en ese momento.task_id, el ID de la tarea de generación de video en ese momento.video_id, el ID del video de la tarea de generación de video en ese momento.video_url, el enlace del video de la tarea de generación de video en ese momento.duration, la duración del video de la tarea de generación de video en ese momento.state, el estado de la tarea de generación de video en ese momento.
data para obtener el video de Kling.
Además, si deseas generar el código de integración correspondiente, puedes copiarlo directamente, por ejemplo, el código de CURL es el siguiente:
Matriz de capacidades del modelo
El soporte de parámetros varía significativamente entre diferentes modelos. La siguiente matriz se ha organizado a partir de la documentación oficial de modelos de video de Kling, asegúrate de verificar si la combinación actual demodel / mode / duration admite las funciones que necesitas, de lo contrario, el sistema devolverá errores como model/mode/duration(...) is not supported with image_tail.
Notas:
mode=4ksolo es soportado porkling-v3ykling-v3-omni; y es excluyente concamera_control(control de cámara).end_image_urlsolo puede usarse conaction=image2videojunto constart_image_url. Solo enviarend_image_url(sinstart_image_url) será rechazado.kling-v3/kling-v3-omniaceptan cualquierdurationentero de 3 a 15 segundos;kling-o1solo acepta 5; los demás modelos solo aceptan 5 o 10.generate_audiopor defecto esfalse. Solokling-v3,kling-v3-omniykling-v2-6(modo pro) lo soportan.
Función de extensión de video
Si deseas continuar generando un video Kling que ya ha sido creado, puedes establecer el parámetroaction como extend, e ingresar el ID del video que deseas continuar generando. El ID del video se obtiene según el uso básico, como se muestra en la imagen a continuación:

Nota: el video_id aquí es el ID del video generado. Si no sabes cómo generar un video, puedes consultar el uso básico mencionado anteriormente.
A continuación, debemos completar los siguientes pasos con las palabras clave que necesitamos para personalizar la generación del video, especificando el siguiente contenido:
model: el modelo para generar el video, principalmentekling-v1,kling-v1-5ykling-v1-6.mode: el modo para generar el video, los valores opcionales son modo estándarstd, modo rápidoproy modo nativo 4K4k(solo soportado porkling-v3ykling-v3-omni, no compatible con control de cámara).duration: la duración del video para esta tarea de generación, principalmente 5s y 10s.start_image_url: cuando se elige la acción de imagen a videoimage2video, es necesario subir el enlace de la imagen de referencia del primer fotograma.prompt: palabras clave.


Referencia Omni (edición de video / video de referencia / referencia de múltiples imágenes)
kling-o1 y kling-v3-omni son dos modelos independientes, ambos soportan la capacidad de “referencia omnidireccional”. En la generación de video a partir de texto (action=text2video), se pueden pasar imágenes de referencia o videos de referencia adicionales, logrando referencia de múltiples imágenes, video de referencia y edición directa de videos existentes.
Convenio central: El material de referencia debe ser citado en prompt en la forma <<<image_1>>>, <<<video_1>>> (numeración comenzando desde 1) para que el modelo aplique estas referencias. Si solo se envía el material sin citarlo en las palabras clave, el material será ignorado.
Nota de seguridad: La API actual no abreLas solicitudes Omni no soportanelement_list. El ID de la biblioteca de elementos de Kling pertenece al espacio de nombres de la cuenta del proveedor, y antes de proporcionar la API de gestión de elementos con aislamiento de inquilinos, los clientes deben usarimage_listpara pasar la imagen de referencia principal.
negative_prompt, cfg_scale o camera_control, y no se puede usar mode=4k. Cuando se incluye un video de referencia, generate_audio debe ser false.
Video de referencia y edición de video (video_list)
video_list se utiliza para pasar videos de referencia, es el escenario más común de esta capacidad, los campos de los elementos del arreglo son los siguientes:
video_url: enlace del video de referencia, no puede estar vacío. Requisitos: formato MP4/MOV; resolución 720px–2160px; duración 3–10 segundos; tasa de cuadros 24–60fps; tamaño del archivo ≤200MB; máximo 1 video.refer_type: tipo de referencia, puede serbase(por defecto, video base a editar, es decir, “editar directamente el video”, se pueden agregar/eliminar/modificar elementos, cambiar la composición, cambiar el estilo, cambiar el color, cambiar el clima, etc.) ofeature(referencia de características, referencia de su estilo / movimiento de cámara / continuación de la siguiente toma).keep_original_sound: si se debe conservar el audio original del video, puede seryes(conservar) ono(eliminar).
Nota: Si hay un video de referencia,Ejemplo de CURL para editar un video existente (cambiar el estilo del video a anime):generate_audiodebe serfalse. Los videos conrefer_type=baseno pueden especificar el primer cuadro / último cuadro.
Referencia de múltiples imágenes (image_list)
image_list se utiliza para pasar imágenes de referencia (elementos / escenas / estilos, etc.), los campos de los elementos del arreglo son los siguientes:
image_url: enlace de la imagen de referencia, no puede estar vacío. Requisitos: formato .jpg/.jpeg/.png; tamaño del archivo ≤10MB; lado más corto ≥300px; relación de aspecto 1:2.5 ~ 2.5:1.type: opcional. Si no se pasa, se considera como imagen de referencia pura; si se pasafirst_frame/end_frame, se considera como primer cuadro / último cuadro (equivalente astart_image_url/end_image_url).
prompt como <<<image_1>>>, <<<image_2>>>. Límite de cantidad: si no hay video de referencia, las imágenes de referencia ≤ 7; si hay video de referencia, las imágenes de referencia ≤ 4. Si solo se pasan el primer / último cuadro, también se puede usar directamente start_image_url / end_image_url, pero el último cuadro debe usarse junto con el primer cuadro.
Nota: Si se pasan simultáneamenteEjemplo de CURL para generar un video con referencia de múltiples imágenes:start_image_url/end_image_urlyimage_list, el primer / último cuadro se colocará antes deimage_list, lo que puede afectar la relación de correspondencia de los números de<<<image_N>>>. Se recomienda elegir uno: si se necesitan el primer / último cuadro, se debe especificar directamente enimage_listusandotype, no mezclar constart_image_url/end_image_url.
Callback asíncrono
Debido a que el tiempo de generación de la API de Kling Videos es relativamente largo, aproximadamente 1-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 que esta API también ofrece soporte para callbacks asíncronos. El flujo general es: cuando el cliente inicia la solicitud, se especifica un campo adicionalcallback_url, después de que el cliente inicia la solicitud de 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á a la callback_url especificada 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, entenderemos cómo operar específicamente a través de un ejemplo.
Primero, el callback de Webhook es un servicio que puede recibir solicitudes HTTP, el desarrollador debe reemplazarlo con la URL de su propio servidor HTTP. Aquí, para facilitar la demostración, se utiliza un sitio de muestra de Webhook público https://webhook.site/, al abrir este sitio se obtiene una URL de Webhook, como se muestra en la imagen:
Copie esta URL y podrá usarla como Webhook, el ejemplo aquí es https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3.
A continuación, podemos establecer el campo callback_url como la URL de Webhook anterior, al mismo tiempo que llenamos los parámetros correspondientes, el contenido específico se muestra en la imagen:

https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3, como se muestra en la imagen:
El contenido es el siguiente:
task_id, los otros campos son similares a los mencionados anteriormente, a través de este campo se puede realizar la asociación de la tarea.
Manejo de errores
Al llamar a la API, si se encuentra un error, la API devolverá el código de error correspondiente y la información. 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.

