Skip to the report

Tsubaki.3 · Technical Report · August 2026

Tsubaki.3

An Anime Multimodal Foundation Model

We introduce Tsubaki.3, a multimodal foundation model for anime image generation across a wide range of styles, including illustration, manga, and webtoon. This report presents its data curation, training strategy, post-training curriculum, and evaluation. We have also open-sourced Tagger 1.0, our anime concept tagging tool, to support further work by the community.

  • Illustration
  • Manga
  • Webtoon generation
  • Text to image
  • In-context generation
  • Tagger 1.0 open-sourced
++

Motivation

Diffusion and flow-matching models now produce photorealistic images with high resolution, stable structure, high-quality text rendering, and precise prompt following.

However, when it comes to the anime illustration generation vertical, the challenge is different: anime illustration is concept-dense, and its styles especially so. A single prompt can name a sequence of style proper nouns that are not necessarily compatible with each other, a list of characters with diverse appearances and actions, hard poses, and artistic camera angles, and each of these namespaces is long-tailed. A handful of common concepts make up most of the data, but the concept coverage capabilities people actually want live out in the long tail. Moreover, many anime concepts don't really have a natural-language description at all; the community refers to them by an anime-specific tagging system.

With these limitations in mind, we built Tsubaki 3: a unified multimodal foundation model, trained for both text-to-image and in-context generation and designed for the anime community.

Text to image

In-context generation

Input / reference

→

Output

Character reference · kneeling pose · Reference generationInstruction · Generate the referenced character in a kneeling pose.
More examplesClick to switch the case above

Contents

  1. 01Training stages
  2. 02Data
  3. 03Pre-training
  4. 04Post-training
  5. 05Evaluation
  6. 06Prompt Helper
  7. 07Tagger
  8. 08Join us
  9. 09References

Training stages

Tsubaki.3 composes text-to-image and in-context tasks into one unified pretraining pipeline. It starts from one shared backbone and forks into two branches. Text-to-image pretraining gives the model world general concept knowledge, and text-to-image mid-training provides anime concept knowledge. The shared base model that follows takes both images and text as input. From there, training splits into two tracks that specialize the same backbone toward two different jobs. One track generates from text, and the other generates from a reference. Each track then carries its own distillation. The text-to-image track finally runs a post-distillation RL task for last-mile alignment. The in-context track continues pretraining on image-conditioned data, and it distills from there. The complete training sequence is shown in Figure 1.

Figure 1. Text-to-image pretraining and text-to-image mid-training are shared by both tracks. After that, the text-to-image track runs post-training, distillation, and a post-distillation RL pass; the in-context track continues pretraining on image-conditioned data, then distills separately. Both distillation boxes are the same kind of stage, run once per track. Tsubaki.3 denotes the full model, and Tsubaki.3 Flash denotes the distilled offering.

Tsubaki.3 abilities

Tsubaki.3 supports two broad categories of generation: text-to-image and in-context generation. Text-to-image prompts are descriptive: they specify what belongs in the image. In-context prompts are instructive: they specify what to do with the input images. We further divide in-context generation into three task families: local editing, reference generation, and reference editing. The table below summarizes the inputs and preservation requirements of text-to-image generation and these three in-context families.

GroupAbilitiesInputWhat must be preserved
Text-to-image1 ability
Text-to-image generation
Text onlyNothing carried over, because the image is new
Local editing
The model changes the region that the instruction names, and leaves the rest of the image unchanged. Thirteen example abilities shown below:Color change; expression editing; action editing; size change; object addition; object removal; object replacement; background replacement; text addition; text removal; text replacement; composite edits; inpainting
Source image + instructionEverything in the source except the edited regions specified
Reference generation
A reference image supplies one attribute, and the model builds a new picture around it. The attribute covers character, pose, expression, sketch, page layout, style, and others.
One or more reference images + instructionWhatever the reference supplies, which is identity, style, pose, sketch, or layout, and nothing else
Reference editing
Editing and reference combined: the model receives a base image to edit, together with one or more further images that supply the attribute to bring into it.
Source image + reference image(s) + instructionEverything in the source except what the reference brings in

The four ability groups, with what each one takes as input and what it must carry through. Text-to-image generation stands alone; the other three are the in-context groups, which differ in how they use their inputs and what they preserve in the output.

Data curation

Our model stack uses three complementary data pipelines: text-to-image generation, reference generation, and image editing. The text-to-image pipeline curates open and in-house image datasets into a high-quality, balanced data mixture with consistent captions. The reference-generation and image-editing pipelines construct source/reference–instruction–target triplets, covering tasks from simple appearance changes to more complex reasoning and transformations. All three follow the same principles: diverse concept coverage, instruction quality, and consistency between inputs and targets.

Anime Text-To-Image Data Curation

We collect an anime-domain dataset for the text-to-image mid-training stage. It starts from roughly 500M image–text pairs collected from large-scale open-source datasets. Raw web data of this kind is noisy, heavily duplicated, inconsistently captioned, and skewed toward a small set of frequent concepts. We address these four issues with corresponding curation steps: quality filtering, deduplication, captioning, and concept balancing. After curation, about 50M image–text pairs remain, and each pre-training stage samples its training subset from this pool.

SigLip-Anime

An anime-native representation space, one that understands style, palette, character identity, and scene structure, is the foundation of our data curation pipeline. We probe whether a representation space genuinely understands anime images by running unsupervised clustering over its embeddings and inspecting what ends up together. Consistent with our intuition, general-purpose encoders such as SigLIP 2 cluster anime images almost entirely by subject, composition, and semantics: two images with dramatically different styles are routinely placed in the same cluster. That behavior works directly against our goal, since building our model depends on broad coverage of styles and anime-specific concepts. We therefore fine-tune SigLIP 2 SO400M[1] on our deduplicated public anime data, and we call the result SigLip-Anime. Its features carry the filtering classifiers, and the concept clustering later in this section reads the same features. The rest of the report refers to this model as SigLip-Anime.

Filtering

