Nodes/ComfyUI-PokeIndex/Poke Index Loader
ComfyUI Node

Poke Index Loader

Random Pokémon Fusion Sprites, Masks, and Flavor Text From One Node

By silveroxides·Created 8 months ago·Updated 8 months ago· 0
Poke Index Loader
    • Image
    • Mask
    • Filename
    • Snippet
    modeRandom
    index_id1
    search_query
    seed0
    download_missingtrue

    The Poke Index Loader is not a serious tool, and that's sort of the point. One node in, and ComfyUI hands you a random sprite from the fan game Pokémon Infinite Fusion - where any two Pokémon can be squashed into one - along with the Pokédex-style flavor text that describes it and a mask cut from the sprite's transparency. They're all matched, so the prompt always describes the image. Think of it as a themed wildcard node with a soul: instead of a random word you get a random monster and a ready-to-use description that matches.

    What it actually gives you

    Four outputs, and they wire into a normal generation graph:

    • Image - the fusion sprite as a standard IMAGE tensor, ready for img2img, ControlNet, or IP-Adapter.
    • Mask - the alpha channel of the sprite, inverted (transparent pixels read as 1.0, the sprite as 0.0). That's the author's documented convention, and it's the one genuinely surprising thing here: if you want the sprite itself as the inpaint region, flip it before use.
    • Filename - like 1.6_bulbaizard. The number before the underscore is the fusion ID, and it doubles as the CDN path.
    • Snippet - a sentence of flavor text ("Bulbamander, a Grass/Fire type fusion of Bulbasaur and Charmander…"). It's natural language, not Danbooru tags, but paste it into a CLIP Text Encode and you get a passable themed prompt that always lines up with the sprite.

    The classic use: dump a few of these into a batch, feed sprite → img2img and snippet → prompt, and generate a whole Pokédex wall in one run. It's a novelty node, but a well-executed one.

    How it works under the hood

    No model downloads, no API keys - the pack ships two JSON lookup tables in the repo: fusion_filenames.json (sequential index → 1.6_bulbaizard) and fusion_snippets.json (filename → flavor text). Together they're about 23 MB of data files that ride along in the git clone.

    Three modes pick an entry:

    • Random - seeds a Python random with your seed, so the same seed gives the same monster. This is the fun one.
    • Index - direct lookup by index_id, with a positional fallback if the number isn't a key.
    • Search - search_query substring-matches against the filename and snippet; it returns the first hit, so "char" grabs whatever's earliest in the file, not the best match.

    The sprite itself is fetched on demand from the Infinite Fusion CDN (ifd-spaces.sfo2.cdn.digitaloceanspaces.com) and cached in input/sprites, so the first time you land on a given fusion there's a short network pause. download_missing toggles that behavior; turn it off and the node only serves sprites it already has.

    Installing it

    The standard two options. ComfyUI Manager (search "ComfyUI-PokeIndex"), or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/silveroxides/ComfyUI-PokeIndex
    

    Then restart ComfyUI. There's no requirements.txt - the imports (requests, torch, numpy, PIL, folder_paths) all ship with ComfyUI already. Two gotchas worth knowing. First, the node uses the new-style comfy_api.latest extension API, so it needs a reasonably recent ComfyUI; on a stale install it won't load at all, and you'll get a missing-node error. Second, the data files are committed to the repo, so the clone itself is chunky and the initial download needs the network.

    Where people get burned

    Mostly the edge cases, none of them fatal:

    • Offline first run - if it can't reach the CDN and the sprite isn't cached, you get a 64×64 black placeholder and No Data / No description available. It doesn't crash; it just looks broken.
    • Missing custom sprites - not every fusion has a hand-made sprite; the CDN returns 404, which the code treats as expected and logs quietly.
    • Search is dumb - first substring hit, no ranking. If you want a specific fusion, Index mode with the right number is more predictable.
    • The inverted mask - transparent = 1.0, not the sprite. Easy to miss, easy to fix with a mask-invert node.

    It's a tiny, niche pack (this node has essentially no community footprint yet), so don't expect updates or a support channel. But it does one thing cleanly: it gives you random, themed, consistent input - sprite and prompt in lockstep - that you'd otherwise hand-build yourself. For a Pokémon art batch, that's worth the 23 MB.

    CategoryPokeIndex

    Inputs (5)

    NameTypeDefaultDescription
    modeCOMBORandom3 options: Random, Index, Search
    index_idINT11–999999
    search_querySTRING
    seedINT00–18446744073709550000
    download_missingBOOLEANtrue

    Outputs (4)

    NameTypeDescription
    ImageIMAGE
    MaskMASK
    FilenameSTRING
    SnippetSTRING