Nodes/Comfyui-character-tag-selector/🎮 Character Tag Selector
ComfyUI Node

🎮 Character Tag Selector

Pick It From a Dropdown

By kotone·Created 9 months ago·Updated 9 months ago· 0
🎮 Character Tag Selector
    • text
    • preview_image
    json_filegenshin_impact_characters-en-cn.json
    character雅珂达 (Jahoda)
    output_typeDanbooru标签

    Every anime workflow has the same quiet tax: you know exactly which character you want, and then you spend a minute trying to remember whether it's raiden_shogun_(genshin_impact) or raiden_shogun_(genshin) and whether the underscore goes before the parenthesis. The Character Tag Selector is the answer to that tax. It's a dropdown that ships with a curated database of Genshin Impact, Honkai Star Rail, Zenless Zone Zero, and Wuthering Waves characters, and it hands you a ready-made prompt line plus a preview image of whoever you picked.

    The name undersells the useful part. This is a prompt authoring node, not a generation node - it doesn't call any API and needs no key. It just saves you from mangling a Danbooru tag by hand, which matters more than it sounds: on the Danbooru-trained anime models (Illustrious, NoobAI, and to a degree Pony V6), the exact tag is the difference between "Raiden Shogun, recognizable" and "some woman with a polearm." Those models understand the real tag vocabulary far better than a prose description, so the spelled-out tag is your strongest lever for hitting a named character on the first try.

    How it works

    The node reads a JSON file per game that ships inside the pack under web/data/ - each entry has Chinese and English names, the canonical Danbooru tag, the game's source tag, and a URL to the character's official icon on Hoyoverse's CDN. Under the hood it's three small things done well: it caches the parsed JSON by file mtime, a bit of frontend JS filters the character dropdown down to the currently selected game, and when you pick someone it fetches their icon (with a 256MB in-memory LRU plus a disk WebP cache in ComfyUI's temp folder) and hands it to you resized to at most 512px. If the download fails - you're offline, or the CDN said no - you get a gray 512×512 placeholder. The text output is not affected.

    The inputs and outputs that matter

    Three dropdowns, and honestly only one of them is a real decision:

    • json_file - which game's roster to use (defaults to Genshin).
    • character - the full list of all 281 characters across all four games, shown as 中文名 (English Name). The frontend filters it by json_file, so pick the game first.
    • output_type - the format: Danbooru标签 gives raiden_shogun_(genshin_impact), 英文自然语言 gives Raiden Shogun from Genshin Impact, plus two Chinese-language variants. Default to the Danbooru tag if you're on an anime SDXL model; if you're on a natural-language model like Anima or Flux, the English-natural option is the right one - booru tags are largely inert there.

    Outputs are text (a STRING you wire into a CLIP Text Encode) and preview_image (an IMAGE). The image is mostly a "yes, this is who I meant" sanity check, but nothing stops you from feeding it to an IPAdapter or a reference node if you want identity grounding on top of the tag.

    Installing it

    The README just says to copy the folder into ComfyUI/custom_nodes/ and restart, and that works. You can also git clone it:

    cd ComfyUI/custom_nodes
    git clone https://github.com/kotone/Comfyui-character-tag-selector
    

    Then restart ComfyUI. There are no pip dependencies to install and no model downloads - it only needs requests, torch, and Pillow, all of which ship with ComfyUI already. (ComfyUI Manager should find it as "Comfyui-character-tag-selector" if you prefer that route.)

    Gotchas

    • Preview images are gray squares? You're offline or the Hoyoverse CDN is unreachable, and the node can't fetch the icon. The tag still works - this is cosmetic.
    • "❌ 未找到角色" (character not found) in the text output means the character you picked isn't in the currently selected game file. This happens if the frontend filter hasn't refreshed - reset json_file and re-pick.
    • The README and UI labels are Chinese (Danbooru标签 etc.), which can surprise English users, but the output text is in whatever language you choose.

    It's a small, single-purpose pack with zero community footprint yet - don't expect updates. But for gacha-banner chasing on Illustrious/NoobAI, it's genuinely the least fiddly way to nail a character tag on the first try.

    Category🎮 Character Tags

    Inputs (3)

    NameTypeDefaultDescription
    json_fileCOMBOgenshin_impact_characters-en-cn.json4 options: genshin_impact_characters-en-cn.json, honkai_starrail_characters-en-cn.json, wuthering_waves_characters-en-cn.json, zzz_characters-en-cn.json
    characterCOMBO雅珂达 (Jahoda)281 options: Archer (Archer), Saber (Saber), 「11号」 (Soldier 11), 「席德」 (Seed), 「扳机」 (Trigger), 七七 (Qiqi), +275
    output_typeCOMBODanbooru标签4 options: Danbooru标签, 英文自然语言, 中文自然语言, 中文名 + 作品名

    Outputs (2)

    NameTypeDescription
    textSTRING
    preview_imageIMAGE