Usa la API de RunComfy para ejecutar kling/kling-video-o1/video-to-video/reference. Para entradas y salidas admitidas, consulta el esquema.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/kling/kling-video-o1/video-to-video/reference \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Based on @Video1, generate the next shot. keep the style of the video",
"video_url": "https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-1.mp4",
"elements": [
{
"frontal_image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-2.png",
"reference_image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-3.jpeg"
]
}
],
"image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-4.png"
]
}'Define la variable de entorno YOUR_API_TOKEN con tu clave API (gestión en Perfil) e incluye en cada solicitud un token Bearer en la cabecera Authorization : Authorization: Bearer $YOUR_API_TOKEN.
Envía un trabajo de generación asíncrono y recibe de inmediato un request_id y URLs para consultar estado, obtener resultados y cancelar.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/kling/kling-video-o1/video-to-video/reference \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Based on @Video1, generate the next shot. keep the style of the video",
"video_url": "https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-1.mp4",
"elements": [
{
"frontal_image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-2.png",
"reference_image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-3.jpeg"
]
}
],
"image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-4.png"
]
}'Obtiene el estado actual de un request_id ("in_queue", "in_progress", "completed" o "cancelled").
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/status \
--header "Authorization: Bearer <token>"Obtiene las salidas finales y metadatos del request_id; si el trabajo no ha terminado, la respuesta devuelve el estado actual para seguir haciendo polling.
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/result \
--header "Authorization: Bearer <token>"Cancela un trabajo en cola por request_id; los trabajos en curso no se pueden cancelar.
curl --request POST \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/cancel \
--header "Authorization: Bearer <token>"Proporciona una URL HTTPS públicamente accesible. El host debe permitir peticiones del servidor (sin login/cookies), sin rate limit agresivo ni bloqueo de bots. Recomendado: imágenes ≤ 50 MB (~4K), vídeos ≤ 100 MB (~2–5 min a 720p). Para activos privados, URLs estables o firmadas.
{
"type": "object",
"title": "Esquema de entrada",
"required": [
"prompt",
"video_url",
"elements",
"image_urls"
],
"properties": {
"prompt": {
"title": "Prompt",
"description": "Use @Element1, @Element2, etc. para los elementos y @Image1, @Image2, etc. para las imágenes, siempre en el orden de las listas.",
"type": "string",
"default": "Based on @Video1, generate the next shot. keep the style of the video"
},
"video_url": {
"title": "URL del vídeo",
"description": "URL del vídeo de origen. Solo admite .mp4 y .mov, 3–10 segundos, una resolución de entrada de 720–2160 px y un máximo de 200 MB.",
"type": "string",
"default": "https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-1.mp4"
},
"elements": {
"title": "Elementos",
"description": "Personajes u objetos que deben aparecer. Cítelos en el prompt como @Element1, @Element2, etc., según su orden. El array admite hasta 7 entradas; respete también el límite combinado de referencias para peticiones de vídeo.",
"type": "array",
"default": [
{
"frontal_image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-2.png",
"reference_image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-3.jpeg"
]
}
],
"items": {
"frontal_image_url": {
"title": "URL de imagen frontal",
"description": "Imagen frontal principal del elemento. Máximo 10.0 MB, mínimo 300 × 300 px, relación de aspecto 0.40–2.50 y tiempo límite 20.0 s.",
"type": "string",
"format": "image_uri",
"default": ""
},
"reference_image_urls": {
"title": "URL de imágenes de referencia",
"description": "Vistas adicionales del elemento. Proporcione entre 1 y 4 URL de imágenes de referencia; se requiere al menos una.",
"type": "array",
"format": "image_uris",
"items": {
"type": "string",
"format": "image_uri"
},
"default": [],
"maxItems": 4,
"minItems": 1
}
},
"maxItems": 7,
"minItems": 0
},
"image_urls": {
"title": "Imágenes",
"description": "Imágenes de referencia para el estilo o la apariencia. Cítelas en el prompt como @Image1, @Image2, etc., según su orden. El array admite hasta 4 imágenes; para peticiones de vídeo, la descripción limita a 4 el total combinado de elementos e imágenes de referencia.",
"type": "array",
"items": {
"type": "string",
"format": "image_uri"
},
"maxItems": 4,
"minItems": 0,
"default": [
"https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-4.png"
]
},
"aspect_ratio": {
"title": "Relación de aspecto (An:Al)",
"description": "Relación de aspecto del vídeo generado. `auto` elige la coincidencia más cercana al vídeo de entrada; las demás opciones son `16:9`, `9:16` y `1:1`.",
"type": "string",
"enum": [
"auto",
"16:9",
"9:16",
"1:1"
],
"default": "auto"
},
"duration": {
"title": "Duración",
"description": "Duración del vídeo generado. Los valores de cadena admitidos son `5` y `10`.",
"type": "string",
"enum": [
"5",
"10"
],
"default": "5"
},
"keep_audio": {
"title": "Conservar audio",
"description": "Indica si la salida debe conservar la pista de audio original del vídeo de entrada.",
"type": "boolean",
"default": false
}
}
}{
"output": {
"type": "object",
"properties": {
"image": {
"type": "string",
"format": "uri",
"description": "URL de una sola imagen"
},
"video": {
"type": "string",
"format": "uri",
"description": "URL de un solo vídeo"
},
"images": {
"type": "array",
"description": "varias URLs de imagen",
"items": {
"type": "string",
"format": "uri"
}
},
"videos": {
"type": "array",
"description": "varias URLs de vídeo",
"items": {
"type": "string",
"format": "uri"
}
}
}
}
}RunComfy es la principal ComfyUI plataforma, ofreciendo ComfyUI en línea entorno y servicios, junto con flujos de trabajo de ComfyUI con impresionantes imágenes. RunComfy también ofrece AI Models, permitiendo a los artistas aprovechar las últimas herramientas de AI para crear arte increíble.