Instructions to use pixai-labs/pixai-tagger-v1.0 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use pixai-labs/pixai-tagger-v1.0 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-classification", model="pixai-labs/pixai-tagger-v1.0", trust_remote_code=True) pipe("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/parrots.png")# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("pixai-labs/pixai-tagger-v1.0", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
PixAI Tagger v1.0
Tag your anime images with 30,877 tags for characters, clothing, styles, and more.
Use the tags to organize your collection, prepare a dataset, or help write captions. Cutoff: May 2026.
Quickstart · v0.9 comparison · Benchmark · Inference performance · Limitations
Quickstart
You’ll need PyTorch, torchvision, Transformers, timm, NumPy, and Pillow. Then load the tagger and pass it an image:
from PIL import Image
from transformers import pipeline
model_id = "pixai-labs/pixai-tagger-v1.0"
tagger = pipeline(
model=model_id,
image_processor=model_id,
trust_remote_code=True,
)
image = Image.open("image.jpg")
results = tagger(image)["results"]
print(results["general"])
# {"1girl": 0.98, "solo": 0.95, ...} # illustrative output
Already downloaded the model? Set model_id to your local folder. trust_remote_code=True loads the model code included in this repo.
results contains tag names and scores, grouped by category. The pipeline uses the recommended settings below by default.
Recommended thresholds
You can adjust thresholds per category. These settings are already the defaults in the pipeline and demo:
| General | Character | Style | Copyright | Meta | Rating |
|---|---|---|---|---|---|
| 0.17 | 0.27 | 0.15 | 0.24 | 0.17 | 0.41 |
They’re the per-category macro-F1 settings from the full-vocabulary evaluation. They were selected on that test set, so use them as starting points for your own images. The report’s 0.20 overall threshold is a separate single-threshold result.
Raise a threshold for fewer, more confident tags. Lower it to include more possibilities. To pass the recommended settings explicitly:
results = tagger(
image,
threshold={
"general": 0.17,
"character": 0.27,
"style": 0.15,
"copyright": 0.24,
"meta": 0.17,
"rating": 0.41,
},
)["results"]
You can also override just one category, such as threshold={"general": 0.25}; the others keep their defaults. To use one threshold for every category, pass a number, such as threshold=0.20.
What it recognizes
The model uses a finetuned SAM3 backbone at 1008 × 1008 resolution. It resizes and pads your images without stretching them.
Model details
| Property | Value |
|---|---|
| Backbone | finetuned SAM3 backbone |
| Parameters | 486.3 million |
| Input | 1008 × 1008; aspect ratio preserved with resizing and padding |
| Vocabulary | 30,877 tags across six categories |
| Cutoff | May 2026 |
| Output | Tag confidence scores, grouped by category |
| Default thresholds | General 0.17 · Character 0.27 · Style 0.15 · Copyright 0.24 · Meta 0.17 · Rating 0.41 |
| Output category | Tags | Description |
|---|---|---|
general |
15,043 | Visible content, including clothing, poses, objects, and composition |
character |
8,308 | Named characters |
style |
4,917 | Style labels |
copyright |
2,460 | Source works and franchises, plus original |
meta |
145 | Medium, provenance, resolution, and status labels |
rating |
4 | rating:g, rating:s, rating:q, and rating:e |
Compared with PixAI Tagger v0.9
v1.0 supports 30,877 tags, up from 13,461 in v0.9, and works at 1008 × 1008 instead of 448 × 448.
| Release | Vocabulary | Input resolution | General micro F1 | Character micro F1 |
|---|---|---|---|---|
| PixAI Tagger v0.9 | 13,461 | 448 × 448 | 0.5980 | 0.8198 |
| PixAI Tagger v1.0 | 30,877 | 1008 × 1008 | 0.6660 | 0.9242 |
On the same test images and shared tags, v1.0 gains 6.80 percentage points in General micro F1 and 10.44 points in Character micro F1 over v0.9. Both use thresholds chosen on calibration images only.
Common-tag benchmark
We tested v1.0 against seven other anime taggers, including v0.9, using the same images. For each category, we scored only tags the models share. That keeps a longer tag list from giving a model an automatic advantage.
General tags
v1.0 leads all three General scores in this test of 8,407 shared tags across 50,416 images. Gold marks v1.0; muted blue marks v0.9.
See General scores and details
Each model’s threshold was chosen on calibration images only. Plot axes use different ranges; scores are point estimates without confidence intervals.
Highest General micro F1, macro F1, and mAP among the eight models shown in our common-tag benchmark. Tagger v1.0 reaches 0.6660 micro F1, a 2.25 percentage-point lead over the next model, and 0.3807 mAP on 8,407 shared General tags. These results describe the evaluated models and dataset, rather than every available tagger.
| Model | Micro F1 ↑ | Macro F1 ↑ | mAP ↑ |
|---|---|---|---|
| PixAI Tagger v1.0 | 0.6660 | 0.3885 | 0.3807 |
| AnimeTIMM CAFormer B36 | 0.6435 | 0.3539 | 0.3324 |
| AnimeTIMM ConvNeXtV2 Huge | 0.6421 | 0.3752 | 0.3333 |
| AnimeTIMM EVA Giant | 0.6410 | 0.3796 | 0.3391 |
| AnimeTIMM EVA02 Large | 0.6401 | 0.3742 | 0.3423 |
| AnimeTIMM SigLIP Giant | 0.6362 | 0.3722 | 0.3267 |
| PixAI Tagger v0.9 | 0.5980 | 0.3286 | 0.3251 |
| Camie v2 | 0.5775 | 0.2109 | 0.2245 |
The next-best models are CAFormer B36 for micro F1, EVA Giant for macro F1, and EVA02 Large for mAP. The mAP lead is 3.84 percentage points.
Character tags
Tagger v1.0 ranks second in micro F1 on 2,099 shared Character tags.
See Character scores and details
| Model | Micro F1 ↑ | Macro F1 ↑ | mAP ↑ |
|---|---|---|---|
| PixAI Tagger v1.0 | 0.9242 | 0.8919 | 0.9226 |
| AnimeTIMM CAFormer B36 | 0.9069 | 0.8779 | 0.9079 |
| AnimeTIMM ConvNeXtV2 Huge | 0.9188 | 0.8974 | 0.9182 |
| AnimeTIMM EVA Giant | 0.9221 | 0.9018 | 0.9271 |
| AnimeTIMM EVA02 Large | 0.9179 | 0.8923 | 0.9226 |
| AnimeTIMM SigLIP Giant | 0.9265 | 0.9082 | 0.9232 |
| PixAI Tagger v0.9 | 0.8198 | 0.7791 | 0.8376 |
| Camie v2 | 0.7261 | 0.6491 | 0.7192 |
Tagger v1.0 ranks second in Character micro F1, 0.23 percentage points behind SigLIP Giant. SigLIP Giant also leads macro F1; EVA Giant leads mAP. These scores do not measure recognition outside the shared vocabulary.
Style tags
The benchmark scores 620 shared Style tags. These labels are returned under style by the Tagger v1.0 pipeline.
| Model | Micro F1 ↑ | Macro F1 ↑ | mAP ↑ |
|---|---|---|---|
| PixAI Tagger v1.0 | 0.8143 | 0.7700 | 0.7976 |
| Camie v2 | 0.3764 | 0.2914 | 0.4088 |
v0.9 and the five AnimeTIMM models do not support Style tags and are excluded from this table; missing support is not a zero score. The Style label set and scores are unchanged from the previous round. v0.9’s endpoint derives copyright/series tags from character names using a lookup table; it has no separate probability head for those tags, so we exclude them from learned-head comparisons.
How we ran the comparison
- Images: 99,999 total, with 50,416 test images and 49,583 calibration images. Image dates span June 1–August 10, 2026, with 33,333 images from each of June, July, and August. No September images are included.
- Shared labels: tags must appear in the vocabulary intersection for each supported category and have at least five ground-truth occurrences. Adding v0.9 reduced the shared sets to 8,407 General and 2,099 Character tags. All General and Character scores were recomputed on these new sets; none use the previous round’s intersection. Style, Copyright, and Meta retain their 620, 1,096, and 91 shared tags. Only Style scores for these categories are shown here.
- Thresholds: each model and category uses one scalar threshold, selected on calibration and evaluated on test. The new summary does not list the selected threshold values.
- Metrics: micro F1 aggregates prediction counts across tags; macro F1 weights each tag equally. mAP is mean average precision, computed using predictions saved with a common 0.05 probability floor, rather than fully dense scores.
- Coverage: v0.9 completed inference on all 99,999 images. Existing models were rescored from their saved predictions without rerunning inference.
- Overlap controls: evaluation uses the release's original labels. Known matches to our training data were excluded by key, MD5, and exact perceptual hash. External models' training overlap is unknown; approximate perceptual-hash matching was not performed. Release dates alone do not establish whether training data overlap.
- Interpretation: no statistical significance analysis or full-dataset FP32 comparison was performed. Small differences should be treated as observations for this evaluation.
Inference performance
On an H100 80 GB, v1.0 processed 48.3 images/s at batch 16, excluding preprocessing. It scored highest on General micro F1, though the other seven models ran faster in this setup.
See model sizes, speeds, and test setup
| Model | Params (M) | Full vocabulary | Input side (px) | Eval batch | End-to-end images/s/GPU | B1 latency (ms) | B16 images/s |
|---|---|---|---|---|---|---|---|
| PixAI Tagger v1.0 | 486.3 | 30,877 | 1008 | 16 | 21.8 | 24.95 | 48.3 |
| AnimeTIMM CAFormer B36 | 134.0 | 12,476 | 384 | 32 | 128.5 | 19.53 | 375.8 |
| AnimeTIMM ConvNeXtV2 Huge | 692.6 | 12,476 | 512 | 32 | 73.8 | 14.98 | 122.1 |
| AnimeTIMM EVA Giant | 1030.6 | 12,476 | 560 | 32 | 35.7 | 17.37 | 108.8 |
| AnimeTIMM EVA02 Large | 316.8 | 12,476 | 448 | 32 | 85.3 | 21.82 | 170.5 |
| AnimeTIMM SigLIP Giant | 1183.5 | 12,476 | 512 | 32 | 40.6 | 19.01 | 136.8 |
| PixAI Tagger v0.9 | 317.9 | 13,461 | 448 | 32 | 40.3 | 30.34 | 50.1 |
| Camie v2 | 143.0 | 70,527 | 512 | 32 | 56.1 | 7.70 | 287.7 |
Full vocabulary sizes describe model resources; they are not the number of tags scored in the shared-vocabulary tables.
Timing scope. B1 and B16 include the forward pass, sigmoid, and output copy to CPU; preprocessing is excluded. End-to-end rates include the evaluation pipeline and are normalized per GPU. Each process used one H100 80 GB. v0.9 completed its eight-GPU run, including startup, in about 345.0 seconds. Its end-to-end rate divides the image count by the sum of shard runtimes, not the eight-GPU wall time. CPU allocation, cache, storage, and other jobs on the node can affect end-to-end speed.
Precision. v0.9 used FP32 weights, forward pass, and sigmoid, with TF32 disabled. Tagger v1.0 used a BF16 model with FP32 sigmoid. The five AnimeTIMM models used FP32 weights with BF16 autocast and FP32 sigmoid. Camie v2 used its official FP32 ONNX path. These are measurements of the configured paths, not a comparison of each model's maximum optimization potential.
Giant model timing and numerical checks
Each Giant used four GPUs; both ran simultaneously on one node sharing 40 CPUs. End-to-end throughput is image count divided by the sum of shard runtimes, not aggregate four-GPU throughput. CPU allocation, cache, and storage affect these rates. B1/B16 rates were derived from mean batch latency across four shards.
EVA Giant completed inference, including startup, in approximately 778.2 seconds; SigLIP Giant took 706.5 seconds. Together they added 199,998 image predictions.
FP32/BF16 probes used 64 distinct images per Giant. Maximum probability differences were 0.04323 for EVA Giant and 0.06364 for SigLIP Giant; these probes do not establish precision equivalence over the full dataset. Native preprocessing matched unmodified dghs-imgutils 0.19.0 exactly on 32 real images and six boundary-size images per Giant.
Full-vocabulary evaluation
On the full-vocabulary test set, v1.0 scored 0.723 overall micro F1 across its full tag list.
Full per-category precision, recall, F1, and thresholds
The full-vocabulary evaluation used a separate 80,531-image held-out test split and each of Tagger v1.0's 30,877 tags. It reached 0.723 overall micro F1. These results use a different dataset, vocabulary, and threshold-selection method from the common-tag benchmark above.
Thresholds in this table were selected after evaluating the test split, separately to maximize macro or micro F1. They are descriptive operating points, not independent estimates of performance at calibration-selected thresholds.
| Category | Tags | Macro thr. | Macro P | Macro R | Macro F1 | Micro thr. | Micro P | Micro R | Micro F1 |
|---|---|---|---|---|---|---|---|---|---|
| Overall | 30,877 | 0.20 | 0.714 | 0.671 | 0.674 | 0.35 | 0.732 | 0.714 | 0.723 |
| General | 15,043 | 0.17 | 0.504 | 0.506 | 0.480 | 0.34 | 0.699 | 0.693 | 0.696 |
| Character | 8,308 | 0.27 | 0.908 | 0.857 | 0.875 | 0.37 | 0.929 | 0.861 | 0.894 |
| Style | 4,917 | 0.15 | 0.934 | 0.873 | 0.894 | 0.19 | 0.944 | 0.861 | 0.901 |
| Copyright | 2,460 | 0.24 | 0.849 | 0.744 | 0.778 | 0.46 | 0.933 | 0.854 | 0.892 |
| Meta | 145 | 0.17 | 0.506 | 0.408 | 0.417 | 0.47 | 0.926 | 0.859 | 0.891 |
| Rating | 4 | 0.41 | 0.841 | 0.881 | 0.860 | 0.43 | 0.832 | 0.881 | 0.856 |
P = precision; R = recall; thr. = threshold. Macro and micro columns may use different thresholds.
Ways to use it
- Make your image collection searchable.
- Add tags to a dataset and review the results.
- Use tags as a starting point for captions.
- Use tags in your text-to-image workflow.
Limitations
- Best suited to anime illustrations. We haven’t measured how well it works on other kinds of images.
- It can only return tags it knows. The cutoff is May 2026, so newer characters, franchises, and styles may be missing.
- Expect some missed or incorrect tags. Check details like counts, attributes, and style labels when they matter.
- Adjust thresholds for your images. A high score doesn’t guarantee a correct tag.
- Moderation: do not rely on the tagger alone for safety moderation, legal decisions, or age verification.
- Benchmark scope: the comparison covers the listed models, shared labels, and measured inference configurations. It does not establish universal superiority or performance outside the shared vocabulary.
Figure source data
The benchmark figures and comparison tables use the supplied evaluation summary. Common-tag data, v0.9 comparison data and the Python plotting script are included, along with editable SVG and PDF versions of all three figures in figures/. No evaluation was rerun for this card.
- Downloads last month
- 10


