nesaorg/animatediff-base
Modelo de generación de video a partir de texto basado en AnimateDiff-Lightning, una versión destilada y acelerada de AnimateDiff SD 1.5 v2. Está orientado a crear animaciones con pocos pasos de inferencia, con checkpoints de 1, 2, 4 y 8 pasos; las variantes de 2, 4 y 8 pasos se recomiendan para mejor calidad, mientras que la de 1 paso se ofrece principalmente para investigación.
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("nesaorg/animatediff-base", dtype=torch.bfloat16, device_map="cuda")
prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]
Uso recomendado de AnimateDiff-Lightning con Diffusers:
import torch
from diffusers import AnimateDiffPipeline, MotionAdapter, EulerDiscreteScheduler
from diffusers.utils import export_to_gif
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file
device = "cuda"
dtype = torch.float16
step = 4 # Options: [1,2,4,8]
repo = "ByteDance/AnimateDiff-Lightning"
ckpt = f"animatediff_lightning_{step}step_diffusers.safetensors"
base = "emilianJR/epiCRealism" # Choose to your favorite base model.
adapter = MotionAdapter().to(device, dtype)
adapter.load_state_dict(load_file(hf_hub_download(repo ,ckpt), device=device))
pipe = AnimateDiffPipeline.from_pretrained(base, motion_adapter=adapter, torch_dtype=dtype).to(device)
pipe.scheduler = EulerDiscreteScheduler.from_config(pipe.scheduler.config, timestep_spacing="trailing", beta_schedule="linear")
output = pipe(prompt="A girl smiling", guidance_scale=1.0, num_inference_steps=step)
export_to_gif(output.frames[0], "animation.gif")
Para ComfyUI, se debe importar el workflow animatediff_lightning_workflow.json, instalar ComfyUI-AnimateDiff-Evolved y ComfyUI-VideoHelperSuite, colocar el checkpoint del modelo base en /models/checkpoints/ y el checkpoint animatediff_lightning_Nstep_comfyui.safetensors en /custom_nodes/ComfyUI-AnimateDiff-Evolved/models/. Para video-a-video se usa el workflow animatediff_lightning_v2v_openpose_workflow.json junto con ControlNet OpenPose.
Funcionalidades
- Generación texto-a-video con Diffusers y AnimateDiff.
- Checkpoints destilados de 1, 2, 4 y 8 pasos para inferencia rápida.
- Puede generar videos más de diez veces más rápido que AnimateDiff original, según la tarjeta del modelo.
- Compatible con modelos base estilizados como epiCRealism, Realistic Vision, DreamShaper, ToonYou y otros.
- Compatible con ComfyUI mediante workflows para texto-a-video y video-a-video.
- Soporta generación video-a-video con ControlNet OpenPose en ComfyUI.
- Licencia creativeml-openrail-m.
Casos de uso
- Crear GIFs o clips cortos a partir de prompts de texto.
- Prototipar animaciones estilizadas con pocos pasos de inferencia.
- Generar video-a-video usando un video de entrada y ControlNet OpenPose.
- Experimentar con modelos base realistas, anime, cartoon o 3D para obtener distintos estilos visuales.
- Investigación sobre destilación de modelos de difusión para generación rápida de video.