Text-to-Image
karume
webgpu

Anima Extra β€” Karume

What is this

Community fine-tunes of the CircleStone Anima base model (circlestone-labs/Anima-Base-v1.0-Diffusers), converted into the WebGPU inference runtime Karume's container format (a .krm part sequence whose first part carries the graph and model descriptors). Runs as-is in the browser and in Deno.

  • Ordinary many-step sampling β€” 20 steps / guidance 4 by default. Classifier-free guidance is on, which is what makes the negative prompt take effect. The official models (base / Aesthetic / Turbo) live in hdae/karume-anima.
  • Not readable by diffusers (it's a different container with an embedded graph); the reader is a pipeline that implements anima/1.
  • Exporter used for the conversion: karume/0.13.0. The distribution manifest is karume.json (karume/5).

Models and their origins

Each model below is a community fine-tune of the CircleStone Anima base model. The text encoder, VAE and tokenizers are shared with the official repository (hdae/karume-anima) through pinned cross-repository references in karume.json.

anima-wai-v1.0 β€” WAI-ANIMA v1.0 (base 1.0)

Permissions listed on the source page (as of 2026-08-22):

  • allowNoCredit: true
  • allowCommercialUse: Image / RentCivit
  • allowDerivatives: true
  • allowDifferentLicense: true

anima-copycat-20260610 β€” copycat-anima 20260610

Permissions listed on the source page (as of 2026-08-22):

  • allowNoCredit: true
  • allowCommercialUse: Image / RentCivit
  • allowDerivatives: true
  • allowDifferentLicense: false

License

Every model here derives from the CircleStone Anima base model and stays under the CircleStone Non-Commercial License (non-commercial use only). This repository ships LICENSE.md (the full license text) and NOTICE.md (this attribution plus the list of modifications).

Any rights to use the CircleStone Models and/or Derivatives in this repository are granted to you directly by CircleStone Labs LLC under the CircleStone Labs Non-Commercial License (LICENSE.md).

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.

  • Outputs you generate are yours to use for any purpose, including commercially (license Β§2(e)); the non-commercial restriction applies to the model weights and derivatives, not to outputs.
  • The community fine-tunes are redistributed under the permissions their source pages state (listed per model above); those permissions do not widen the base model's license.
  • anima-copycat-20260610: the source page sets allowDifferentLicense to false, so this redistribution keeps the same terms β€” do not relicense it.
  • This is not an official product of CircleStone Labs LLC, and it is not endorsed, approved or validated by CircleStone Labs LLC.

Models

Model Pipeline Quants Default quant
anima-wai-v1.0 (default) anima/1 f16 / f16+dit8 / f16+dit8-a8 / f16+dit8-a8-attn8 / f16+dit8-a8-attn8-s16 / f16-c16 f16+dit8-a8-attn8-s16
anima-copycat-20260610 anima/1 f16 / f16+dit8 / f16+dit8-a8 / f16+dit8-a8-attn8 / f16+dit8-a8-attn8-s16 / f16-c16 f16+dit8-a8-attn8-s16

model selects one of these; omitted, it is anima-wai-v1.0. quant defaults to that model's own default quant.

Usage

import { AnimaPipeline, encodePng } from "jsr:@karume/models";

await using pipeline = await AnimaPipeline.fromPretrained({
  repo: "hdae/karume-anima-extra",
  // Pin a commit for reproducible builds β€” without it you track `main`, and a future
  // repo update (renamed files, new manifest format) may break your app.
  // Copy the full hash from this repo's "Files and versions" tab:
  // revision: "<full commit sha>",
}, {
  // model: "anima-wai-v1.0", // default β€” available: anima-copycat-20260610 / anima-wai-v1.0
  // quant: "f16+dit8-a8-attn8-s16", // default β€” available: f16 / f16+dit8 / f16+dit8-a8 / f16+dit8-a8-attn8 / f16+dit8-a8-attn8-s16 / f16-c16
});

const image = await pipeline.generate({
  prompt: "1girl, solo, long hair, blue eyes, school uniform, masterpiece",

  // steps: 20, // default β€” more steps trade time for detail
  // Resolution β€” non-square is fine; each side on a 16 px grid, between 512 and 2048 px:
  // Sides above 1920 px sit outside the range this model declares (its RoPE tables
  // declare 120 tokens = 1920 px per side); those positions are extrapolated with the
  // same formula, so what can differ there is the image quality.
  // resolution: { width: 1024, height: 1024 }, // default

  // Classifier-free guidance runs a second (uncond) branch β€” twice the work per step.
  // It is on by default here, which is what makes the negative prompt take effect:
  // guidanceScale: 4, // default
  // negativePrompt: "low quality, worst quality, blurry, bad anatomy, jpeg artifacts", // default

  seed: 42, // same seed + same request β†’ same image
});

const png = await encodePng(image.data, image.width, image.height);
await Deno.writeFile("anima.png", png);

Weights are fetched once and cached (verified against karume.json's size / sha256).

Model: anima-wai-v1.0

Quants

Quant What it is Download Weights Compute
f16 Full quality (f16) β€” Transformer in f16 storage with f32 compute β€” the largest download, and the reference the other quants here are judged against. 5.06 GiB (1.16 GiB shared) text_encoder = f16 / text_conditioner = f16 / transformer = f16 / vae_decoder = f16 β€”
f16+dit8 Half size (int8 transformer) β€” Transformer stored as int8 and computed in f32: roughly half its f16 download, with the execution path left unchanged. 3.24 GiB (1.16 GiB shared) text_encoder = f16 / text_conditioner = f16 / transformer = i8 / vae_decoder = f16 β€”
f16+dit8-a8 Half size, int8 linear β€” The int8 transformer with per-token int8 activations in its linear layers β€” faster on GPUs with dp4a, same download. 3.24 GiB (1.16 GiB shared) text_encoder = f16 / text_conditioner = f16 / transformer = i8 / vae_decoder = f16 linearCompute = a8
f16+dit8-a8-attn8 Half size, int8 linear and attention β€” Adds int8 activations inside attention on top of the int8 linear path; same weights, one more integer stage per step. 3.24 GiB (1.16 GiB shared) text_encoder = f16 / text_conditioner = f16 / transformer = i8 / vae_decoder = f16 linearCompute = a8 / attentionCompute = a8
f16+dit8-a8-attn8-s16 (default) Balanced (int8) β€” The int8 linear and attention path with attention scores held in f16 β€” the fastest of the int8 seats here, at f16-level image quality. 3.24 GiB (1.16 GiB shared) text_encoder = f16 / text_conditioner = f16 / transformer = i8 / vae_decoder = f16 linearCompute = a8 / attentionCompute = a8 / attentionScoreStorage = f16
f16-c16 Full quality, f16 compute β€” f16 storage computed in f16 throughout. Needs the shader-f16 GPU feature, and trades numerical headroom for speed. 5.06 GiB (1.16 GiB shared) text_encoder = f16 / text_conditioner = f16 / transformer = f16 / vae_decoder = f16 linearCompute = f16 / attentionCompute = f16 / requires shaderF16

If no quant is given, it runs as f16+dit8-a8-attn8-s16 (this model's recommended default). In a quant name, dit is the transformer component. Per-file size and sha256 live in karume.json β€” verify against that at the fetch layer. Dtype labels use the runtime's storage dtype vocabulary (f16 / i8 / i4 / i2), not the fp16 spelling common elsewhere in the ecosystem. Weights ship as Karume container files (.krm), split into numbered parts; a part is fetched and verified on its own. A path under shared/ is one this model shares byte for byte with another model in this repository (it is fetched and cached once). Some components are fetched from hdae/karume-anima at commit adb9dcf054400671… β€” those bytes are identical to this model's own, so they are not stored here a second time.

Defaults

Any knob not passed to generate() is filled in from the manifest's defaults.

  • steps: 20
  • guidanceScale: 4
  • resolution: 1024 Γ— 1024
  • negativePrompt: low quality, worst quality, blurry, bad anatomy, jpeg artifacts

Model: anima-copycat-20260610

Quants

Quant What it is Download Weights Compute
f16 Full quality (f16) β€” Transformer in f16 storage with f32 compute β€” the largest download, and the reference the other quants here are judged against. 5.06 GiB (1.16 GiB shared) text_encoder = f16 / text_conditioner = f16 / transformer = f16 / vae_decoder = f16 β€”
f16+dit8 Half size (int8 transformer) β€” Transformer stored as int8 and computed in f32: roughly half its f16 download, with the execution path left unchanged. 3.24 GiB (1.16 GiB shared) text_encoder = f16 / text_conditioner = f16 / transformer = i8 / vae_decoder = f16 β€”
f16+dit8-a8 Half size, int8 linear β€” The int8 transformer with per-token int8 activations in its linear layers β€” faster on GPUs with dp4a, same download. 3.24 GiB (1.16 GiB shared) text_encoder = f16 / text_conditioner = f16 / transformer = i8 / vae_decoder = f16 linearCompute = a8
f16+dit8-a8-attn8 Half size, int8 linear and attention β€” Adds int8 activations inside attention on top of the int8 linear path; same weights, one more integer stage per step. 3.24 GiB (1.16 GiB shared) text_encoder = f16 / text_conditioner = f16 / transformer = i8 / vae_decoder = f16 linearCompute = a8 / attentionCompute = a8
f16+dit8-a8-attn8-s16 (default) Balanced (int8) β€” The int8 linear and attention path with attention scores held in f16 β€” the fastest of the int8 seats here, at f16-level image quality. 3.24 GiB (1.16 GiB shared) text_encoder = f16 / text_conditioner = f16 / transformer = i8 / vae_decoder = f16 linearCompute = a8 / attentionCompute = a8 / attentionScoreStorage = f16
f16-c16 Full quality, f16 compute β€” f16 storage computed in f16 throughout. Needs the shader-f16 GPU feature, and trades numerical headroom for speed. 5.06 GiB (1.16 GiB shared) text_encoder = f16 / text_conditioner = f16 / transformer = f16 / vae_decoder = f16 linearCompute = f16 / attentionCompute = f16 / requires shaderF16

If no quant is given, it runs as f16+dit8-a8-attn8-s16 (this model's recommended default). In a quant name, dit is the transformer component. Per-file size and sha256 live in karume.json β€” verify against that at the fetch layer. Dtype labels use the runtime's storage dtype vocabulary (f16 / i8 / i4 / i2), not the fp16 spelling common elsewhere in the ecosystem. Weights ship as Karume container files (.krm), split into numbered parts; a part is fetched and verified on its own. A path under shared/ is one this model shares byte for byte with another model in this repository (it is fetched and cached once). Some components are fetched from hdae/karume-anima at commit adb9dcf054400671… β€” those bytes are identical to this model's own, so they are not stored here a second time.

Defaults

Any knob not passed to generate() is filled in from the manifest's defaults.

  • steps: 20
  • guidanceScale: 4
  • resolution: 1024 Γ— 1024
  • negativePrompt: low quality, worst quality, blurry, bad anatomy, jpeg artifacts
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 hdae/karume-anima-extra