IPostYellow/TurboWan2.2-I2V-A14B-Diffusers

IPostYellow
Texto a video

Conversión a formato Diffusers del modelo TurboWan2.2-I2V-A14B-720P para generación de video a partir de imagen y texto. Está orientado a flujos image-to-video con la tubería WanImageToVideoDmdPipeline, turbo-diffusion y ejecución local con Diffusers o sglang.

Como usar

Instalación y uso básico con Diffusers:

pip install -U diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline

# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained(
    "IPostYellow/TurboWan2.2-I2V-A14B-Diffusers",
    dtype=torch.bfloat16,
    device_map="cuda"
)

prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]

Servidor local con sglang:

sglang serve \
  --model-path /home/admin/TurboWan2.2-I2V-A14B-Diffusers \
  --dit-cpu-offload false \
  --text-encoder-cpu-offload false \
  --image-encoder-cpu-offload false \
  --vae-cpu-offload false \
  --pin-cpu-memory false \
  --num-gpus 2 \
  --tp-size 2

Ejemplo de solicitud:

import requests

prompt = "POV selfie video, ultra-messy and extremely fast. A white cat in sunglasses stands on a surfboard with a neutral look when the board suddenly whips sideways, throwing cat and camera into the water; the frame dives sharply downward, swallowed by violent bursts of bubbles, spinning turbulence, and smeared water streaks as the camera sinks. Shadows thicken, pressure ripples distort the edges, and loose bubbles rush upward past the lens, showing the camera is still sinking. Then the cat kicks upward with explosive speed, dragging the view through churning bubbles and rapidly brightening water as sunlight floods back in; the camera races upward, water streaming off the lens, and finally breaks the surface in a sudden blast of light and spray, snapping back into a crooked, frantic selfie as the cat resurfaces."

response = requests.post(
    "http://localhost:30000/v1/videos",
    files={
        'prompt': (None, prompt),
        'size': (None, '720x1280'),
        'reference_url': (None, "https://raw.githubusercontent.com/IPostYellow/TurboWan_to_Diffusers/refs/heads/main/input_image/i2v_input_0.jpg"),
        'num_inference_steps': (None, "4"),
        'fps': (None, "16"),
        'num_frames': (None, "81"),
        'seed': (None, "0")
    }
)

print("Status Code:", response.status_code)
print("Response Body:", response.text)

Funcionalidades

Modelo de texto a video e imagen a video basado en Wan/Wan2.1 y TurboDiffusion.
Publicado en formato Diffusers con pesos Safetensors.
Licencia Apache 2.0.
Compatible con ejecución local mediante la biblioteca Diffusers.
Incluye ejemplo de servidor sglang para servir el modelo en dos GPU con paralelismo tensorial.
Permite solicitudes de generación de video con imagen de referencia, tamaño, FPS, número de frames, pasos de inferencia y semilla.

Casos de uso

Generar videos verticales o de alta resolución a partir de una imagen de referencia y una descripción textual.
Probar flujos locales de image-to-video basados en Wan/TurboDiffusion sin depender de proveedores de inferencia alojados.
Servir un endpoint local compatible con solicitudes HTTP para producir clips parametrizados por FPS, frames, pasos de inferencia y semilla.
Experimentar con prompts cinematográficos y escenas dinámicas usando pocos pasos de inferencia.