Nodes/comfyui-auto-anime-prompts/🎨 Auto Prompt Combiner
ComfyUI Node

🎨 Auto Prompt Combiner

Cross every character with every style, and let ComfyUI sort it out

By jluo-githubΒ·Created 7 months agoΒ·Updated 7 months agoΒ· 0
🎨 Auto Prompt Combiner
    • prompts
    • negative
    β—„character_filesample_1girl_v1.txtβ–Ί
    β—„style_filestyle_names_v1.txtβ–Ί
    β—„char_start_index0β–Ί
    β—„style_start_index0β–Ί
    β—„char_count1β–Ί
    β—„style_count1β–Ί
    β—„presetdynamicβ–Ί
    β—„random_actiontrueβ–Ί
    β—„random_backgroundtrueβ–Ί
    β—„random_cameratrueβ–Ί
    β—„custom_positiveβ–Ί
    β—„custom_negativeβ–Ί
    β—„seed0β–Ί

    Auto Prompt Combiner is the pack's answer to the "which artist style suits which character?" question - the one that's genuinely painful to answer by hand. You give it a character file and a style file, tell it how many of each to use, and it runs a nested loop: for every character you picked, every style you picked, producing char_count Γ— style_count full prompts.

    That's 6 characters Γ— 10 styles = 60 prompts in one run, and you finally get to see Reimu in the style of flooxyfloox next to the style of nikukyu without typing either prompt. For character-sheet exploration or style studies on Illustrious - where artist tags like style by pnya are first-class citizens the model actually honors - this is exactly the workflow you'd otherwise build by hand in a spreadsheet.

    How it works

    The mechanics are in nodes/prompt_combiner.py and they're refreshingly boring. It parses both TXT files (same tags<TAB>name format as the rest of the pack), then:

    • char_start_index and char_count pick the character window
    • style_start_index and style_count pick the style window
    • for each character, for each style: quality tags + style tags + character tags + random action + random background + random camera + custom positive

    Each prompt gets its own fresh random action/background/camera (seeded by seed for reproducibility). One hard cap worth knowing: char_count Γ— style_count is clamped to 100 - the node returns an error string if you exceed it, which is the author protecting you from a 10,000-prompt accident.

    The inputs that matter

    • character_file and style_file - two dropdowns, both populated from the pack's prompts/ folder. The samples are sample_1girl_v1.txt (characters) and style_names_v1.txt (67 style by … artist lines).
    • char_count / style_count - the two dimensions of your grid. Mind the product cap.
    • preset - defaults to dynamic here (the loader defaults to standard), which is a deliberate choice: for style combos the author figures you want motion. Swap to none if you want the raw style by X tags to do the talking.
    • random_action / random_background / random_camera - same toggles as the other nodes, on by default.

    Outputs: prompts (a list of char_count Γ— style_count strings) and negative (one shared negative, preset + your custom_negative).

    The gotcha is identical to the batch node

    prompts is a list, and a plain CLIP Text Encode will only ever see the first element. The author's combiner_workflow.json demonstrates the same pattern as the batch workflow - preview the list, sample slot 0. To actually render all 60, you need a list-aware consumer (Impact Pack ForEach or similar). The good news: because the list is ordered character-major (all styles for char 1, then all for char 2), you can read the preview and know exactly which row of your grid you're looking at.

    Install

    ComfyUI Manager: search "Auto Anime Prompt", restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jluo-github/comfyui-auto-anime-prompts
    

    No dependencies beyond what ComfyUI ships, no models to download, MIT license. Python 3.10+.

    Verdict

    This is the pack's best idea, slightly undercut by the list-consumption friction in stock ComfyUI. If you already have list-handling machinery in your graph, it's a genuinely powerful little grid generator for Illustrious artist-style exploration. If you don't, expect a ten-minute detour wiring up iteration before it pays off - then it pays off every single time you'd have hand-built a comparison grid.

    Categoryprompt/anime

    Inputs (13)

    NameTypeDefaultDescription
    character_fileCOMBOsample_1girl_v1.txt2 options: sample_1girl_v1.txt, style_names_v1.txt
    style_fileCOMBOstyle_names_v1.txt2 options: sample_1girl_v1.txt, style_names_v1.txt
    char_start_indexINT00–99999β€”
    style_start_indexINT00–99999β€”
    char_countINT11–100β€”
    style_countINT11–100β€”
    presetCOMBOdynamic8 options: none, standard, dynamic, atmospheric, flat, dreamy, +2
    random_actionBOOLEANtrueβ€”
    random_backgroundBOOLEANtrueβ€”
    random_cameraBOOLEANtrueβ€”
    custom_positiveoptSTRINGβ€”
    custom_negativeoptSTRINGβ€”
    seedoptINT00–18446744073709550000β€”

    Outputs (2)

    NameTypeDescription
    promptsSTRINGβ€”
    negativeSTRINGβ€”