Each image passes through the three filtering stages shown in Figure 2, with inexpensive checks applied before more expensive ones. Metadata filters remove corrupted or near-empty files, images with insufficient resolution or pixel count, extreme aspect ratios, and inconsistent orientation flags. Heuristic content filters then score the decoded image and remove overexposed, oversaturated, mosaicked, and blurry images. The remaining images are passed to five in-house classifiers that remove watermarked, low-aesthetic, advertisement-like, real-person, and AI-generated images.

Figure 2. Images that pass each filtering stage proceed to the next. The sequence prioritizes inexpensive checks, while stage-specific thresholds control the balance between coverage and quality.

To build the classifiers, we train a lightweight classification head for each task on top of SigLip-Anime. Each head is trained on a small human-labeled gold set, which we expand by prompting a VLM with a task-specific instruction to collect pseudo-labels. The same encoder is reused as the embedding backbone for concept balancing.

Most filters output a continuous score rather than a binary decision. As indicated below the pipeline, we tighten their thresholds from pretraining to SFT: early stages retain broad coverage, while later stages keep only the cleanest data.

Deduplication

Filtering removes bad images but not repeated ones. Web-scale data is highly redundant within and across sources, and booru-style boards are an extreme case: the same artwork is routinely re-uploaded to several boards by many accounts. We therefore deduplicate the filtered images at two levels, within each dataset and across datasets. Each image is encoded into an SSCD copy-detection descriptor[2], and all descriptors are indexed with FAISS[3] for nearest-neighbor search. Within a dataset, images with cosine similarity above 0.9 are grouped as duplicates, and one representative is retained per group, chosen by source reliability first and image quality second. About 5% of the collection consists of artworks with legitimate variants, such as alternative versions of the same piece. For these we raise the threshold to 0.92–0.98 so that distinct variants are not collapsed. We find that even genuine variants rarely exceed a similarity of 0.995, so pairs above this value are always merged. This prevents heavily duplicated sources from dominating the training distribution while preserving meaningful variation.

Captioning

The captions that accompany web images are inconsistent in length, style, and accuracy, so we re-caption all retained images with Qwen3.5-27B and Tagger 1.0. Each image receives two complementary caption types: a tag list that enumerates the main objects and attributes, and natural-language captions that describe style, lighting, atmosphere, and fine visual details. Natural-language captions are produced at three lengths, short (30–60 words), medium (120–250 words), and long (250–750 words), and the tag list is also available in condensed form. We observe that long captions give denser supervision and faster convergence, but training on long captions alone quickly degrades performance on short prompts. We therefore sample caption type and length per image during training, so the model learns to follow prompts of varying length and specificity. For text-rich images, the captioner is explicitly prompted to transcribe the visible text as rendering instructions.

Concept balancing

Even after filtering and deduplication, the collection remains skewed: centered single-character portraits dominate, while under-represented styles, rare objects, and uncommon attributes that users want to generate are sparse. We therefore collect targeted supplemental data for these long-tail concepts, over-sample it, and re-weight the rest of the collection with concept-aware sampling. Concepts are obtained by hierarchical clustering of SigLip-Anime embeddings, following the clustering-based approach of Vo et al.[4], and clusters are sampled so that long-tail styles are retained without spending the training budget on head concepts. Because small clusters are not always meaningful (borders, watermarks, and repeated acquisition artifacts also form small clusters), we up-weight only those whose members are visually coherent and cap the rest. Consistent with the filtering thresholds, the re-weighting is strengthened across training stages, so that early stages learn broad visual priors and later stages focus on cleaner, capability-specific data.

In-context pretraining data curation

Overview

The in-context training dataset consists of source or reference images, a target image, and a text instruction. It covers two capability categories: local editing, where the target changes specified parts of a source image, and reference generation, where the target carries attributes from one or more reference images into a new composition. Reference-guided editing combines these requirements.

We developed two dataset curation strategies. Natural data pairing draws pairs from images we already hold. Tagger 1.0 and embedding-based clustering identify images that share an attribute, and two such images form a candidate pair. Self-distillation pairing uses our generators to construct candidate pairs under fine-grained prompt control, including spatial conditioning with ControlNet[5] and low-rank adaptations (LoRA)[6]. Additional synthesized pairs extend the capability coverage beyond the pairs available in our existing collection.

Both strategies contribute to our pool of candidate image pairs. Rejection sampling and captioning follow. The complete route is shown in Figure 3.

Figure 3. The curation workflow checks candidate images and their instructions before use in training. Image-level checks establish the intended relation; instruction-level checks verify that the text describes it accurately. The applicable checks are tailored to each data source.

Two strategies

Natural data pairing

Natural data pairing builds image pairs out of pictures we already hold. A pair qualifies when its two images share a consistent attribute: the same character, the same drawing style, or the same pose. Tagger 1.0 and our embedding models group the single-image pool along those attributes, and the groups give us the pairs. The four groupings are summarized in Figure 4.

Figure 4. Natural pairing relations and the in-context capabilities they supervise.

Same character. Tagger 1.0 labels the character in each illustration, which sorts a large part of the collection into groups of one person. Images from the same group depict the same character across different poses, framing, and scenes, providing training pairs for character-reference generation.

Same drawing style. Our style embedding measures how a picture is drawn rather than what it shows: line quality, color, shading and finish. We use embedding similarity to identify candidate pairs with similar drawing styles, including images with different subjects.

Frames from animation. Animation gives us one character in many poses, angles and lighting conditions, with the costume unchanged. The source establishes identity, so no grouping step has to infer it. These frames also cover viewing angles that illustrations rarely show. Two frames that differ in one small way become an edit pair instead of a reference pair.

Layered artwork. Some artwork arrives with its layers intact. A layer switched on or off gives two pictures that differ inside one region and match pixel for pixel everywhere else.

Self-distilled capability data

Several capabilities call for pairs that no collection holds. We render both sides of those ourselves.

The text-to-image model from Pretraining accepts two prompt forms: a list of tags, and a description in natural language. To construct a candidate pair, we render a prompt, change one part of it, and render again. This gives us control over the intended change and the supply of each kind of pair.

For attributes that are difficult to control precisely through prompts alone, we use techniques such as ControlNet[5] and low-rank adaptation (LoRA)[6].

Same character, one style. We keep the character and style descriptions unchanged while varying the action and background descriptions to construct candidate pairs.

