ComfyUI Node

Artist Helper

A random artist on every run, from a 31,000-name list

By ShankHub-Org·Created 3 months ago·Updated 3 months ago· 0
Artist Helper
    • prompt
    • selected_artist
    • filename_prefix
    prompt1girl, masterpiece, __ANIMA_ARTIST__

    The name sounds like it dials into some Anima API. It doesn't - there's no API call and no key anywhere in this node. "Artist Helper" (class AnimaArtistWildcard) is a local wildcard node that swaps a few magic tokens in your prompt for real artist names drawn from a bundled list of about 31,000 tags. The payoff: queue a batch of images and get a different artist's style on every single one, without hand-editing a single prompt. That's the whole pitch, and for Anima it's a genuinely good one.

    Why this matters now: Anima is the first anime model in a while where artist tags carry real, steerable style weight - its Qwen3 encoder keeps tag knowledge and language knowledge in the same head, so @artist_name actually moves the image. On Anima's own web service that's exactly how artists are written, and this pack ports the convention into ComfyUI. It's a niche tool, sure. But it's the niche where it does one thing well.

    How it works

    The pack ships data/anima_artists.txt - the tag list, sourced from the Anima-Style-Explorer and TagExplorer sites, normalized to lowercase @artist_name form. When the node runs it reads that list plus your data/preferences.json and rewrites your prompt:

    • @random → a random tag from the list (blacklist respected)
    • @fav or @favorite → a random tag from your favorites, falling back to the full pool if you haven't favorited anything
    • __ANIMA_ARTIST__ → resolves to an explicit @artist you typed, otherwise the first random/favorite pick

    An explicit @artist_name in your prompt is also pulled out on its own, and that's the piece that makes the node useful beyond the dice-rolling. Because IS_CHANGED returns NaN, the node re-runs on every queue item - so a batch of eight is eight different artists, each one already swapped into the prompt text.

    Favorites and blacklist are managed through the autocomplete popup (the web/anima_autocomplete.js front-end talks to local routes like /anima_toggle_favorite and /anima_toggle_blacklist), and persisted to data/preferences.json inside the pack folder.

    The one input, the three outputs

    There's a single required input, prompt - a multiline string, defaulting to 1girl, masterpiece, __ANIMA_ARTIST__. You write your normal prompt, drop in @random, @fav, or an explicit @artist_name wherever the artist slot should go, and the node returns:

    • prompt - the resolved string, which you wire into your CLIP Text Encode node
    • selected_artist - the tag actually chosen, or "" if nothing matched
    • filename_prefix - a filename-safe version of that artist (underscores, no @, no slashes)

    That third output is the sleeper feature. Wire it into your Save Image node and every output file names itself after its artist, which makes building an artist-style library trivially sortable. It's the kind of small thing you don't know you want until you've got a folder of comfyui_0001.pngs.

    Installing it

    ComfyUI Manager - search "ComfyUI Artist Helper" and install. Or, the manual way:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ShankHub-Org/ComfyUI-Artist-Helper.git
    

    Then restart ComfyUI. There are no model files to download, and the only declared dependency is aiohttp - which ComfyUI already bundles - so there's nothing extra to babysit. The node shows up in the Anima category.

    Gotchas worth knowing

    Three things trip people up. First, the tag list is a static snapshot, not Anima's live catalogue - if you want to add artists, you edit data/anima_artists.txt yourself, one tag per line, and restart. Second, because the node rerolls every run, a fixed seed will not reproduce the same artist; that's the feature, but for reproducible batches use an explicit @artist_name instead of @random. Third, your favorites and blacklist live in the pack's own data/ folder - delete the pack and they're gone.

    And one from the README itself: on non-Anima checkpoints, @artist_name tags land differently depending on training. If the style isn't biting, try artist name style or in the style of artist name instead of the bare tag.

    CategoryAnima

    Inputs (1)

    NameTypeDefaultDescription
    promptSTRING1girl, masterpiece, __ANIMA_ARTIST__

    Outputs (3)

    NameTypeDescription
    promptSTRING
    selected_artistSTRING
    filename_prefixSTRING