ManzGPU

Crea videos (I2V)

Hype-Generator 3000™: It's a game-changer

Aprende a utilizar stable-diffusion.cpp para generar videos a partir de otra imagen de referencia.

1. Introducción

En la guía anterior vimos como generar imágenes a partir de otra imagen de referencia (image-to-image). Ahora vamos a dar un paso más y aprenderemos a generar videos basados en una imagen de referencia, lo que se conoce como i2v o image-to-video.

El funcionamiento es similar al image-to-image, pero en lugar de generar una imagen estática, generamos una secuencia de frames que forman un video. La imagen de referencia proporciona el punto de partida visual, y el prompt describe el movimiento o la acción que queremos ver:

Imagen Prompt Model LLM V-VAE A-VAE Video generado

Esto es muy útil para casos de uso como: animar personajes estáticos, crear animaciones a partir de bocetos, generar clips cortos para presentaciones, o simplemente dar vida a tus imágenes favoritas.

2. Uso básico

Para usar image-to-video con sd-cli, necesitamos utilizar el modo -M vid_gen y proporcionar la imagen de referencia con el parámetro -r. En este caso, utilizaremos MiniMax H3, un modelo de generación de video, ayudado de Qwen3 para trabajar con el prompt de texto:

sd-cli -M vid_gen ^
  --diffusion-model minimax-h3-ref2va-Q4_0.gguf ^
  --vae minimax_h3_video_vae_fp16.safetensors ^
  --audio-vae minimax_h3_audio_vae_fp32.safetensors ^
  --llm qwen3vl_32b_minimax_h3-Q2_K_M.gguf ^
  -p "Use the white robot from <Picture 1> as the main character. Keep the appearance, color, features, and identity consistent with the reference image. Create a 2-second cinematic video: the robot is floating up and down slowly. The robot stop suddenly and aim with his arm and spin." ^
  -r reference.png ^
  --cfg-scale 1.0 ^
  -v ^
  -W 480 -H 480 ^
  --diffusion-fa ^
  --offload-to-cpu ^
  --seed -1 ^
  --rng cpu ^
  --fps 24 ^
  --video-frames 60 ^

En este caso, observa que tenemos dos VAE diferentes: uno para la secuencia de imágenes (video) y otro para el audio que se generará:

Imagen de referencia

En este caso hemos utilizado un excelente y potente modelo cuantizado (MiniMax H3), pero existen muchos otros modelos que podríamos utilizar: WAN, LTX, Tencent (Hunyuan), etc.

3. Parámetros de video

Los parámetros específicos para generación de video son:

ParámetroDescripción
-M vid_gen Indica que estamos en modo generación de video.
-r Ruta a la imagen de referencia que servirá como punto de partida.
--fps Fotogramas por segundo del video resultante.
--video-frames Número total de frames a generar.
-v Modo verbose, muestra información detallada del proceso.

Relación entre fps y video-frames

La duración del video se calcula dividiendo el número de frames entre los fps:

# - Duración = video-frames / fps
#
# - 75 frames / 24 fps = ~3.1 segundos
# - 48 frames / 24 fps = ~2 segundos
# - 96 frames / 24 fps = ~4 segundos

sd-cli -M vid_gen ... --fps 24 --video-frames 75
# Genera un video de ~3 segundos

sd-cli -M vid_gen ... --fps 24 --video-frames 48
# Genera un video de ~2 segundos

Consejo: Para resultados rápidos de prueba, usa pocos frames (48-75). Para videos más largos y detallados, aumenta el número de frames, pero ten en cuenta que el tiempo de generación crecerá proporcionalmente.

4. El prompt en i2v

El prompt en generación de video es diferente al de imágenes. Aquí no solo describimos lo que queremos ver, sino también cómo se mueven los elementos. Es importante ser específico sobre:

  1. Qué elementos aparecen (describe la escena)
  2. Qué movimiento realizan (acciones y transiciones)
  3. El estilo del video (cinematográfico, animado, etc.)
sd-cli -M vid_gen ... ^
  -p "Use the white robot from <Picture 1> as the main character. Keep the appearance, color, features, and identity consistent with the reference image. Create a 2-second cinematic video: the robot is floating up and down slowly. The robot stop suddenly and aim with his arm and spin."

Importante: Cuando el modelo soporte referencias visuales como <Picture 1>, asegúrate de que el prompt haga referencia explícita a ella para mantener la consistencia visual.

5. Consejos y buenas prácticas

ConsejoDetalle
Resolución Empieza con resoluciones bajas (480x480 o 512x512) para pruebas rápidas. Aumenta luego.
Frames Más frames = video más largo, pero tarda más en generar. Prueba primero con 48-75 frames.
Prompt descriptivo Describe tanto la escena como el movimiento. Sé específico con las acciones que quieres ver.
Imagen Usa imágenes claras y bien definidas. El modelo extraerá los elementos visuales de ella.
CFG Scale Un valor bajo ( ~1-2 ) permite más creatividad. Valores altos pueden resultar menos naturales.
Optimización Usa --diffusion-fa para acelerar y --offload-to-cpu si tienes poca VRAM disponible.
Semilla Usa --seed -1 para resultados diferentes cada vez, o una semilla concreta para reproducibilidad.

Recuerda: La generación de video es más exigente que la de imágenes. Si tienes problemas de memoria, considera reducir la resolución o el número de frames. Para más información sobre optimización, consulta la guía principal de StableDiffusion.cpp.