El error más común al intentar generar vídeo con IA local es empezar directamente con text-to-video y esperar que el modelo invente el personaje, la composición y el movimiento al mismo tiempo. Wan 2.1 I2V plantea un flujo diferente: primero creas la imagen y luego la animas. Eso cambia completamente el nivel de control que tienes.
Este artículo monta el workflow completo en ComfyUI, con parámetros probados para los casos de uso más habituales: retrato, producto y escena cinematográfica.
🏗️ Workflow: Wan 2.1 I2V Cinemático
Ejemplo real generado con este workflow
Generado en local con Wan 2.1 I2V 14B (GGUF Q3_K_S) sobre una RTX 3090, a partir de una imagen fija generada con FLUX.1 Dev
Por qué image-to-video en lugar de text-to-video
Text-to-video genera todo desde el prompt: personaje, composición, estilo, movimiento. El modelo tiene que resolver demasiadas variables a la vez y el resultado es impredecible — especialmente para personajes concretos o productos específicos.
Image-to-video separa ese problema en dos fases que controlas de forma independiente:
- Generación del keyframe — FLUX, Juggernaut XL o cualquier modelo de imagen para crear la imagen inicial. Tienes control total sobre personaje, iluminación, composición y estilo.
- Animación del keyframe — Wan I2V añade movimiento manteniendo la referencia visual. El modelo sabe qué conservar porque lo tiene delante.
El resultado es predecible, iterable y eficiente. Ajustas el movimiento sin regenerar el personaje. Arreglas manos o fondos antes de animar, no después.
Requisitos
- ComfyUI actualizado.
- Extension Wan Video para ComfyUI (busca “WanVideo” en ComfyUI Manager).
- ComfyUI-VideoHelperSuite para exportar MP4.
- Modelo Wan 2.1 I2V: la versión 14B para calidad máxima o la 1.3B para GPUs de 8-12GB.
- ffmpeg instalado en el sistema para exportar vídeo.
- Imagen inicial en ratio 16:9 (horizontal) o 9:16 (vertical).
Para la imagen inicial puedes usar el workflow del artículo de generación de imágenes con ComfyUI o la del workflow de FLUX Kontext si quieres editar primero la imagen.
Construir el workflow
Grupo 1 — Imagen inicial
Load Image — Carga el keyframe. La calidad de la imagen inicial determina directamente la calidad del vídeo. Manos mal generadas, fondo ruidoso, artefactos: todo eso se amplifica en el clip. No lo dejes para después.
Image Resize — Wan I2V espera dimensiones múltiplo de 8, preferiblemente de la lista de resoluciones nativas del modelo.
| Formato | Width | Height |
|---|---|---|
| Horizontal 16:9 | 832 | 480 |
| Vertical 9:16 | 480 | 832 |
| Cuadrado | 640 | 640 |
| Horizontal HD | 1280 | 720 |
Empieza con 480p para desarrollo, sube a 720p solo cuando el movimiento funcione.
Grupo 2 — Carga del modelo Wan
WanVideoModelLoader
| Parámetro | Valor |
|---|---|
| model | wan2.1_i2v_14B.safetensors (o 1.3B para low VRAM) |
| weight_dtype | bf16 o fp8 según tu GPU |
| offload | activado si tienes menos de 24GB VRAM |
WanVideoVAELoader — Carga el VAE de vídeo. Necesario por separado del modelo principal en la mayoría de wrappers.
WanVideoImageEncode — El equivalente al Kontext Image Encode del workflow de imagen: codifica el keyframe en el espacio de condicionamiento que el modelo de vídeo usa como referencia.
Entrada: imagen redimensionada. Salida: condicionamiento de imagen → KSampler.
Grupo 3 — Prompt de movimiento
WanVideoTextEncode positivo — El prompt de movimiento es diferente al prompt de imagen. No describes el aspecto del sujeto — eso ya lo tiene la imagen de referencia. Describes exclusivamente el movimiento y la cámara.
cinematic slow camera push-in, subtle parallax movement,
natural breathing motion, soft wind moving hair and clothes,
realistic lighting, stable character identity,
smooth motion, high quality video
WanVideoTextEncode negativo
flicker, morphing face, extra limbs, warped hands, fast motion,
camera shake, low quality, blurry, distorted, text, watermark,
jump cut, scene change
Grupo 4 — Sampling de vídeo
WanVideoSampler
| Parámetro | Valor inicial | Ajuste |
|---|---|---|
| seed | fijo | Cambia solo cuando el movimiento base funcione |
| frames | 33 | Sube a 49 en producción |
| steps | 25-30 | 20 para pruebas rápidas |
| cfg | 5.0 | Rango útil: 4-8 |
| sampler | uni_pc | dpmpp_2m como alternativa |
| scheduler | normal | — |
| motion_strength | 0.5 | Ver tabla abajo |
El motion_strength es el parámetro que más afecta al resultado. Controla qué tan dinámico es el clip:
| motion_strength | Resultado |
|---|---|
| 0.2 – 0.4 | Movimiento mínimo. Ideal para producto o retrato estático. |
| 0.4 – 0.6 | Movimiento natural. Cabello, ropa, respiración. |
| 0.6 – 0.8 | Movimiento pronunciado. Escenas cinematográficas con cámara activa. |
| 0.8+ | Movimiento exagerado. Riesgo de deformación en sujetos complejos. |
Grupo 5 — Decode y exportación
WanVideoVAEDecode — Convierte los latentes de vídeo a frames de imagen.
VHS_VideoCombine (de VideoHelperSuite)
| Parámetro | Valor |
|---|---|
| frame_rate | 16 o 24 fps |
| format | video/h264-mp4 |
| filename_prefix | comfylab_wan_i2v |
| save_output | true |
Con 24fps y 33 frames obtienes un clip de 1.37 segundos. Con 49 frames: 2.04 segundos. Para Reels o Shorts necesitas concatenar varios clips o generar directamente con más frames.
Diagrama de conexiones
Load Image → Image Resize → WanVideoImageEncode → WanVideoSampler (image_condition)
WanVideoModelLoader → WanVideoSampler (model)
WanVideoVAELoader → WanVideoVAEDecode (vae)
WanVideoTextEncode (+/-) → WanVideoSampler (positive/negative)
WanVideoSampler → WanVideoVAEDecode → VHS_VideoCombine
Pipeline completo recomendado
Para producción de contenido en ComfyLab el flujo de trabajo es:
- Generar keyframe con FLUX o Juggernaut XL (txt2img a 1024px).
- Corregir problemas con inpainting — especialmente manos y fondos. La guía de inpainting de manos cubre este paso.
- Animar con Wan I2V a 480p, 33 frames para prueba.
- Validar el movimiento y afinar motion_strength + prompt.
- Generar versión final a 720p, 49 frames si la GPU lo permite.
- Exportar en tres formatos: 16:9 para YouTube, 9:16 recortado para Reels, GIF/WebP para el artículo.
Prompts de movimiento por caso de uso
Retrato:
slow cinematic push-in toward the subject,
same face and pose throughout,
gentle wind moves hair slightly,
subtle eye blink, realistic skin, stable identity
Producto:
smooth rotating product showcase,
subtle studio light reflections on the surface,
clean white background, premium commercial video,
no deformation, no camera shake
Arquitectura o escena:
slow drone-like camera movement through the space,
realistic parallax, sunlight changes softly,
stable geometry, cinematic color grading
Escena de acción controlada:
medium tracking shot following the subject,
walks from left to right at steady pace,
background stays coherent,
cinematic motion blur on background, sharp subject
Ajuste de resolución y frames por GPU
| GPU | Modelo | Resolución | Frames | Tiempo estimado |
|---|---|---|---|---|
| RTX 3060 12GB | 1.3B | 480p | 33 | 3-5 min |
| RTX 3080 10GB | 1.3B | 480p | 49 | 6-9 min |
| RTX 3090 24GB | 14B | 480p | 33 | 8-12 min |
| RTX 4070 Ti 12GB | 14B | 480p | 33 | 6-10 min |
| RTX 4090 24GB | 14B | 720p | 49 | 15-25 min |
Los tiempos son aproximados con offload activado. Sin offload — GPU con VRAM suficiente para todo el modelo — se reducen un 30-40%.
Solución de problemas
El personaje se deforma durante el movimiento
Baja motion_strength a 0.4 y reduce los frames a 33. La deformación suele aparecer más tarde en clips largos. Si el problema viene de la imagen inicial — manos mal generadas, fondos complejos — arréglala antes de animar.
El clip parpadea o tiene flicker
Baja el CFG a 4.0-5.0. El parpadeo suele indicar que el sampler oscila entre estados: un CFG más bajo da más continuidad temporal. Añade no flicker, smooth motion al positivo y flicker, strobing al negativo.
El movimiento es casi inexistente
Sube motion_strength a 0.6-0.7. El prompt tiene que describir movimiento de cámara o del sujeto de forma específica — verbos, dirección, velocidad. Un prompt que detalla el aspecto visual sin mencionar movimiento produce clips casi estáticos con cualquier valor de motion_strength.
VHS_VideoCombine no exporta MP4
Verifica que ffmpeg esté instalado y en el PATH del sistema. En Linux: which ffmpeg. En Windows: ffmpeg -version en cmd. Si ffmpeg no está disponible, usa el formato GIF o WebP como alternativa temporal.
Out of memory con el modelo 14B
Activa offload completo en el loader. Baja la resolución a 480p y los frames a 33. Si sigue fallando, prueba con el modelo 1.3B — la diferencia de calidad es notable pero los requerimientos bajan a 8GB VRAM.
Wan 2.1 I2V es la pieza que cierra el pipeline de contenido visual: imagen → edición → animación. El control sobre el resultado final, comparado con text-to-video puro, es lo que hace viable producir contenido de calidad consistente sin regenerar todo desde cero en cada iteración. Si tienes margen de VRAM, el siguiente experimento natural es combinar este workflow con ControlNet de pose para controlar también la trayectoria del movimiento.
Siguientes pasos en ComfyUI
Primeros pasos
Preguntas frecuentes
- ¿Cuántos frames debo generar para empezar?
- Empieza siempre con 33 frames a 480p. Así validas el prompt de movimiento y el comportamiento del personaje en menos de 5 minutos. Solo sube a 49 frames y resolución mayor cuando el movimiento funcione exactamente como quieres.
- ¿Wan 2.1 I2V es mejor que text-to-video para personajes?
- Para mantener un personaje, producto o composición específica, sí. La imagen inicial da al modelo una referencia visual concreta que reduce la variabilidad. Text-to-video es mejor cuando no tienes una imagen de partida y quieres explorar composiciones nuevas.
- ¿Puedo usar una imagen generada con FLUX o Qwen como imagen inicial?
- Sí, y es el pipeline recomendado. Genera el keyframe perfecto con FLUX, corrígelo con inpainting si hace falta y pásalo a Wan I2V. Este flujo da mucho más control que intentar conseguir todo con el prompt de texto del modelo de video.
- ¿Por qué el personaje se deforma durante el movimiento?
- Dos causas principales: motion_strength demasiado alto, o imagen de entrada con detalles problemáticos (manos mal generadas, textos, fondos complejos). Baja el motion a 0.4-0.5 y usa una imagen inicial limpia. Los problemas de la imagen de entrada se amplifican en el video.
- ¿Cuánto tarda con una RTX 3090?
- Con el modelo 14B a 480p y 33 frames: 8-12 minutos con offload activado. A 720p y 49 frames: 25-40 minutos. El modelo 1.3B es 4-5x más rápido pero con calidad notablemente inferior.