Same character, another style. We keep the character description unchanged and replace the style description to construct candidate pairs depicting the same character in different drawing styles.

Character sheet. We keep the character description and change the requested layout to a three-view character sheet. The generated sheet is paired with other generated images of the same character.

Several characters in one picture. We combine multiple character descriptions in a single prompt to generate a shared composition. The generated image is paired with individual images of the specified characters to construct multi-character reference examples.

Pose-consistent pairs. Rather than relying on the prompt alone to specify a pose, we extract the pose from a reference image and use it as a ControlNet condition during generation. The reference image supplies the pose, while the prompt specifies the desired image content. The instruction identifies that image as the pose reference.

Local edits. We use image-editing generators with techniques such as SDEdit[7] and inpainting to modify specified regions of an existing image according to a text instruction. Figure 5 summarizes these construction routes.

Figure 5. Prompt and conditioning changes used to construct self-distilled capability pairs.

Rejection sampling

Both routes end at candidates. Each pair claims that its two images share something, and the claim holds only as often as its source allows. A character label can be wrong. A style group can mix two styles. Two frames can catch a costume change. One layer can carry more than one change. A renderer can drift away from the character it was given. We test every claim before the pair reaches training, and far fewer pairs survive than enter.

We trained our own vision-language model for this test, and we call it the pair judge. Its training data is a large set of labels from our own annotators, and each label carries the reasoning behind the verdict as well as the verdict. The model therefore learns which features decide the answer.

The model reads two images and one attribute, and it answers one question: do these two images agree on that attribute? What comes back is a similarity on that attribute alone.

A row with several inputs therefore gets several calls. Take a row that draws the character from the first input, the drawing style from the second, and the pose from the third. The model runs three times: character between input 1 and the target, style between input 2 and the target, pose between input 3 and the target. Each call still sees two images and one attribute. One difficult row becomes three simple questions, and a failure names the input that caused it.

Pretraining and training infrastructure

Pretraining curriculum

Pretraining establishes visual concept coverage, text-image alignment, and structural modeling before later stages emphasize visual quality and instruction following. We progressively increase resolution and introduce image-conditioned tasks, moving from text-to-image generation toward joint generation and editing.

Progressive-resolution training. Training proceeds through 768, 1024, and 1536 pixel phases. The 768 and 1024 phases emphasize entities, actions, anatomy, and composition. The 1536 phase concentrates on fine linework, small accessories, lettering, and dense spatial detail.

Aspect-ratio bucketing. We group images into native aspect-ratio buckets to preserve the framing of portraits, manga panels, square illustrations, and wide scenes while keeping batch geometry consistent. Resolution and sequence length also determine the attention, checkpointing, and parallelism configuration described below.

Task-routed sequence packing. Short-prompt tasks use conventional batching with padding to 512 tokens. Longer prompts are packed along the sequence dimension and processed with variable-length attention, reducing unnecessary padding without truncating the instructions.

Training configuration

The learning rate and task mixture change across training stages. Here, T2I denotes text-to-image generation and TI2I denotes image-conditioned generation and editing with text instructions.

ConfigurationText-to-image pretrainingText-to-image mid-training
Learning rate1 × 10−42 × 10−5
Numerical precisionbf16 computation; FP32 accumulation for distributed reductions
Learning-rate schedule500-step warmup; constant target learning rate within each stage

Training infrastructure: performance and hardware health

At multi-node scale, each synchronized step waits for the slowest training process, or rank. We record data transfer, forward, backward, optimizer, and checkpoint timings on every rank and compare them with GPU telemetry from NVIDIA Data Center GPU Manager (DCGM) and NVIDIA Management Library (NVML). Phase timings show where a delay appears; device and interconnect counters help distinguish a compute imbalance from a hardware or communication problem.

Resolution and native aspect ratio change the shape of the workload. A long 1536 bucket raises image-token count, activation residency, and collective volume together, so each resolution and token geometry receives its own performance baseline. Within each baseline, we compare typical rank times with the slowest ranks. A widening gap shows that faster ranks spend more time waiting, even when average GPU utilization remains high.

The 1536 phase also exposed a late activation peak during the first full transformer pass. Selective checkpointing provided the best path at shorter sequences, while full-block checkpointing gave the high-resolution run a stable memory envelope. FlashAttention[8] forward outputs remain saved inside that policy, since recomputing attention can cost more than retaining its compact result. This policy saves memory by recomputing surrounding operations while retaining the attention results that are expensive to reproduce.

The distributed layout follows the hardware topology. Tensor and sequence parallel groups stay within each eight-GPU NVLink domain; FSDP2 carries model-state sharding across nodes. An initialization audit verifies that every trainable parameter is represented as a DTensor and that each rank owns the expected local shard. This small preflight check catches mesh and wrapping errors before the first sustained allocation. Parameters remain in bf16, while reductions accumulate in FP32.

Training symptomSignals read togetherOperational reading
One rank gradually extends the backward tailTensor-pipe activity, SM clocks, temperature, power, and clock-event reasonsSeparates an uneven compute path from thermal or power-limited clocks
Ranks diverge during allocation or startupFramebuffer use, XIDs, uncorrectable memory errors, and row-remap stateIdentifies a stalled process or a device ready for quarantine
An intra-node collective develops a long tailPer-link NVLink throughput, CRC errors, replay errors, and recovery errorsLocalizes the affected GPU pair and link before topology-aware regrouping
A cross-node collective slows across several ranksInfiniBand transmit wait, link recovery, symbol errors, and collective spansDistinguishes fabric contention from a single-rank compute delay
Progress falls while GPU activity remains highTensor-pipe activity, DRAM activity, phase timing, and checkpoint recomputationReveals time moving into memory traffic, repeated work, or rank waiting

DCGM profiling values are interval averages, so we use them as a fleet-level locator and open a focused profiler trace on the affected rank for kernel attribution. Counter deltas are ranked by rate, concentration on specific ranks or links, and alignment with the step-time change. The DCGM field catalog provides the device and fabric counters; health watches keep passive coverage during training, and active diagnostics run before a large allocation and after an isolated hardware event.

