Usa la API de RunComfy para ejecutar wan-ai/wan-3.0/image-to-video. Para entradas y salidas admitidas, consulta el esquema.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/wan-ai/wan-3.0/image-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "A vintage cream convertible parked on a windswept coastal cliff at golden hour; the camera slowly orbits to reveal the ocean below, tall grass sways in the sea breeze, warm sunlight glints across the chrome trim, gentle lens flare, cinematic anamorphic look, smooth continuous motion.",
"image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7413/media-files/input-promo.webp"
}'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/wan-ai/wan-3.0/image-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "A vintage cream convertible parked on a windswept coastal cliff at golden hour; the camera slowly orbits to reveal the ocean below, tall grass sways in the sea breeze, warm sunlight glints across the chrome trim, gentle lens flare, cinematic anamorphic look, smooth continuous motion.",
"image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7413/media-files/input-promo.webp"
}'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",
"image_url"
],
"properties": {
"prompt": {
"title": "Prompt",
"description": "Describe el movimiento, la acción, el movimiento de la cámara, la iluminación y el estilo en el que deseas que se anime el primer fotograma.",
"type": "string",
"default": "A vintage cream convertible parked on a windswept coastal cliff at golden hour; the camera slowly orbits to reveal the ocean below, tall grass sways in the sea breeze, warm sunlight glints across the chrome trim, gentle lens flare, cinematic anamorphic look, smooth continuous motion."
},
"image_url": {
"title": "Imagen del primer fotograma",
"description": "Imagen del primer fotograma que el modelo anima en vídeo. Utilice una imagen clara y de alta calidad para una mejor preservación del sujeto.",
"type": "string",
"default": "https://playgrounds-storage-public.runcomfy.net/tools/7413/media-files/input-promo.webp"
},
"end_image_url": {
"title": "Imagen del último fotograma (opcional)",
"description": "Imagen de último fotograma opcional que se utiliza para guiar la pose, composición o escena final del vídeo.",
"type": "string",
"default": ""
},
"resolution": {
"title": "Resolución",
"description": "Nivel de resolución de salida. Utilice 480p para borradores rápidos y 1080p para resultados de mayor calidad.",
"type": "string",
"enum": [
"480p",
"720p",
"1080p"
],
"default": "720p"
},
"aspect_ratio": {
"title": "Relación de aspecto",
"description": "Relación de aspecto de salida. Utilice adaptive para hacer coincidir las proporciones de la imagen de entrada.",
"type": "string",
"enum": [
"adaptive",
"16:9",
"9:16",
"1:1",
"4:3",
"3:4"
],
"default": "adaptive"
},
"duration": {
"title": "Duración (segundos)",
"description": "Duración del vídeo generado en segundos. El rango es 2-30. Comience brevemente para iterar, luego aumente una vez que el movimiento parezca correcto.",
"type": "integer",
"minimum": 2,
"maximum": 30,
"default": 5
},
"thinking_mode": {
"title": "Modo de pensamiento",
"description": "Permita una interpretación rápida más profunda para escenas complejas con múltiples requisitos de movimiento o composición.",
"type": "boolean",
"default": false
},
"enable_audio": {
"title": "Generar audio",
"description": "Cuando está activado, el vídeo de salida incluye una pista de audio sincronizada. Desactívelo para ver un clip silencioso.",
"type": "boolean",
"default": true
},
"seed": {
"title": "Seed",
"description": "Semilla aleatoria para resultados reproducibles. El rango es de 0 a 2147483647.",
"type": "integer"
}
}
}{
"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.