Usa la API de RunComfy para ejecutar runwayml/runway-aleph-2/video-to-video. Para entradas y salidas admitidas, consulta el esquema.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/runwayml/runway-aleph-2/video-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"video_url": "https://playgrounds-storage-public.runcomfy.net/tools/7460/media-files/input.mp4",
"prompt": "Restyle as 2D anime with clean cel-shaded linework and warm evening colors; keep the musician, saxophone, and camera framing."
}'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/runwayml/runway-aleph-2/video-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"video_url": "https://playgrounds-storage-public.runcomfy.net/tools/7460/media-files/input.mp4",
"prompt": "Restyle as 2D anime with clean cel-shaded linework and warm evening colors; keep the musician, saxophone, and camera framing."
}'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": [
"video_url",
"prompt"
],
"properties": {
"video_url": {
"title": "URL de vídeo",
"description": "Vídeo de origen a editar. Debe durar 2–30 segundos y pesar menos de 16 MB. La duración de salida sigue este clip.",
"type": "string",
"default": "https://playgrounds-storage-public.runcomfy.net/tools/7460/media-files/input.mp4",
"validations": [
{
"validation_rule": "file_size_mb<",
"validation_value": 16,
"validation_error": "El tamaño del archivo debe ser menor de 16 MB."
}
]
},
"prompt": {
"title": "Prompt",
"description": "Instrucción en lenguaje natural que describe la edición. Manténgala por debajo de 1000 caracteres.",
"type": "string",
"default": "Restyle as 2D anime with clean cel-shaded linework and warm evening colors; keep the musician, saxophone, and camera framing."
},
"keyframes": {
"title": "Keyframes",
"description": "Imágenes de guía opcionales, hasta 5. Cada elemento necesita una URL de imagen y una marca de tiempo en segundos desde el inicio del clip de origen.",
"type": "array",
"maxItems": 5,
"minItems": 0,
"items": {
"image_url": {
"title": "URL de imagen",
"description": "Imagen de guía para esta marca de tiempo (URL HTTPS).",
"type": "string",
"format": "image_uri",
"default": ""
},
"seconds": {
"title": "Marca de tiempo (s)",
"description": "Marca de tiempo absoluta en segundos desde el inicio del vídeo de origen (0–30).",
"type": "number",
"format": "float_slider_with_range",
"minimum": 0,
"maximum": 30,
"default": 0
}
}
},
"target_aspect_ratio": {
"title": "Relación de aspecto de destino",
"description": "Ratio opcional de expand/outpaint. Déjela sin definir para conservar el fotograma de origen.",
"type": "string",
"enum": [
"16:9",
"4:3",
"3:2",
"1:1",
"2:3",
"3:4",
"9:16",
"21:9"
]
},
"seed": {
"title": "Seed",
"description": "Seed opcional para reintentos más repetibles. Déjelo sin definir para un sorteo aleatorio.",
"type": "integer",
"minimum": 0,
"maximum": 4294967295
}
}
}{
"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.