Checkpoint cadence is set against measured restart cost. Model, optimizer, random-state, and data-position shards become visible through one completed manifest, which gives replacement ranks one consistent recovery point. A watchdog combines collective heartbeats with hardware health events, fences the affected worker, and resumes from the latest complete checkpoint. This turns intermittent GPU and node events into bounded interruptions while preserving the exact training stream.

Style Diversity Preserving Post-Training

Style collapse is the key challenge of post-training in this domain. In our experiments, correctness post-training moves the model toward one plain, average style, and it does so quickly. We therefore built a post-training curriculum for the anime domain, which holds style diversity while it raises correctness.

We post-train the model along two dimensions: correctness and visual aesthetics. We first conduct supervised fine-tuning (SFT) on fully human-curated data, followed by a multi-stage online reinforcement learning (RL) curriculum. Together, these stages improve generation fidelity and visual appeal.

Supervised finetuning

We construct the SFT dataset in two filtering stages. First, automated selection reduces the pre-training pool to 30k candidates using our in-house aesthetic scorer alongside complexity, style, and semantic-balance metrics. Next, in-house annotators trained in style alignment select 7k images based on consistent style and high visual aesthetics. We fine-tune the model using a uniform timestep schedule with a 0% caption-dropout rate to preserve the pre-trained unconditional prior. As shown in Figure 11 of Text-to-image evaluation, SFT improves aesthetic quality over the base model while prompt following degrades. That figure carries the quantitative comparison. We also find that after SFT, anatomical and hand artifacts become more likely to appear. These issues are addressed in the subsequent RL stage.

RL: a two-stage cascade

RL runs as a two-stage cascade: correctness alignment first, aesthetic enhancement second. Early experiments showed that correctness RL alone hurts style diversity: the reward model is biased toward plain, rigid images, which sacrifices the aesthetic qualities an anime illustration model should preserve. To counteract this, we introduce Stage 2, aesthetic RL, which reverses the drift. Stage 1, the correctness stage, uses a reward system built from four task-specific rubrics. Stage 2 uses two aesthetic rewards: our in-house aesthetic scorer and a VLM-based aesthetic rubric evaluator distilled from illustration-industry standards. Figure 6 summarizes the cascade.

Figure 6. The post-training cascade. Correctness rotates over four task tracks, and each track carries its own rubrics. Aesthetics mixes two reward signals: the in-house aesthetic scorer and the aesthetic rubric evaluator.

The algorithm

Both stages share one optimization objective: an online group-relative policy optimization (GRPO)-style[9] RL algorithm for diffusion-based image generation[10][11]. For each prompt the policy generates a group of k candidate images. The group is scored and normalized inside itself, so each prompt is its own baseline. Above-average trajectories pull the policy, and below-average ones push it away. The policy is scored on its latest generations, which lifts the optimization ceiling above what offline data allows. Rollouts use a deterministic ODE sampler with classifier-free guidance (CFG)[12] at CFG = 1.0. Training touches the conditional branch only, with no explicit KL penalty against a reference policy. Ablations show that a larger group size k and more prompts per batch both raise the final reward ceiling, so we maximize both. The per-iteration cost rises, and the run converges quickly in return: it plateaus at about 100 optimization steps.

Stage 1: multi-task correctness

The correctness alignment stage is divided across four specialized tasks: body anatomy, multi-subject, interaction, and text rendering. Each task brings its own prompt pool and its own reward system. We use mixed-task training with a cyclic batch mechanism: at every step of a cycle, one task is drawn at random and optimized against its own reward. Two tasks never share a batch, so each reward keeps its own scale, and no dominant gradient washes out a weaker one. Both the data and the reward systems are built agentically.

Figure 7 shows the effect directly in the pixels, with every error circled in red on the SFT side. The malformed hand and the shapeless companion cat are corrected (1). The extra arm in the clash disappears, and the punch lands exactly where the prompt says it should, on the opponent's stomach (2). The jumbled road recovers its spatial logic (3), and the twisted table legs come out right (4). As also shown in Figure 11, after the correctness RL stage, prompt following climbs well above the pretrained baseline, while the aesthetic score gives back part of the SFT gain but still stays above where it started.

STAGE 1, SEEN IN THE OUTPUT · EACH PAIR: LEFT = AFTER SFT, ERRORS CIRCLED · RIGHT = AFTER CORRECTNESS RL · SAME PROMPT
BODY ANATOMY
(1) the malformed hand, and the companion cat
(2) the extra arm disappears, and the punch lands true
SCENE LOGIC
(3) the jumbled road recovers its spatial logic
(4) the twisted table legs come out right

Figure 7. What Stage 1 changes, in pixels. Four fixed prompts, each rendered by the SFT checkpoint (left of each pair, errors circled in red) and after correctness RL (right). Stage 1 was built against broken anatomy, hands above all, and broken scene logic in layouts and objects. The pairs show those failures repaired. The repaired images also read a little stiffer, which is the aesthetic penalty that Stage 2 pays back.

Stage 2: aesthetic boosting

Stage 2 starts from the final Stage 1 checkpoint and uses two aesthetic rewards: an in-house aesthetic scorer and a rubric-based evaluator.

In-house aesthetic scorer. A ViT-based scorer that maps an image to a continuous aesthetic reward. Our annotation team first built a large set of fine-grained aesthetic quality ratings, and the scorer was trained on these human preferences.

Aesthetic rubric evaluator. What makes an illustration good depends on the kind of illustration it means to be. A flat-color piece lives on clean silhouettes and a controlled palette, a painterly one on brushwork and edge discipline, and a cinematic scene on light and depth of field. Drawing on the principles and techniques of illustration, we wrote concrete rubrics for different artistic styles and scenes, and a VLM judge scores each image against the rules that apply to it.

In this stage, we use mixed training with the GDPO[13] strategy. Each reward is first normalized into its own group-relative advantage, and the advantages are combined only after that. A scale difference between a rubric score and a model score therefore cannot let one signal dominate the other. The training prompts for this stage are drawn from high-quality user data, including both raw user prompts and prompts processed by our automatic prompt-enhancement pipeline, described in the Prompt Helper section. During this stage, aesthetics rises while prompt following drops, so we pick the point on the Pareto frontier that balances the two as the final Tsubaki.3 model.

Agentic rubric reward system

