feat: Add Anima support (#860)

* Add Anima training support

* Update Anima modular training

* Use sample guidance for Anima

* Fix Anima sampling

* Limit Anima LoRA targets

* Convert Anima LoRA exports

* Fix Anima local loading

* Update Anima default model

* Pin upstream Anima diffusers

* Adjust template defaults to be consistent with other models. Update README

---------

Co-authored-by: Jaret Burkett (Ostris) <jaretburkett@gmail.com>
This commit is contained in:
rmatif
2026-07-15 19:59:01 +02:00
committed by GitHub
parent 8bbd051667
commit 3e6bd874c4
8 changed files with 694 additions and 3 deletions

View File

@@ -594,7 +594,7 @@ class TrainConfig:
self.max_loss: Optional[float] = kwargs.get("max_loss", None)
ModelArch = Literal['sd1', 'sd2', 'sd3', 'sdxl', 'pixart', 'pixart_sigma', 'auraflow', 'flux', 'flex1', 'flex2', 'lumina2', 'vega', 'ssd', 'wan21']
ModelArch = Literal['sd1', 'sd2', 'sd3', 'sdxl', 'pixart', 'pixart_sigma', 'auraflow', 'flux', 'flex1', 'flex2', 'lumina2', 'vega', 'ssd', 'wan21', 'anima']
class ModelConfig:

View File

@@ -152,6 +152,10 @@ class PromptEmbeds:
metadata = f.metadata()
if metadata is not None and metadata.get("class_name", "") == "AdvancedPromptEmbeds":
return AdvancedPromptEmbeds.load(path=path)
if metadata is not None and metadata.get("class_name", "") == "AnimaPromptEmbeds":
from extensions_built_in.diffusion_models.anima import AnimaPromptEmbeds
return AnimaPromptEmbeds.load(path=path)
state_dict = load_file(path, device='cpu')
text_embeds = []