File size: 4,558 Bytes
75dd39f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
---
title: AnimeLoom
short_description: Open anime character LoRAs and tools for the AnimeLoom text-to-anime-video pipeline.
---

# AnimeLoom

**Open-source character LoRAs and tooling for face-consistent anime video generation.**

AnimeLoom is a text-to-anime-video pipeline focused on the hardest part of long-form
anime generation: **keeping the same character's face the same across every shot.**

This organization hosts the character LoRAs used by the
[AnimeLoom pipeline](https://github.com/JoelJohnsonThomas/AnimeLoom) on GitHub.

---

## Character LoRAs

| Character | Series | Repo |
|-----------|--------|------|
| Sakura Haruno | Naruto | [AnimeLoom/sakura-haruno](https://huggingface.co/AnimeLoom/sakura-haruno) |
| Denji | Chainsaw Man | [AnimeLoom/denji](https://huggingface.co/AnimeLoom/denji) |
| Yuki Nagato | The Melancholy of Haruhi Suzumiya | [AnimeLoom/yuki-nagato](https://huggingface.co/AnimeLoom/yuki-nagato) |

Every LoRA ships **two adapters** in one repo:

- `sdxl/` β€” for [Animagine XL 3.1](https://huggingface.co/cagliostrolab/animagine-xl-3.1), used by AnimeLoom's identity-keyframe stage
- `sd15/` β€” for [DreamShaper 8](https://huggingface.co/Lykon/dreamshaper-8), for lightweight AnimateDiff workflows

All adapters are LoRA rank 32, trained with [PEFT](https://huggingface.co/docs/peft).

---

## The pipeline

AnimeLoom is a Director-Orchestrated pipeline that turns a text story into a
multi-shot anime video with consistent character identity.

```
text story
   ↓
Story Decomposer (Gemini β†’ Claude)        β†’  shot script
   ↓
SDXL + character LoRA + IP-Adapter        β†’  identity keyframe per shot   (Phase 2)
   ↓
Wan2.2 I2V                                β†’  motion driving clip          (Phase 3a)
   ↓
Wan2.2-Animate face-lock                  β†’  face from keyframe pasted
                                              onto motion clip            (Phase 3b)
   ↓
RIFE + Real-ESRGAN + GFPGAN               β†’  temporal/spatial upscale,
                                              anime face restore           (Phase 4)
   ↓
Cross-dissolve assembly                   β†’  final 24fps video
```

### Why face-lock matters

The "Animate" stage at Phase 3b is the moat. Per
[community testing](https://apatero.com/blog/wan22-animate-14b-character-animation-guide-2025),
Wan2.2-Animate-14B achieves an **89% usable rate** versus AnimateDiff's 71% and
commercial APIs' ~78%. Combined with character-specific LoRAs trained for the
SDXL identity stage, AnimeLoom can keep a character recognizably "themselves"
across every shot of a multi-shot scene β€” the part most open-source pipelines
struggle with.

---

## Quick start

Train your own character LoRA, or use one from this org:

```python
import torch
from diffusers import StableDiffusionXLPipeline
from peft import PeftModel

pipe = StableDiffusionXLPipeline.from_pretrained(
    "cagliostrolab/animagine-xl-3.1",
    torch_dtype=torch.float16,
).to("cuda")

# Load any AnimeLoom character LoRA
pipe.unet = PeftModel.from_pretrained(
    pipe.unet,
    "AnimeLoom/sakura-haruno",   # or AnimeLoom/denji, AnimeLoom/yuki-nagato
    subfolder="sdxl",
)

img = pipe(
    "1girl, sakura haruno, pink hair, cherry blossom forest, anime, masterpiece",
    num_inference_steps=28,
    guidance_scale=6.5,
    height=1024, width=1024,
).images[0]
img.save("out.png")
```

For the full text-to-video pipeline, see the
[AnimeLoom RunPod notebook](https://github.com/JoelJohnsonThomas/AnimeLoom/blob/main/notebooks/AnimeLoom_RunPod.ipynb).

---

## License

All character LoRAs in this org are released under
[OpenRAIL++](https://huggingface.co/spaces/CompVis/stable-diffusion-license),
inheriting from their base models (Animagine XL 3.1 / DreamShaper 8).
The AnimeLoom pipeline code on GitHub is MIT licensed.

---

## Contributing

Want to add a character? The training script is in
[`agents/character/trainer.py`](https://github.com/JoelJohnsonThomas/AnimeLoom/tree/main/agents/character).
Recommended dataset: 15-30 clean anime reference images of the character at
512 or 1024 resolution.

Issues, PRs, and new character requests: [GitHub Issues](https://github.com/JoelJohnsonThomas/AnimeLoom/issues).

---

## Links

- πŸ™ **GitHub**: [JoelJohnsonThomas/AnimeLoom](https://github.com/JoelJohnsonThomas/AnimeLoom)
- πŸ“¦ **Pipeline notebook**: [AnimeLoom_RunPod.ipynb](https://github.com/JoelJohnsonThomas/AnimeLoom/blob/main/notebooks/AnimeLoom_RunPod.ipynb)
- πŸ€— **All models**: [huggingface.co/AnimeLoom](https://huggingface.co/AnimeLoom)