Many projects use a VLM judge as the reward, but one unified reward model cannot serve every image. What is critical for one prompt could be trivial for another, and in our early experiments, we found that one shared standard accelerated reward hacking. We therefore built an agentic rubric reward system that writes rubrics per prompt.

Toolbox

The agent carries six tools. Every arrow in Figure 8 is a call to one of them.

StageToolFunction
Draftcategory routerClassifies the prompt and returns the shared checks for its category, so the agent only writes the case-specific ones
Draftspan verifierChecks that every deduction quotes a span that appears verbatim in the prompt; returns the offending items
Draftschema gatesChecks that weights fall inside valid ranges, categories are closed, and the checklist is well-formed
Calibrategolden scorerRuns the edited verifier on the human-labeled anchors and reports agreement and repeat-consistency
Proberollout samplerScores a batch of images from the current policy under the rubric and reports the score distribution
Backfilldata retrieverPulls fresh prompts from the held and user pools to replace pruned ones

The loop

The agent runs an autonomous four-stage loop. Each step issues one tool call and receives the tool's output as the next observation, which keeps every decision attributable and makes the trace easy to audit.

  • Draft rubrics. For one training prompt, the agent routes it to a category, inherits the shared checks, writes the case-specific checks, and weights each item by importance.
  • Recalibrate the verifier when a rubric needs it. The verifier is a VLM with fixed instructions, frozen by default. Occasionally a new prompt needs a check it cannot yet judge, so the agent adds an instruction for it. Any such edit counts as a model change and must pass the golden anchors, a human-labeled set, on two conditions: agreement with the human labels stays above threshold, and scoring the same case twice gives the same result. Only then is the verifier frozen again.
  • Probe on rollouts. The rollout sampler scores a batch of images from the current policy under the approved rubric. The agent reads the spread to tell whether the prompt is saturated, too hard, or in the range that still carries signal.
  • Prune and backfill. Prompts where all rollouts pass or all fail are pruned. The data retriever fetches replacements and the cycle restarts.

Figure 8. One agent runs the loop; every arrow is a tool call. It drafts, passes the gates, probes on its own rollouts, prunes and refills, and stops when rubrics and data both hold still. The verifier is touched only when a rubric needs a check it cannot yet judge, and every such edit must pass the anchors again.

The anti-hacking loop

The hardest problem in RL is reward hacking. We defend against it in two ways.

The first is detection and early stopping. Under reward hacking, the training reward and validation scores can keep climbing while visual quality degrades. We therefore keep a fixed, hand-picked evaluation set, generated with fixed seeds at every checkpoint for a quick visual review. The set is chosen for its sensitivity to known failure modes: washed-out overexposure, synthetic grain, and distorted glyphs. When the scores rise and visual quality on the evaluation set degrades, training stops.

The second is recovery. After detecting reward hacking and stopping the run, we apply a short SFT pass to the stopped checkpoint to pull the model out of the local optimum. Early experiments show that this brings the model back toward the real-data distribution within a small number of steps. RL then resumes from the corrected state. This recovery cycle is illustrated in Figure 9.

Figure 9. Reward climbs, the evaluation set reveals the hack, a short SFT corrects it, and RL resumes past the old peak. Each dip is a correction, not a restart.

Few-step generation

Tsubaki.3 Flash is the distilled offering of Tsubaki.3. Distillation trains a student to generate with fewer network evaluations than its multi-step teacher. Relevant prior work includes Distribution Matching Distillation (DMD)[14], which matches the student's output distribution to the teacher's, and DMDR[15], which combines distribution matching with reinforcement learning. These works provide background on few-step generation; the Flash training method is not detailed here.

Our few-step text-to-image student receives a further reward-guided alignment stage to address the loss of fine texture and visual detail observed after distillation. This stage uses an in-house aesthetic scorer to guide refinement of the generated image. The full Tsubaki.3 model and Tsubaki.3 Flash are separate offerings; the text-to-image evaluation in this report covers the full model.

Evaluation

Text-to-image evaluation

Evaluation is organized around the ways users address the model: named long-tail concepts, combinations of several concepts, character identity, style treatment, readable text, and high-resolution detail. Each capability keeps its own slice, while paired comparisons and confidence intervals resolve close checkpoints. This preserves the distinction between identity, style, composition, and surface quality when selecting the next training stage.

Evaluation protocol

Evaluation sliceConstructionPrimary reading
Long-tail invocationHeld-out style proper noun, character, and general-concept rosters, stratified by frequencyRecall@5 over the matching concept roster
Multi-concept compositionPrompts combining identities, costumes, actions, objects, and camera relationsPer-requirement success together with complete-prompt success
Character and style fidelityFixed identity and style prompt banks with matched seedsCharacter similarity, style similarity, and paired preference
Text and high-resolution detailPrompts with specified strings, small accessories, dense linework, and layered layoutsOCR agreement, full-frame layout checks, and crop-level detail checks
Reference-guided generation and editingSource/reference pairs with explicit attributes to preserve and changeConsistency, instruction following, and output quality, with edit locality read inside consistency

The fixed-bank slices are paired with a shared rubric for reference generation and editing. Consistency, instruction following, and output quality apply to both settings; their weights shift with the task. Full-frame checks remain beside crop-level detail measurements because high-resolution texture can mature earlier than character identity, relation accuracy, or source-layout preservation. This combination gives each training phase a compact, capability-oriented reading.

Long-tail retrieval during pretraining

The same frozen style, character, and general-concept rosters are evaluated across checkpoints. Style proper nouns are tested both as short identifiers and through natural-language descriptions.

Character and general-concept Recall@5 rise quickly and finish at 95.8% and 91.5%, respectively. Style proper noun retrieval improves from 15.6% to 60.6%, but its curve largely plateaus around 60% in the latter part of the run. Continued training therefore yields diminishing returns for this concept group, even while its retrieval remains well below the other two groups.

The plateau in Figure 10 motivates targeted oversampling of long-tail concepts. Under the existing training distribution, rare concepts receive too few training examples to be learned reliably; simply extending the run does not adequately close the coverage gap. Oversampling increases their frequency in the training stream so that they receive more learning opportunities. The trajectory motivates this change in data allocation; it does not by itself measure the improvement attributable to oversampling.

