Anima oppai_loli style LoRA

Style LoRA for circlestone-labs/Anima (preview3-base), trained with DiffSynth-Studio.

Trigger word: oppai_loli (place at the start of the prompt).

Files

File Format Use with
opai_loli_v1.safetensors ComfyUI (keys prefixed diffusion_model., .default stripped) ComfyUI Load LoRA node

If you only want to generate images, use opai_loli_v1.safetensors.

Usage β€” ComfyUI

  1. Drop opai_loli_v1.safetensors into ComfyUI/models/loras/.
  2. Load the Anima base model as usual.
  3. Add a Load LoRA node, select this file, strength 0.8 ~ 1.0 to start.
  4. Prompt must start with oppai_loli, ....

Example prompt:

oppai_loli, masterpiece, best quality, score_7, safe, 1girl, ...

Negative (recommended for Anima):

worst quality, low quality, score_1, score_2, score_3, artist name

Sampler tips: cfg_scale=4.0, 30 steps, height/width multiple of 16.

Usage β€” DiffSynth-Studio

from diffsynth.pipelines.anima_image import AnimaImagePipeline, ModelConfig
import torch

pipe = AnimaImagePipeline.from_pretrained(
    torch_dtype=torch.bfloat16,
    model_configs=[
        ModelConfig(model_id="circlestone-labs/Anima", origin_file_pattern="split_files/diffusion_models/anima-preview3-base.safetensors"),
        ModelConfig(model_id="circlestone-labs/Anima", origin_file_pattern="split_files/text_encoders/qwen_3_06b_base.safetensors"),
        ModelConfig(model_id="circlestone-labs/Anima", origin_file_pattern="split_files/vae/qwen_image_vae.safetensors"),
    ],
)
pipe.load_lora(pipe.dit, "opai_loli_v1.safetensors", alpha=1.0)

Training

Base model circlestone-labs/Anima preview3-base
Framework DiffSynth-Studio (examples/anima/model_training/train.py)
Dataset 226 images, 1024Γ—1365, single concept
Trigger oppai_loli (prepended to every caption)
Epochs 1 (more started overfitting)
Steps 2260 (226 Γ— 10 repeat)
Effective batch 4 (batch 1 Γ— grad accum 4)
Optimizer AdamW, lr 2e-5, weight decay 0.01
Precision bf16 (Blackwell native)
LoRA rank 32
LoRA target auto-search on dit (28 DiT blocks + 6 llm_adapter blocks, attn + mlp)
Gradient checkpointing on
Hardware RTX 5090 32GB, CUDA 13.0
Wall time ~25 min

Notes

  • DiffSynth train.py does not register a state_dict_converter, so the raw checkpoint is saved in PEFT format with .lora_A.default.weight / .lora_B.default.weight keys. ComfyUI and DiffSynth's own inference loader (merge_lora) cannot match these keys. _comfy.safetensors is the same weights with keys normalized to diffusion_model.<...>.lora_{A,B}.weight.
  • 1 epoch was the sweet spot on this dataset; multi-epoch runs started baking in dataset-specific artifacts.
  • Style is the focus; pose / composition still come from the base model + prompt.

License

MIT. Base model license terms still apply when used together.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for locke12/oppai_loli

Finetuned
(48)
this model