anima-tagger
Tag and caption editor for local Stable Diffusion LoRA datasets. Combines manual edits, an automatic WD14-family tagger, Qwen3-VL captioning, and Danbooru API fetches under one editing surface so the user doesn't have to think about provenance while curating.
Built primarily for ANIMA preview LoRA training, but the data model and export profiles are not ANIMA-specific.
Features
- One chip list, three sources. Manual tags, auto-tagger output, and Danbooru tags live in the same list — color-coded, but the user curates without thinking about provenance.
- Negative-tag suppression that survives model swaps. Mark
-fooonce; re-running the tagger preserves the suppression even with a different model. - Per-folder configuration via
anima-tagger.toml. Pick the tagger model, captioner, export profile and threshold per dataset. - Two output modes.
exportwrites one<image>.txtper image (sd-scripts DreamBooth/LoRA caption-file mode);metadatawrites a singlemeta.json(sd-scripts fine-tune mode). - Bilingual GUI. English / 日本語 toggle, defaults to host locale.
- CLI for batch operations, GUI for curation.
Install
macOS (Apple Silicon) / Linux (x64 or arm64)
|
Windows (x64)
irm https://raw.githubusercontent.com/fwaunstp/anima-tagger/main/install.ps1 | iex
Both installers download the latest GitHub release, verify SHA256, and place:
| Platform | CLI | GUI |
|---|---|---|
| macOS | ~/.local/bin/anima-tagger |
~/Applications/anima-tagger.app |
| Linux | ~/.local/bin/anima-tagger |
~/.local/bin/anima-tagger-gui (AppImage) |
| Windows | %USERPROFILE%\bin\anima-tagger.exe |
installed via MSI (UAC prompt) |
Pin a specific version with --version v0.1.0 (or -Version v0.1.0 on
PowerShell).
macOS first launch
The macOS bundle is not notarized. The installer clears the
com.apple.quarantine attribute, but if Gatekeeper still blocks it,
right-click the app in Finder → Open to confirm once.
Linux glibc requirement
The Linux release binaries link against the glibc shipped on
Ubuntu 24.04 (glibc 2.39). They will not run on Ubuntu 22.04, Debian
12, or earlier — the prebuilt ONNX Runtime that the tagger / captioner
depend on references __isoc23_* symbols introduced in glibc 2.38.
Build from source on older distros, or upgrade.
Windows support caveat
The maintainer develops on macOS and Linux. Windows builds are produced by CI but not regularly exercised — please file an issue if anything breaks.
Build from source
Requires Rust 1.85+ (edition 2024). On Linux, install
libwebkit2gtk-4.1-dev (or your distro's equivalent) for the GUI:
Quick start
-
Launch
anima-tagger-gui(or run the CLI directly — see below). -
Open folder… → pick a directory of images.
-
(Optional) Config… → write
anima-tagger.tomlfor the dataset. Sensible defaults apply if you skip this. -
Select images, then click Run tagger / Run captioner / Fetch booru. The first run downloads the relevant ONNX models into the HuggingFace cache (
~/.cache/huggingface/hub). -
Curate: add manual tags, suppress unwanted auto/booru tags (
×strikes them through), edit captions. -
Export to disk:
Configuration overview
anima-tagger.toml lives in the dataset directory. Everything is
optional — without it, defaults kick in. See
crates/core/anima-tagger.toml.example for the
annotated full schema. Highlights:
= "anima"
= "wd-eva02-large-v3"
= "qwen3-vl-4b"
[]
= 0.35
= false
= { = "@" }
[]
= "SmilingWolf/wd-eva02-large-tagger-v3"
= 448
= 0.10
[]
= "onnx-community/Qwen3-4B-VL-ONNX"
= "qwen3-vl-4b-instruct-onnx-vision-fp32-text-int4-cpu"
= "Describe this image in detail."
CLI commands
anima-tagger tag <dir> [--model NAME] [--threshold X] [--force]
anima-tagger caption <dir> [--model NAME] [--force]
anima-tagger booru <dir> [--source danbooru] [--force]
anima-tagger export <dir> [--profile NAME] [--threshold X]
anima-tagger metadata <dir> [--profile NAME] [--threshold X] [--output PATH]
anima-tagger status <dir>
anima-tagger tokens <dir>
Documentation
- DEVELOPMENT.md — architecture, crate layout, ONNX session shapes, ort version notes. Read this before contributing.
- crates/core/anima-tagger.toml.example — annotated configuration example.
License
Dual-licensed under either of:
at your option.