Nodes/Pony Character Prompt Picker for ComfyUI/Pony Character Prompt Picker
ComfyUI Node

Pony Character Prompt Picker

Let the spreadsheet pick your pony character, so you don't have to

By jeffrey2212·Created 2 years ago·Updated 2 years ago· 2
Pony Character Prompt Picker
    • prompt
    • seed
    excel_pathpony_char_list.xlsx
    sheet_nameFemale character list
    column_letterA
    prefixscore_9, score_8_up, score_7_up
    seed_mode
    seed0

    You've got a spreadsheet of pony characters - hundreds of danbooru-style tag strings for Nier girls, Pokemon, western cartoons - and instead of generating you're just scrolling it again. This node is the "I can't decide" button. It opens an .xlsx, grabs a random cell from a column, slaps the Pony quality preamble on the front, and hands you a ready-to-run prompt string. Wire its output into a CLIP Text Encode and you've built a character slot machine: hit queue, get a character you didn't pick, repeat.

    What it is

    Pony Character Prompt Picker is one tiny class (category prompt) from the jeffrey2212/ComfyUI-PonyCharacterPrompt pack. It loads a workbook with openpyxl, picks a sheet, walks a single column starting at row 3, and returns random.choice() on the non-empty cells. Nothing about it calls an API or needs a model download - it's pure spreadsheet roulette, which is the entire appeal.

    It's aimed squarely at Pony V6 XL. The default prefix is score_9, score_8_up, score_7_up, and that's not an accident. Pony's training glitched in a way that made the full score-tag string mandatory for good output - the model basically treats it as a quality gate. And the bundled sample file is full of exactly Pony's native vocabulary: 2b_(nier:automata), nier_(series), 1girl, white_hair, covered_eyes. Which is your honest warning: those score tags are meaningless on Illustrious, Flux, or base SDXL, so on non-Pony models this node's default prefix does nothing for you.

    The inputs that matter

    Six inputs, and you really touch three of them:

    • excel_path - path to the workbook, default pony_char_list.xlsx. Here's the gotcha: relative paths resolve against the node's own folder, not ComfyUI's directory or wherever you launched from. The repo ships a sample file, so it works out of the box - but a file you drop anywhere else needs an absolute path.
    • sheet_name - which tab to read. The bundled workbook has six real sheets (Female/Male character list, Pokemon List, Western character list, Innate artist list) plus a "links and info" tab.
    • column_letter - which column holds the prompts. Default A, and each cell should be a complete prompt fragment, not a single tag.

    seed_mode (randomize/fixed) and seed control the pick. In randomize mode it rolls a fresh seed and hands it back to you; in fixed mode the same seed plus the same file picks the same character every time. That's the whole reason the node bothers outputting a second value.

    Outputs

    • prompt (STRING) - the full combined string: your prefix items, then the picked cell.
    • seed (INT) - the seed actually used. Log it, store it in a workflow widget, or feed it back in later to reproduce a specific character.

    Installing it

    Via ComfyUI Manager, search "Pony Character Prompt Picker". Or the manual route:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jeffrey2212/ComfyUI-PonyCharacterPrompt
    

    then restart ComfyUI. The one real dependency is openpyxl (see requirements.txt); Manager installs it for you, and a manual install just needs pip install openpyxl in ComfyUI's Python environment.

    Where people get burned

    The error messages are blunt and mostly self-explanatory, straight from the code:

    • "Excel file not found" - the path got joined onto the node directory. Use an absolute path or drop the file next to nodes.py.
    • "Sheet 'X' not found" - typo, or the tab name isn't what you think it is.
    • "No valid values found in column A starting from row 3" - rows 1–2 are treated as headers and skipped, so if your data starts at row 1 you'll get nothing. Empty column, same error.

    One cosmetic quirk: the output string ends with a trailing ", ". Harmless - the text encoder doesn't care.

    The honest verdict

    This is a one-commit project from October 2024, untouched since, with effectively zero community footprint. That's fine: it's a five-function utility, and it does its job. If you already roll random prompts from a text-list node or a CSV picker, you don't need it. But if you've built out a character spreadsheet and want variety without curating every queue, this is the simplest thing that works - and the bundled character list is a fun catalog on its own.

    Categoryprompt

    Inputs (6)

    NameTypeDefaultDescription
    excel_pathSTRINGpony_char_list.xlsx
    sheet_nameSTRINGFemale character list
    column_letterSTRINGA
    prefixSTRINGscore_9, score_8_up, score_7_up
    seed_modeCOMBO2 options: randomize, fixed
    seedINT00–18446744073709550000

    Outputs (2)

    NameTypeDescription
    promptSTRING
    seedINT