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 unreliable

  • Posts containing multiple gender-related tags

    1. 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.

In this case, rebuild of evangelion is counted.

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 (´ω`)シランケド


いいなと思ったら応援しよう!