Character Tag Output GPT
— Handling appearance information for approximately the top 6,000 characters on Danbooru
URL
Note: Previous versions were not publicly available. At the time the internal logic was overhauled, the GPT was released on the GPT Store, and this note article was updated accordingly.
Introduction
When using models such as Illustrious or NoobAI that place a strong emphasis on Danbooru tags, many users likely encounter situations such as the following:
Reproduction is not stable when using only the character name
You want to specify hair color, hairstyle, ears, tails, and similar features accurately
It becomes difficult to use when GPT’s own assumptions are mixed in
You simply want to make things easier
For this reason, I created a GPTs that outputs character appearance information in Danbooru tag format, using only actual Danbooru data as its basis.

What This GPT Does
This GPT is designed with reproducibility as the top priority. Specifically, it:
Outputs character appearance information in Danbooru tag format
Performs no generation, completion, or inference whatsoever
Always returns the same result for the same character
Rather than generating answers based on its own knowledge, the GPT directly retrieves and outputs tags from pre-constructed reference data.
Why It Is Trustworthy
The basis of this GPT’s reliability lies in the reference data that was created.
This data is built using actual post data retrieved from the Danbooru API, and is generated through the following processes:
Sampling
Noise removal
Appearance frequency calculation
Threshold-based evaluation
In other words, the results of this processing are statistically derived and stored as fixed reference data, which the GPT consults directly.

GPT Output Content
From the corresponding character row in the reference data, the GPT retrieves:
Appearance attribute tags
(gender, character, copyright, eye color, skin color, hair color, length and volume (hair), hairstyle, tail, ears, horn, wing, halo)Danbooru Wiki URL
sample count / post count
These are output in a fixed format.
During output, the following formatting is applied to match WebUI behavior:
If a character name or work title contains parentheses, they are escaped as \( \)
All underscores _ are converted to half-width spaces
As a result, the output can be pasted directly into WebUI and used as-is.
The sample count indicates the number of posts that were actually usable for appearance analysis.
In general, a larger value implies higher statistical reliability.
How the Reference Data Is Created
1. Target Characters
Characters on Danbooru with the “character” tag (category 4) are retrieved in descending order by post count, and approximately the top 6,000 characters by number of posts are selected as targets.
2. Post Sample Collection (sample count)
For each character, up to 1,000 posts per character are sampled using the Danbooru API, via random page retrieval.
However, not all posts are accepted indiscriminately.
About sample count
The sample count represents the number of posts that were actually usable for appearance analysis.
In this project, to reduce noise that would lower the statistical accuracy of appearance tags, the following types of posts are intentionally excluded from the samples:
Examples of posts excluded for noise reduction
Posts containing manga, monochrome, or greyscale
→ Color information (such as hair color and eye color) is unreliablePosts containing multiple gender-related tags
Examples:
1girl and 1boy
2boys, 2girls, or other multi-person posts
→ Inappropriate for single-character appearance statistics
As a result, even when the Danbooru post count (total number of posts) is high, the sample count may be low.
Other Reasons sample count May Be Low
The sample count may also be low for the following reasons:
The character’s post count itself is low
Danbooru API errors during post retrieval
429 (Too Many Requests)
Network errors / timeouts
Because a random page retrieval method is used, the number of posts that meet the required conditions may ultimately be limited
In this project, tag reliability is prioritized over sheer quantity.
How Tags Are Selected
Which tags are adopted is determined according to thresholds.
For each attribute (such as hair color, eye color, hairstyle, etc.),
the minimum appearance rate required for adoption is explicitly defined.Thresholds of 25%, 30%, 50%, and 70% are selectively applied depending on the attribute.
For eye color and hair color, only one tag that meets the criteria is generally adopted.
Exceptions
If tags such as heterochromia or multicolored hair exceed the threshold,
all tags that exceed the threshold are adopted.
About the Tags That Are Collected
The tags collected and adopted by this GPTs are limited to tags that belong to a “tag group” on Danbooru.
For example, with regard to hairstyles, only tags that are clearly classified as part of a tag group—such as the following—are targeted:
https://danbooru.donmai.us/wiki_pages/tag_group%3Ahair_styles
Because of this mechanism, tags that are not included in a tag group are not collected or aggregated, even if they appear in posts.
This occurs because I do not have complete knowledge of all tags, and because it is also impossible to fully grasp the entirety of the Danbooru site.
Exception
As an intentional exception, drill ponytail is included because:
I am personally aware of the tag
It is a hairstyle used by a character I personally like
About Tag Hierarchy
Hairstyle tags in particular have a hierarchical structure, for example:
multiple braids
└ twin braids
└ low twin braids
Lower-level tags represent more specific hairstyles.
In this GPT, when all tags within the same hierarchy exceed the threshold,
the lower (more specific) tag is given priority, and higher-level, more general tags are not output.
As a result:
Redundant hairstyle specifications are avoided
More accurate and specific appearance descriptions are produced
Handling of Copyright (Work) Tags
When multiple copyright tags are attached to a post,
the GPT refers to Danbooru’s tag implication relationships (hierarchical inclusion),
and prioritizes the more specific, “deeper” copyright tag.

Important Notes
Tags are not adopted unless they exceed the defined threshold.
Using multicolored hair as an example:
If multicolored hair exceeds the threshold, in many cases more specific hair color tags such as black hair or white hair are also adopted.
However, if only multicolored hair exceeds the threshold and the other hair color tags do not meet the criteria, then it is possible that only multicolored hair will be output as the hair color.
Notes on Updates and Changes
This GPT may be modified or updated without prior notice.
Due to updates in the collected data or adjustments to the aggregation logic, even for the same character, the exact same tags may not always be adopted as in previous versions.
Please be aware of this in advance.
Please give the GPT a rating! ( `・∀・´)ノ


Aside
The creator cannot see individual GPT usage statistics.
Feedback via the GPT, note, or
X (https://x.com/YakiNamaShake/status/2002356470327787891)
would be motivating.
If there is sufficient response, the likelihood of data updates increases,
and it also reduces the chance that I might suddenly make it private on a whim (´ω`)シランケド
