ComfyUI Node

JoyLTX Story Source

One panel that decides where the run's words come from

By jlucasmcrell·Created 27 days ago·Updated 24 days ago· 2
JoyLTX Story Source
    • story_idea
    • file_prompts
    • use_file
    • refs_attached
    • name
    • negative
    sourcescene idea (the box)
    scene_idea
    idea_file
    shot_file
    index0
    refs_attachedtrue
    manual_path

    The JoyLTX canvases all start with words, but "the words" can mean three different things: a premise you just typed, a file of story ideas the writer expands one at a time, or a file of finished shot prompts where the writer is skipped entirely. JoyLTX StorySource is the one panel that decides which of those you're running, and it outputs everything downstream needs to react. Change one dropdown instead of rewiring half the graph.

    The source dropdown picks the mode. scene idea (the box) uses scene_idea - type a premise, the writer turns it into shot prompts. idea file (the writer writes each idea) points at a file of story ideas in ComfyUI/input, and index walks through them one per run. shot file (skip the writer) reads a file of finished shot prompts and the writer is bypassed entirely - paste someone else's script or reuse a saved one. Both file modes accept ----separated text or JSON, and a path ending in / treats the entry as a whole folder where index picks the file.

    The outputs are wired in a specific order, and that order is the design. story_idea feeds the writer. use_file is a BOOLEAN that drives a switch: off means the writer's output is live, on means file_prompts (the finished shots, passed through untouched) is live. refs_attached feeds back into the writer - when it's on, the writer uses the characters' own names and writes "looks exactly as in the reference photographs" instead of inventing faces, which is exactly what Refs by Name needs to find them. name is the source's file name for a save node or log, and negative passes a per-file negative through if the file carries one.

    The index on a Primitive trick applies here too: queue once per idea with index set to increment and a whole file of ideas renders unattended, wrapping at the end. manual_path is an escape hatch that overrides the dropdown with an absolute path outside ComfyUI/input. One honest limit: for the character-casting to work, name characters in your premise the same way their photo folders are named - the tooltip says it, and it's the difference between "cast automatically" and a report full of "no folder" lines.

    It ships with the JoyLTX25 pack and depends on the writer being installed (the JoyAI-Echo pack bundled in the install). If you're running the plain Take canvas and only ever type premises, you don't need it - it earns its place once files and batching enter the picture.

    CategoryJoyLTX

    Inputs (7)

    NameTypeDefaultDescription
    sourceCOMBOscene idea (the box)Where this run's words come from. scene idea = the box below. idea file = one idea per run, the writer expands it. shot file = finished shot prompts, the writer is skipped.
    scene_ideaSTRINGYour premise, used when source = scene idea. Name characters the way their photo folder is named and they get cast automatically.
    idea_fileCOMBOFile of story ideas from ComfyUI/input (--- on its own line between ideas, or JSON). An entry ending in / is the whole folder - INDEX then picks the file. Restart or refresh ComfyUI to see files you just added.
    shot_fileCOMBOFile of finished shot prompts (--- between shots, or JSON). An entry ending in / is the whole folder - INDEX picks the file.
    indexINT00–100000Which idea (or which file, if the path is a folder). Wire a Primitive set to increment and queue once per item to work through the file unattended. Wraps at the end.
    refs_attachedBOOLEANtrueON: the writer uses the characters' own names and writes 'looks exactly as in the reference photographs' instead of inventing a face - what Refs by Name needs. OFF: the writer describes people itself (no reference photos).
    manual_pathoptSTRINGOptional: a path outside ComfyUI/input (absolute, file or folder). Overrides the dropdown for whichever source is selected.

    Outputs (6)

    NameTypeDescription
    story_ideaSTRING
    file_promptsSTRING
    use_fileBOOLEAN
    refs_attachedBOOLEAN
    nameSTRING
    negativeSTRING