Figure 10. Style proper noun retrieval plateaus before coverage is complete. Character and general-concept retrieval reach high values early, while style proper noun retrieval levels off near 60% in later checkpoints, motivating greater training exposure for long-tail concepts.

Choosing a checkpoint

Every candidate checkpoint lands on the same two axes. The horizontal axis is weighted quality, which combines HPSv3[16] and QScore in one z-scored number. HPSv3 measures visual preference, while QScore, our in-house image quality model, measures how well an image is made. The vertical axis is the inhouse anime SigLIP2 target hit rate. The legend reports full-cast preservation alongside the two plotted measurements for each checkpoint on the post-training path.

The four colored points in Figure 11 follow one path through the pipeline. Pretraining sets the starting point. SFT raises quality and full-cast preservation, and it costs a little target fidelity. Correctness RL then lifts the target hit rate to the highest value on the chart, at some cost in quality. Aesthetic RL recovers the quality and holds the target hit rate near the top. A longer aesthetic RL run buys more quality again while giving back a small amount of target fidelity and some full-cast preservation; its target hit rate remains slightly above pretraining.

The point marked Tsubaki.3 represents the full, undistilled model. It carries most of the quality gain while the target hit rate stays near its best value. The adjacent checkpoints show the trade-offs on either side of this operating point.

Figure 11. Every evaluated checkpoint, on weighted quality against inhouse anime SigLIP2 target hit. The four colored points are the post-training path, and the line joins them in pipeline order. The legend reports weighted quality (Q), target hit (T), and full-cast preservation (C). Tsubaki.3 is the full, undistilled model; this figure does not report Tsubaki.3 Flash results. The small gray points are the other checkpoints we scored.

In-context evaluation

We evaluate in-context generation with a vision-language model (VLM) using predefined, case-specific rubric checklists. Separate embedding-based measurements assess drawing style and character similarity.

In-context evaluation rubric design

Human annotators create a checklist for each evaluation case and answer its yes-or-no questions for the generated output. These human answers provide the reference judgments used to calibrate the VLM judge. The evaluation set contains a few thousand cases covering both editing and reference-conditioned generation.

Each checklist covers three dimensions:

DimensionWhat the questions test
ConsistencyWhether the output preserves required attributes from the inputs, such as identity, clothing, style, or background
Instruction followingWhether the output makes each requested change or uses the specified reference attribute
Output qualityWhether the generated image contains anatomy errors, incorrect finger counts, unreadable text, or other rendering faults

The questions reflect the task. Local editing emphasizes preservation outside the requested change; reference generation asks whether the new image carries the specified attributes from its references. The dimensions are shared, but the mix of questions varies by task.

We use the calibrated VLM as the checklist judge to score model checkpoints. It is separate from the pair judge used to filter training examples in Data curation. On the annotated comparison set, its answers agree with the human reference answers on 85% of questions.

For the overall capability score, we pool all scored questions across the thirteen subsets: overall pass rate = total yes answers / total scored questions. A subset contributes in proportion to its question count. Within each subset, the same ratio uses only that subset's questions. These scores measure individual requirements rather than the fraction of images passing every requirement.

Style judgments remain a weakness of the checklist judge, motivating a separate embedding-based assessment of reference fidelity.

Style and character similarity

We use our style and character embedding models to compare generated images with their inputs and references. For the style metrics, cos(a, b) denotes cosine similarity between the style embeddings of images a and b. Each score reports a change relative to the input image, so the starting similarity is explicit.

Style transferring score (previously transfer lift) = cos(output, target) − cos(input, target), where target is the image providing the desired style. A positive value means the output is closer to that style than the input was; it does not by itself establish a complete style match.

Style preserving score (previously retention) = cos(output, reference) − cos(input, reference), where reference supplies the style to preserve. Zero denotes unchanged similarity; a negative value means the output is less similar to the reference than the input was. The target for preservation is a change near zero, rather than an arbitrarily large positive value.

Character embeddings provide a separate relative comparison of identity between outputs and references. These comparisons complement the checklist because an output can satisfy a requested edit while changing the appearance of a character or its drawing style.

Subtracting the input similarity measures the change induced by generation. It reduces dependence on the initial match but does not make the embedding insensitive to subject matter or replace human judgment.

Capability rises while style slips

Across the three checkpoints (C1, C2, and C3), the judge pass rate pooled over all questions rises, while the style transferring score decreases and the style preserving score moves further from zero. Figure 12 plots each style measurement against the pass rate, separating improved checklist performance from the two distinct aspects of style fidelity.

Figure 12. Each panel plots one style measurement against the judge pass rate. The line connects the three checkpoints C1, C2, and C3 in training order. The arrow shows the direction of training. Better results lie up and to the right over the plotted range in both panels. Across these checkpoints, checklist performance improves while both style measurements worsen.

Prompt Helper

Prompt Helper is the text-side model that sits between the user and the generator. It restates a request in the form the image model was trained to read, and it supplies the visual decisions the request left open, while everything the user actually said carries through untouched.

Two gaps

A typical request on our platform is a handful of words: a few tags, a sentence in Japanese or Korean, often both. The captions the generator learned from are long, specific, and written in a house dialect of the training pipeline. That is the first gap, and closing it is worth real quality.

The second gap sits on top of the first. A perfectly clear request can still be a dull one. A girl sitting on a chair fixes the subject and leaves the camera, the light, the mood and the story open, and something has to decide those before the image becomes interesting. Prompt Helper does both jobs: it translates the request into the generator's dialect, and it reads the context to make the choices the user left open. Anything stated explicitly carries through untouched; the model writes into the space left blank.

Building the training pairs

Teaching that mapping requires pairs, and each half comes from a different world. Genuine user prompts arrive without an answer; training captions are ideal answers nobody would type. We assemble the dataset from both directions, so each end of the mapping is anchored in something real.

PathInput sideOutput sideHow it is built
Forward
from user prompts
drawn from the genuine user populationnear the generator's distributionPublicly shared user prompts expanded by the strongest available LLMs under engineered instructions and curated examples. Source prompts are sorted by scene type (single-character close-ups, group interactions, environment and scenery, manga and webtoon layouts), then deduplicated and sampled within each, so every request type keeps its share.
Backward
from training captions
approximating real usersis the training distributionAn LLM compresses long training captions into something a person might plausibly have typed, keeping only the essentials, then recasts the result into the shapes users actually reach for: bare tag strings, or tags mixed with prose.

