CivArchive
    nArnima Turbo - All In One ANIMA V1 checkpoint - V1
    NSFW
    Preview 130849036
    Preview 130849030
    Preview 130849035
    Preview 130849039
    Preview 130849038
    Preview 130849040
    Preview 130849041
    Preview 130849042
    Preview 130849044
    Preview 130849047
    Preview 130849050
    Preview 130849055
    Preview 130849060
    Preview 130849063
    Preview 130849066
    Preview 130849068
    Preview 130849071
    Preview 130849074
    Preview 130849078
    Preview 130849079

    With the release of base V1 of ANIMA, now is the time to release a full checkpoint for some fun and stuff (including a bounty that will follow once i got some sleep ๐Ÿคฃ)

    Usage:

    • Resolution: Base V1 had a huge boost in quality with a final finetune at 1536x1536 resolution = Showcases picture are 960x1440 without any Hires.Fix or Upscale.

    • sampler/scheduler: ER_SDE + Beta (or Smoothstep for sd.cpp)

    • CFG: 1 since the Turbo LoRA is included (but 1.1 to 1.5 also works and allow back some negative prompting)

    • steps: 8-12 should be enough with the Turbo LoRA but i go for 16.

    • positive prompt: i like to start with masterpiece, best quality, score_9, newest, detailed

    • flow shift: keep the default at 3 if your tool of choice display the value

    Works with Forge Neo, should work with ComfyUI.

    NB: A Q4_K quantized version for sd.cpp is available on HF (remember this version does NOT work with Forge/Comfy)

    It is made using:

    • ANIMA Base V1

    • nArnima V2 LoRA at 1.0 (this means that yes, the TE has been slightly modified. Using base Qwen3-4B as override will change results)

    • my Turbo LoRA at 0.9

    • my P3-to-V1 LoRA at -0.1 to restore some details i wanted back without breaking the impressive boost in quality of the Base V1 gens

    Ugly build script:

    from safetensors.torch import load_file, save_file
    import torch
    from tqdm import tqdm
    
    torch.set_grad_enabled(False)
    
    
    def prefix_replace(st, o, n):
        for k in [k for k in st if k.startswith(o)]:
            st[f"{n}{k[len(o):]}"] = st.pop(k)
    
    
    def to_cuda(t):
        return t.to(device="cuda", dtype=torch.float)
    
    
    def to_cpu(t):
        return t.to(device="cpu", dtype=torch.bfloat16).contiguous()
    
    
    def merge_lora_weight(l, lk, w):
        B = to_cuda(l[f"{lk}.lora_B.weight"])
        A = to_cuda(l[f"{lk}.lora_A.weight"])
        if f"{lk}.alpha" in l:
            s = float(l[f"{lk}.alpha"]) / B.shape[1]
        else:
            s = 1.0
        m = (B @ A) * s * w
        return m
    
    
    def weight_or_bias(k):
        c = {"bias": "diff_b", "weight": "diff"}
        for suffix in c:
            if k.endswith(suffix):
                return k.replace(suffix, c[suffix])
    
    
    def merge_lora(st, f, w):
        l = load_file(f)
        prefix_replace(l, "text_encoders.qwen3_06b.", "cond_stage_model.qwen3_06b.transformer.")
        prefix_replace(l, "diffusion_model.", "model.diffusion_model.")
        print(f"Merging {f} at {w}")
        for k in (pbar := tqdm(st.keys())):
            pbar.set_postfix_str(k)
            layer = st[k]
            if len(layer.shape) not in [1, 2]:
                del layer
                continue
            if len(layer.shape) == 1:
                lk = weight_or_bias(k)
                if lk in l:
                    st[k] = to_cpu(to_cuda(layer) + to_cuda(l[lk]) * w)
            else:
                lk = k.rstrip(".weight")
                if f"{lk}.lora_B.weight" in l:
                    st[k] = to_cpu(to_cuda(layer) + merge_lora_weight(l, lk, w))
            del layer
        del l
    
    
    def main():
        print("Loading anima_baseV10.safetensors")
        model = load_file("anima_baseV10.safetensors")
        prefix_replace(model, "net.", "model.diffusion_model.")
    
        print("Loading qwen_3_06b_base.safetensors")
        te = load_file("qwen_3_06b_base.safetensors")
        prefix_replace(te, "model.", "cond_stage_model.qwen3_06b.transformer.model.")
    
        for k in te:
            model[k] = te[k]
        del te
    
        merge_lora(model, "nArnima_V2.safetensors", 1.0)
        merge_lora(model, "Turbo-ANIMA.safetensors", 0.9)
        merge_lora(model, "anima-P3-to-V1.safetensors", -0.1)
    
        print("Loading qwen_image_vae.safetensors")
        vae = load_file("qwen_image_vae.safetensors")
        prefix_replace(vae, "", "first_stage_model.")
        for k in vae:
            model[k] = vae[k]
        del vae
    
        print("Saving nArnima-Turbo-AIO.safetensors")
        save_file(model, "nArnima-Turbo-AIO.safetensors")
        print("Done!")
    
    
    if __name__ == "__main__":
        main()
    

    Legal

    The CircleStone Model is licensed by CircleStone Labs LLC under the CircleStone Non-Commercial License. Copyright CircleStone Labs LLC. IN NO EVENT SHALL CIRCLESTONE LABS LLC BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH USE OF THIS MODEL.

    Description

    Posted on Civitai, upload found elsewhere are FORBIDDEN and done without the author permission.

    FAQ

    Comments (12)

    NeonN3K0May 16, 2026ยท 2 reactions
    CivitAI

    DUDE, Thank you.

    I've been loving anima, but it's always been hit or miss with checkpoints so far... until now.

    I've had no issues with it yet, but I just started using it.

    n_Arno
    Author
    May 16, 2026

    Hope you'll get no issues whatsoever :D

    GombaTheGreatMay 16, 2026ยท 3 reactions
    CivitAI

    I was looking forward to this ever since Anima 1.0!
    Checkpoint looks awesome, great job! ๐Ÿ’•

    n_Arno
    Author
    May 16, 2026

    Thanks! ๐Ÿฅฐ

    n_Arno
    Author
    May 16, 2026
    CivitAI

    Thanks @GZees for the tips! ๐Ÿ’œ

    n_Arno
    Author
    May 17, 2026
    CivitAI

    Thanks @SinWhisper for the tips! ๐Ÿ’œ

    gladias9May 17, 2026
    CivitAI

    the absolute best prompt adherence out of any Anima model i've used so far. i can easily squeeze 4 unique characters in a single prompt.

    my only issue was the style lora you used, it's high quality though not for my taste. easily enough, i downloaded the lora separate and put it to negative and it looks anime again.

    n_Arno
    Author
    May 17, 2026

    Indeed, this is a way to do so ^^

    n_Arno
    Author
    May 18, 2026

    A "no style baked in" version is avaiblable here now: https://civitai.red/models/2632277/anima-v1-turbo-aio?modelVersionId=2955442

    n_Arno
    Author
    May 18, 2026
    CivitAI

    Thanks @vibhisana for the very generous tips! This will go straight to a bounty prize ๐Ÿ’œ๐Ÿ’œ๐Ÿ’œ

    vibhisanaMay 18, 2026ยท 1 reaction

    I heard there will be a bounty, so I am bribing you in advance. Wait, where is the button to set this message invisible to others?

    n_Arno
    Author
    May 19, 2026

    @vibhisanaย ๐Ÿ˜‰๐Ÿ’•

    Checkpoint
    Anima

    Details

    Downloads
    769
    Platform
    CivitAI
    Platform Status
    Available
    Created
    5/16/2026
    Updated
    6/1/2026
    Deleted
    -

    Files

    narnimaTurboAllInOne_v1.safetensors

    Mirrors