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:
rmatifandJaret Burkett authored and GitHub committed 2026-07-15 11:59:01 -06:00
1 parent 8bbd051667
commit 3e6bd874c4
8 files changed
+694 -3

No files matched your search

+1 -1
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:
+4
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 = []