Use a API RunComfy para executar kling/kling-video-o1/video-to-video/reference. Para entradas e saídas aceitas, consulte o 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"
]
}'Defina a variável de ambiente YOUR_API_TOKEN com sua chave de API (gerenciamento no Perfil) e inclua em cada solicitação um token Bearer no cabeçalho Authorization : Authorization: Bearer $YOUR_API_TOKEN.
Envie um trabalho de geração assíncrono e receba imediatamente um request_id e URLs para status, resultados e cancelamento.
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"
]
}'Obtém o estado atual de um request_id ("in_queue", "in_progress", "completed" ou "cancelled").
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/status \
--header "Authorization: Bearer <token>"Obtém as saídas finais e metadados do request_id; se o trabalho não estiver concluído, a resposta retorna o estado atual para continuar o polling.
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/result \
--header "Authorization: Bearer <token>"Cancela um trabalho na fila por request_id; trabalhos em andamento não podem ser cancelados.
curl --request POST \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/cancel \
--header "Authorization: Bearer <token>"Forneça uma URL HTTPS publicamente acessível. O host deve permitir buscas no servidor (sem login/cookies), sem limite de taxa agressivo ou bloqueio de bots. Recomendado: imagens ≤ 50 MB (~4K), vídeos ≤ 100 MB (~2–5 min em 720p). Para ativos privados, URLs estáveis ou pré-assinadas.
{
"type": "object",
"title": "Esquema de entrada",
"required": [
"prompt",
"video_url",
"elements",
"image_urls"
],
"properties": {
"prompt": {
"title": "Prompt",
"description": "Use @Element1, @Element2 etc. para os elementos e @Image1, @Image2 etc. para as imagens, seguindo a ordem das listas.",
"type": "string",
"default": "Based on @Video1, generate the next shot. keep the style of the video"
},
"video_url": {
"title": "URL do vídeo",
"description": "URL do vídeo de origem. Aceita apenas .mp4 e .mov, 3–10 segundos, resolução de entrada de 720–2160 px e no máximo 200 MB.",
"type": "string",
"default": "https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-1.mp4"
},
"elements": {
"title": "Elementos",
"description": "Personagens ou objetos que devem aparecer. Cite-os no prompt como @Element1, @Element2 etc., conforme a ordem. O array aceita até 7 entradas; respeite também o limite combinado de referências para solicitações 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 da imagem frontal",
"description": "Imagem frontal principal do elemento. Máximo de 10.0 MB, mínimo de 300 × 300 px, proporção de 0.40–2.50 e tempo limite de 20.0 s.",
"type": "string",
"format": "image_uri",
"default": ""
},
"reference_image_urls": {
"title": "URLs das imagens de referência",
"description": "Outras vistas do elemento. Forneça de 1 a 4 URLs de imagens de referência; pelo menos uma é obrigatória.",
"type": "array",
"format": "image_uris",
"items": {
"type": "string",
"format": "image_uri"
},
"default": [],
"maxItems": 4,
"minItems": 1
}
},
"maxItems": 7,
"minItems": 0
},
"image_urls": {
"title": "Imagens",
"description": "Imagens de referência para estilo ou aparência. Cite-as no prompt como @Image1, @Image2 etc., conforme a ordem. O array aceita até 4 imagens; em solicitações de vídeo, a descrição limita a 4 o total de elementos e imagens de referência.",
"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": "Proporção (L:A)",
"description": "Proporção do quadro do vídeo gerado. `auto` escolhe a correspondência mais próxima do vídeo de entrada; as outras opções são `16:9`, `9:16` e `1:1`.",
"type": "string",
"enum": [
"auto",
"16:9",
"9:16",
"1:1"
],
"default": "auto"
},
"duration": {
"title": "Duração",
"description": "Duração do vídeo gerado. Os valores string aceitos são `5` e `10`.",
"type": "string",
"enum": [
"5",
"10"
],
"default": "5"
},
"keep_audio": {
"title": "Manter áudio",
"description": "Define se a saída deve manter a faixa de áudio original do vídeo de entrada.",
"type": "boolean",
"default": false
}
}
}{
"output": {
"type": "object",
"properties": {
"image": {
"type": "string",
"format": "uri",
"description": "URL de imagem única"
},
"video": {
"type": "string",
"format": "uri",
"description": "URL de vídeo único"
},
"images": {
"type": "array",
"description": "várias URLs de imagem",
"items": {
"type": "string",
"format": "uri"
}
},
"videos": {
"type": "array",
"description": "várias URLs de vídeo",
"items": {
"type": "string",
"format": "uri"
}
}
}
}
}RunComfy é a principal ComfyUI plataforma, oferecendo ComfyUI online ambiente e serviços, juntamente com fluxos de trabalho do ComfyUI apresentando visuais impressionantes. RunComfy também oferece AI Models, permitindo que artistas utilizem as mais recentes ferramentas de AI para criar arte incrível.