nesaorg/animatediff-base

nesaorg
Texto a video

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.