Model libraries work like package registries. You search, you sort by popularity, you read the stars, you take the top result. That heuristic is good enough almost everywhere, so I used it, and it produced a worse result than doing nothing at all.
Here is the run.
The spec
The artifact under test is a character. It is written down, it does not exist as an image, and the description is the only source of truth. Seven assertions:
character: bram
role: lockmaker
age: 40s
build: short, broad, barrel chest # the load bearing one
hair: bald, geometric tattoo on left scalp
beard: copper red, two braids, brass ring on each
eyewear: brass jeweler's loupe over right eye
torso: leather apron with tool loops
under: moss green tunic, teal embroidery
belt: ring of brass keys
arms: studded leather bracers, old burn scars
Two environments, same spec, same target output.
Environment A: resolve the dependency yourself
The generator opens with a model already selected. Search the model library for "anime" and you get zero results, because the search is scoped to whichever ecosystem is currently active and the default ecosystem has no such model. There is a dropdown that sets that scope. Until you find it, every query runs against the wrong index.
With the scope corrected, the top anime checkpoint reports over 450,000 downloads across its versions and a review score of Overwhelmingly Positive from almost 1,500 reviewers. By every signal a registry can give you, that is the correct resolution.
Switching to it changed the runtime config underneath. A negative prompt field appeared, and the sampler, step count, and CFG scale all moved to new defaults.
Decisions required before the second image:
| # | Decision | Discoverable from the UI? |
|---|---|---|
| 1 | Find the ecosystem dropdown | Only after a failed search |
| 2 | Re-run the failed search | Yes |
| 3 | Choose the model family | Requires prior knowledge |
| 4 | Search the checkpoints | Yes |
| 5 | Choose a checkpoint | Yes, by popularity |
| 6 | Choose its version | Yes |
| 7 | Set CFG | Yes, with a labelled preset |
| 8 | Set the sampler | Yes, with a labelled preset |
| 9 | Set the steps | Yes, with a labelled preset |
| 10 | Write a negative prompt | Field appears, content is on you |
Item 3 is the interesting one. It is the only step where the interface cannot help, and it is the step that determines everything downstream.
There is also a prompt-language change that costs zero clicks and matters more than any of the ten. Community anime checkpoints in this family are SDXL-derived and expect comma-separated tags. The spec had to be rewritten:
1boy, solo, male dwarf, adult man, 40 years old, stocky build,
broad shoulders, barrel chest, short stature, bald head,
dark geometric head tattoo on left side, long copper red beard,
braided beard, brass beard rings, brass jeweler's loupe over right eye,
brown leather apron, tool loops on apron, moss green tunic,
teal embroidered cuffs, ring of brass keys on belt, leather bracers
Negative prompt:
child, kid, young boy, teenager, youthful face, beardless,
tall, slender, thin body, feminine, 1girl, bad hands, bad anatomy
Results
| Assertion | Environment A, default model | Environment A, top checkpoint | Environment B |
|---|---|---|---|
| build: short, broad | pass | fail | pass |
| bald + tattoo | pass | pass | pass |
| beard braids + rings | pass | pass | pass |
| loupe over eye | partial, held in hand | partial | pass |
| apron with tool loops | fail | fail | pass |
| moss green tunic | pass | fail, torso bare | pass |
| brass keys on belt | pass | pass | pass |
Two runs at two aspect ratios on the top checkpoint. The build assertion failed both times, with three positive tags asserting it and two negative tags excluding the opposite.
The default model, resolved by nobody, satisfied it on the first run.
Why the heuristic broke
Popularity ranking optimizes for the median request. A checkpoint with 450,000 downloads is fine-tuned toward what most users generate, and a stocky forty-year-old tradesman sits outside that distribution. The registry sorted correctly. My input was out of sample, and nothing in the metadata exposes that, because the metadata describes adoption rather than coverage.
This is the same failure mode as picking a library by GitHub stars for a use case its maintainers never targeted. The signal is real. It is measuring somebody else's requirements.
Environment B: keep the default
PixAI loads an anime model when the generator opens. I kept it, wrote the spec as prose instead of tags, set the aspect ratio, generated. Three decisions, one of which was the picture size.
Worth noting for anyone moving between the two: this model is a DiT architecture rather than SDXL, so there is no negative prompt field and no bracket weight syntax like (tag:1.3). Exclusions go in the positive prompt as plain statements. If you carry an SDXL prompt across unchanged, the weights are ignored silently.
All seven assertions passed. From there, three scene variants ran on random seeds with only the scene clause swapped, and the character held across all of them without a reference image and without a locked seed.
A bald dwarf man in his forties, short and broad, copper red beard
in two braids each bound with a brass ring, dark geometric tattoo...
- Plain warm grey studio backdrop, even neutral lighting.
+ Walking across a stone bridge market at night, lit lanterns overhead.
One extra observation on LoRAs, since it is the same class of bug. My first pick drifted the entire palette, and its page explained why: it was trained on a different base model from the one I was running. Base model is the compatibility field. Read it first. My second pick matched and still carried its own aesthetic, which is what the strength value is there to attenuate.
Takeaway
Registry rank answers "what do most people use." It does not answer "what satisfies my spec." When your input is unusual, the default that ships with the tool is a legitimate baseline, and the cheapest experiment you can run is to try it before you spend ten decisions replacing it.
The finished artifact was a character sheet: three views, three scenes, three detail crops, all resolved from one paragraph.
If you want to try this with a character of your own, you can start here.



Top comments (0)