We tuned the forward rewriter by measurement. We rendered images from candidate rewrites, put them through large-scale human arena comparison, and let the winning version generate at scale. Backward synthesis is conditioned on a target length drawn from the empirical user distribution, so the short, casual prompts that make up roughly a third of real traffic keep their place in the data. Matching how users write turned out to matter as much as matching what they mean.

On top of the pairs we generate reasoning traces: letting the model first reconstruct what was being asked for measurably improves what it writes afterwards. A modest amount of deliberate reweighting finishes the mix. Artistically dense and visually inventive material gets extra representation, scene and object material keeps the model fluent beyond portraits, and prompts headed toward photorealism carry a light medium cue. The aim is coverage wide enough that both art-directed and plainly photographic requests come out well.

The model also knows when to hold back. When a user has loaded a character or style low-rank adaptation (LoRA)[6], those visual choices are already made. We precompute variants of every target caption with traits stripped, style stripped, or both, and train on the variant matching the switch state, so restraint is learned behavior rather than an inference-time instruction.

Optimizing through the generated image

Hitting a synthetic target and making a better picture are two different achievements. The next stage optimizes the rewriter against the images it actually causes to exist, under two families of signal. One is measured on the generated image: how good it looks and how much it is preferred. The other is checked against the text. For each request we precompute a checklist of the concrete things the user specified, every attribute, object, pose and style cue, and score how many survive the rewrite. Safety and constraint checks act as a veto over the combined score.

The faithfulness score is computed deterministically from a structured judgment, which narrows the surface available for reward hacking. Every reward component must clear held-out human-labeled cases before it is permitted to move a gradient.

What the training pool has to contain

The pool is built around the cases that matter most in production. Three patterns recur, and each gets a dedicated slice of data. The bad outputs are fluent, well-structured, and wrong, so a larger pool of ordinary traffic does not remove them.

CaseWhat it looks likeWhat the pool does about it
Reference overrideRetrieved character references contradict the user, and the model sides with retrieval: a request for blonde twintails comes back as a black bob.A slice carrying conflicts planted from real cases: a flipped hair color, a character swapped for a same-franchise neighbour, one character's reference tags pasted onto another.
Detail lossClothing, props and poses the user was explicit about evaporate somewhere in the rewrite.A slice dense with user-specified detail, scored against the per-prompt checklist.
Switch leakageExpansion that a LoRA already covers seeps back in.A slice exercising the suppression switches directly.

Ordinary traffic forms the base, and one slice keeps its retrieval clean and untouched, so the model learns correction and trust in references side by side. Throughout, we favor prompts that are difficult without being impossible: a batch where everything succeeds and a batch where everything fails teach equally little.

Beyond the distribution mean

Landing inside the training distribution has a ceiling: optimize for that alone and the best output converges on the distribution's average. We generated thousands of images from the same source prompts through many rewriting strategies and ranked them pairwise with two independent evaluators. Several strategies beat the shipping baseline on both.

What separates the winners is judgment rather than vocabulary: deciding where the eye should land, choosing light with a visible source, letting composition follow from the kind of image being made. The strategy that stamped one fixed stylistic treatment onto every prompt finished last on both evaluators, which is our clearest evidence against a house look. The two evaluators also rank the strategies differently, so a strategy that wins on one of them has yet to win.

These findings became the stronger expansion settings. Expansion is a spectrum: off, translation and retrieval only, the standard rewrite, and a fully art-directed mode that classifies the image type first and fills in only the dimensions the user left blank. The user's explicit choices override the model's additions, and the model's additions override defaults.

Tagger

Tagger 1.0 uses the image backbone from SAM 3[17]. We chose this backbone because its high-resolution visual features preserve the fine spatial details needed to distinguish closely related anime concepts, while its combination of windowed and global attention remains practical and stable to train. The following sections describe the architecture built on this backbone and how we evaluate it.

We have open-sourced Tagger 1.0. Check it out at https://huggingface.co/pixai-labs/pixai-tagger-v1.0.

Architecture

The architecture starts with the ViTDet-style[18] image backbone from SAM3 and processes images at 1008² resolution. A classification head reads the backbone features and predicts the 30,877 tags. During training, a small reconstruction decoder reads the same features and encourages them to retain fine visual details. Tag prediction and evaluation use the classification head alone.

  1. APatch embed

    The input is fitted into a 1008×1008 square with padding, then divided into patches for the backbone.

  2. BSAM3 backbone

    The 32 backbone blocks combine windowed attention for local detail with global attention for relationships across the whole image. They produce one feature map shared by the two heads used during training.

  3. CClassification head

    A learned query summarizes the spatial feature map into one vector, and a linear layer turns that vector into predictions over the 30,877 tags.

  4. DReconstruction decoder (regularizer)

    Used only during training, this decoder reconstructs a smaller copy of the input. This auxiliary task encourages the shared feature map to keep visual details that tag classification alone might discard.

Evaluation

The evaluated instance is the 80,531-image test split, held out from training and never used for checkpoint selection. Each image is scored against the model's own 30,877-tag vocabulary: for every tag, confusion counts are accumulated at 100 threshold points from 0.00 to 0.99 in steps of 0.01. Macro averaging computes precision and recall per tag, then means across tags. Every tag counts equally, so tags near the 300-image admission floor pull the score down. Micro averaging pools true positives, false positives, and false negatives across all tags before it takes one ratio, so frequent tags dominate. For each displayed category and aggregation we report the threshold that maximizes F1 on this split (ties resolved to the plateau midpoint).

CategoryTagsMacro thr.Macro PMacro RMacro F1Micro thr.Micro PMicro RMicro F1
Overall30,8770.200.7140.6710.6740.350.7320.7140.723
General15,0430.170.5040.5060.4800.340.6990.6930.696
Character8,3080.270.9080.8570.8750.370.9290.8610.894
Copyright2,4600.240.8490.7440.7780.460.9330.8540.892
Meta1450.170.5060.4080.4170.470.9260.8590.891
Rating40.410.8410.8810.8600.430.8320.8810.856

