Nodes/ComfyUI-JakeUpgrade/Project Setting JK๐Ÿ‰
ComfyUI Node

Project Setting JK๐Ÿ‰

Keep your output folders and filenames from becoming chaos

By jakechaiยทCreated 2 years agoยทUpdated 3 months agoยท 146
Project Setting JK๐Ÿ‰
    • Image_Name
    • Path_Name
    • Counter
    โ—„project_namemyprojectโ–บ
    โ—„image_namev%counter_%seed_%timeโ–บ
    โ—„path_name%dateโ–บ
    โ—„seed0โ–บ

    If you generate a lot, your output folder becomes a landfill fast: hundreds of ComfyUI_00001_, ComfyUI_00002_ images with no way to tell which project or run they came from. Project Setting JK is a small bookkeeping node that gives your saves a name - a project prefix, an image-name pattern, a folder path, and a seed to anchor a run.

    How it works

    You set a project_name (say portrait_study), an image_name pattern like v%counter_%seed_%time, and a path_name pattern like %date. The node returns:

    • Image_Name - the project name joined with your image pattern (portrait_study_v%counter_%seed_%time).
    • Path_Name - the project name joined with your path pattern (portrait_study/%date).
    • Counter - an integer you can use as a run identifier.

    Wire those strings into a save node that supports naming patterns (JakeUpgrade's save nodes, Image Saver, and similar all take filename/path strings), and your outputs land in per-project, per-day folders with recognizable names instead of one flat dump.

    Two honest caveats from how it's built:

    • This node returns patterns; the substitution happens downstream. The %counter, %seed, %time variables aren't expanded here - the node hands back the pattern string and a Counter value, and the save node does the expansion. If your save node doesn't understand %counter, you'll get literal %counter in filenames.
    • Counter currently just echoes your seed. The source returns the seed you typed as the Counter output. So it's a stable per-run identifier, but don't expect it to auto-increment per image - that behavior (if any) belongs to the save node's own counter logic.

    Inputs and outputs

    • project_name - the project label.
    • image_name - filename pattern (supports %counter, %seed, %time).
    • path_name - folder pattern (supports %date).
    • seed - an integer for the run.
    • Image_Name (STRING), Path_Name (STRING), Counter (INT).

    Installing it

    Ships in ComfyUI-JakeUpgrade:

    • ComfyUI Manager โ†’ search "JakeUpgrade" โ†’ install โ†’ restart.
    • Or:
    cd ComfyUI/custom_nodes
    git clone https://github.com/jakechai/ComfyUI-JakeUpgrade
    cd ComfyUI-JakeUpgrade
    pip install -r requirements.txt
    

    Windows portable: run install.bat or ../../../python_embeded/python.exe -s -m pip install -r requirements.txt.

    Common issues

    • Filenames come out with literal %counter. That means the downstream save node doesn't do pattern substitution - check that your save node supports the variables, because this node doesn't expand them.
    • The seed is a random seed, not a sequence number. Counter equals whatever seed you typed. Set it deliberately per run if you want it to differentiate runs.
    • It's a convenience, not a necessity. If you never re-run projects or only save interactively, this node is dead weight. It earns its place in batch/API workflows where organized outputs matter.

    It's the least glamorous node in the pack - a string combiner with a seed - but it's the kind of discipline that keeps a workflow reproducible three weeks later when you're hunting for "the good run from that project."

    Category๐Ÿ‰ JK/๐Ÿ“ฆ Misc

    Inputs (4)

    NameTypeDefaultDescription
    project_nameSTRINGmyprojectName of the project for organization
    image_nameSTRINGv%counter_%seed_%timeImage naming pattern (supports %counter, %seed, %time variables)
    path_nameSTRING%datePath naming pattern (supports %date variable)
    seedINT00โ€“18446744073709550000Random seed for project

    Outputs (3)

    NameTypeDescription
    Image_NameSTRINGโ€”
    Path_NameSTRINGโ€”
    CounterINTโ€”