Nodes/ComfyUI-H3-Multishot/Prompt Source (txt briefs + json scripts)
ComfyUI Node

Prompt Source (txt briefs + json scripts)

Txt briefs, JSON scripts, and unattended folder renders

By jlucasmcrell·Created 21 days ago·Updated 2 days ago· 31
Prompt Source (txt briefs + json scripts)
    • story_idea
    • character
    • count
    source_file
    load_cap0
    start_index0
    character_override
    manual_path
    folder(all)
    walk_folderfalse

    Rift Prompt Source is the node that feeds the H3 chain from files instead of a text box: a dropdown over LPFF-style .txt briefs and passthrough .json scripts, emitting the story_idea, character, and count that drive the rest of the graph. If you render the same ideas repeatedly - or want to queue a whole folder of finished scripts while you sleep - this is the input side of that pipeline.

    The name "Rift" is the pack's older internal codename; the node lives in the H3/script category now, but the class name stayed because renaming it would have turned every saved graph into a red missing-node box. It reads from input/rift_prompts/ and still falls back to the older input/joyecho_prompts/ so existing folders keep working.

    How it works

    Point source_file at a file and it parses it into items: .txt files are split into LPFF-style blocks (one brief each), .json files pass through as script objects. Then the controls decide what's emitted:

    • load_cap / start_index - TXT files only: start at block N, emit the next N blocks (0 = all).
    • character_override - force one character for every emitted item; handy for .json scripts that carry no name field.
    • manual_path - point at any file by full path, ignoring the dropdown. This is the escape hatch: it removes the dependency on the inspire-pack prompts tree and input/rift_prompts/ entirely.
    • folder - filter source_file to one folder; the pack's frontend filters the dropdown live.
    • walk_folder - the unattended-render switch. OFF: start_index picks a block inside the file. ON: start_index picks which file, walking the folder in sorted order and emitting the whole file. Wire start_index to a PrimitiveInt set to increment, queue N times, and you render a folder of finished scripts one after another.

    That last one exists because of a real mismatch: LPFF prompt batches concatenate many prompts into one file, but an H3 script uses --- for shot boundaries within one scene, so you can't just concatenate scenes into a single file without fusing them into one enormous take. Walking files is the safe equivalent.

    Outputs are story_idea and character (both lists) and count.

    Installing it

    Part of the ComfyUI-H3-Multishot pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jlucasmcrell/ComfyUI-H3-Multishot
    

    Or search H3 Multishot in ComfyUI Manager. Requires ComfyUI v0.30.0+.

    Gotchas

    The classic failure this node was built to explain: an empty prompt dropdown that blamed the wrong thing. The dropdown finds files through the inspire_prompts folder path, which is registered by comfyui-inspire-pack - without that pack the path doesn't exist and the dropdown comes back empty however many prompt files you have. The node now tells you which of three fixes applies: install the pack, register the path in extra_model_paths.yaml, or set manual_path and ignore the dropdown. And if you're on the older JoyEcho_PromptSource name, that's the same node - it resolves as a deprecated alias so pre-2.1 graphs open unchanged.

    CategoryH3/script

    Inputs (7)

    NameTypeDefaultDescription
    source_fileCOMBO1 options: (no prompt files found)
    load_capoptINT0TXT files only: 0 = all blocks, N = first N from start_index.
    start_indexoptINT0TXT files only: first block index to load.
    character_overrideoptSTRINGForce this character for EVERY emitted item (useful for .json scripts, which carry no name field).
    manual_pathoptSTRINGPoint at ANY .txt (LPFF blocks) or .json (passthrough script) file by full path, ignoring the dropdown. Removes any dependency on the inspire-pack prompts tree or input/rift_prompts/. Leave empty to use source_file.
    folderoptCOMBO(all)Filter source_file to one folder (the pack's frontend script filters the dropdown live). Appended last so saved widget order is preserved.
    walk_folderoptBOOLEANfalseOFF (default): start_index selects a block INSIDE source_file, as always. ON: start_index selects WHICH FILE, walking the folder chosen above in sorted order, and the whole file is emitted. Wire start_index to a PrimitiveInt set to 'increment' and queue N times to render a folder of finished scripts unattended. Needed because an H3 script uses --- for SHOT boundaries, so scenes cannot be concatenated into one file the way LPFF batches can.

    Outputs (3)

    NameTypeDescription
    story_ideaSTRING
    characterSTRING
    countINT