Figure 13 summarizes the macro-F1 differences across tag categories.

Figure 13. Macro-F1 at each displayed category's own best threshold, using own-vocabulary scoring on the 80,531-image held-out test split. Overall (violet) is the aggregate across all 30,877 tags.

The difference between micro-F1 and macro-F1 shows where the model performs well. Micro-F1 is influenced most by common tags, while macro-F1 gives common and rare tags equal weight. A high micro-F1 with a much lower macro-F1 therefore means that common tags work well but rare tags remain difficult. This pattern is strongest for Meta and is also visible for General. Character and Copyright show smaller gaps, suggesting more consistent performance across frequent and infrequent tags. Rating contains only four tags and is less affected by this imbalance.

General tags have an additional evaluation challenge: the ground-truth annotations are often incomplete. An image may contain a valid attribute that its annotator did not record, so some predictions counted as errors may actually be correct. In practice, General and Meta predictions are best used as a strong first pass followed by human review—General because valid attributes may be missing from the source labels, and Meta because performance is less consistent on rare tags.

Against the previous tagger

We compare Tagger 1.0 with our previous release, pixai-tagger v0.9, under one controlled protocol.

The comparison includes only ground-truth tags that appear at least five times and belong to both models' vocabularies. This produces a shared set of 8,407 General tags and 2,099 Character tags. Tags outside these intersections do not enter the scores. F1 denotes micro-F1; macro-F1 gives every tag equal weight, and mAP is computed from predictions retained above the 0.05 sparse-storage floor.

ModelGeneral F1General macro-F1General mAPCharacter F1Character macro-F1Character mAP
Tagger 1.00.66600.38850.38070.92420.89190.9226
pixai-tagger v0.90.59800.32860.32510.81980.77910.8376

On the shared vocabulary, Tagger 1.0 improves General micro-F1 by 6.8 points and Character micro-F1 by 10.4 points over v0.9. Macro-F1 and mAP improve in both categories as well. Because both rows use the same controlled protocol and shared vocabulary, these differences measure the models under the same conditions rather than comparing separate release benchmarks.

Give imagination a world to live in.

Anime has always made impossible worlds feel alive. We are building generation systems that give imagination form—from characters with presence to stories without limits. If you want to help shape the future of anime generation, join us.

Join us

References

  1. M. Tschannen, A. Gritsenko, X. Wang, M. F. Naeem, I. Alabdulmohsin, N. Parthasarathy, T. Evans, L. Beyer, Y. Xia, B. Mustafa, O. Hénaff, J. Harmsen, A. Steiner, and X. Zhai. SigLIP 2: Multilingual Vision-Language Encoders with Improved Semantic Understanding, Localization, and Dense Features. arXiv:2502.14786, 2025.
  2. E. Pizzi, S. Dutta Roy, S. Nagavara Ravindra, P. Goyal, and M. Douze. A Self-Supervised Descriptor for Image Copy Detection. arXiv:2202.10261, 2022.
  3. M. Douze and others. The Faiss library. arXiv:2401.08281, 2024.
  4. H. V. Vo, V. Khalidov, T. Darcet, T. Moutakanni, N. Smetanin, M. Szafraniec, H. Touvron, C. Couprie, M. Oquab, A. Joulin, H. Jégou, P. Labatut, and P. Bojanowski. Automatic Data Curation for Self-Supervised Learning: A Clustering-Based Approach. arXiv:2405.15613, 2024.
  5. L. Zhang, A. Rao, and M. Agrawala. Adding Conditional Control to Text-to-Image Diffusion Models. 2023.
  6. E. J. Hu, Y. Shen, P. Wallis, Z. Allen-Zhu, Y. Li, S. Wang, L. Wang, and W. Chen. LoRA: Low-Rank Adaptation of Large Language Models. 2021.
  7. C. Meng, Y. He, Y. Song, J. Song, J. Wu, J.-Y. Zhu, and S. Ermon. SDEdit: Guided Image Synthesis and Editing with Stochastic Differential Equations. 2021.
  8. J. Shah, G. Bikshandi, Y. Zhang, V. Thakkar, P. Ramani, and T. Dao. FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision. arXiv:2407.08608, 2024.
  9. Z. Shao and others. DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models. 2024.
  10. J. Liu, G. Liu, J. Liang, Z. Yuan, X. Liu, M. Zheng, X. Wu, Q. Wang, M. Xia, and others. Improving Video Generation with Human Feedback. arXiv:2501.13918, 2025.
  11. K. Zheng, H. Chen, H. Ye, H. Wang, Q. Zhang, K. Jiang, H. Su, S. Ermon, J. Zhu, and M.-Y. Liu. DiffusionNFT: Online Diffusion Reinforcement with Forward Process. arXiv:2509.16117, 2025.
  12. J. Ho and T. Salimans. Classifier-Free Diffusion Guidance. 2022.
  13. S.-Y. Liu, X. Dong, X. Lu, S. Diao, P. Belcak, M. Liu, M.-H. Chen, H. Yin, Y.-C. F. Wang, K.-T. Cheng, Y. Choi, J. Kautz, and P. Molchanov. GDPO: Group reward-Decoupled Normalization Policy Optimization for Multi-reward RL Optimization. arXiv:2601.05242, 2026.
  14. T. Yin, M. Gharbi, R. Zhang, E. Shechtman, F. Durand, W. T. Freeman, and T. Park. One-step Diffusion with Distribution Matching Distillation. CVPR, 2024.
  15. D. Jiang and others. Distribution Matching Distillation Meets Reinforcement Learning. arXiv:2511.13649, 2025.
  16. Y. Ma, Y. Shui, X. Wu, K. Sun, and H. Li. HPSv3: Towards Wide-Spectrum Human Preference Score. arXiv:2508.03789, 2025.
  17. N. Carion and others. SAM 3: Segment Anything with Concepts. arXiv:2511.16719, 2025.
  18. Y. Li, H. Mao, R. Girshick, and K. He. Exploring Plain Vision Transformer Backbones for Object Detection. arXiv:2203.16527, 2022.
Back to top