Akatz File Name Prefix Date Dir First
Name your files with a date-first prefix
- filename_prefix
If you generate a lot of tiles, you know the pain: output.png, output_00001.png, and a folder so deep you need a map. Akatz File Name Prefix Date Dir First builds a filename_prefix string that puts every run in a dated folder and every file in a dated, labeled name - so your outputs organize themselves before you ever touch the file browser. It's a small utility, but it's the kind of small utility you end up wiring into every workflow you actually keep.
The node's job is simple: it composes a filename prefix - which is exactly what the SaveImage node's filename_prefix input wants - and hands it to you as a STRING output. The name tells you the philosophy: date first, directories first. Runs land in yymmdd/ folders, and files inside them are timestamped and labeled. Your texture experiments from three weeks ago stop being a mystery pile.
What the toggles do
Four inputs, all of them exactly as named:
date_directory- whentrue, prepends aYYMMDD/folder to the prefix. Keep this on; it's the "date dir first" in the node's name, and it's the feature that makes months of outputs navigable.custom_directory- an extra folder level (or levels) after the date. Type e.g.bricks/testsand you get260816/bricks/tests/. This field also supports placeholders, covered below.date- whentrue, appends aYYMMDDHHMMSStimestamp to the filename itself. Off if you'd rather keep your own naming.custom_text- arbitrary text appended after the timestamp with an underscore.sdxl_v2becomes260816143512_sdxl_v2.png.
The placeholders, which are the real power
Both string fields support %date:TOKEN% formatting - %date:yyyy%, %date:MM%, %date:dd%, %date:hh%, %date:mm%, %date:ss%, and single-letter variants - so you can build %date:yyyy%-%date:MM% folders if you prefer year-first grouping.
More interesting: %NodeName.widget% placeholders pull live values from your own workflow. Give a node a "Node name for S&R" in its properties (right-click → Properties), then write %MySeed.seed% or %Sampler.steps% and this node resolves it from the graph's own metadata at save time. That means filenames like 260816143512_seed1234.png - automatic, no typing, no guessing which seed produced which image. It uses ComfyUI's prompt and extra_pnginfo under the hood, so it works with the built-in SaveImage node.
It also sanitizes: path separators, .., and Windows-hostile characters are stripped from directories, and invalid filename characters are stripped from custom_text. You can paste something messy and it won't corrupt your output tree.
Install
Standard for this pack:
cd ComfyUI/custom_nodes
git clone https://github.com/akatz-ai/Akatz-Seamless-Tiling
Restart ComfyUI, or install via ComfyUI Manager by searching "Akatz Seamless Tiling". No models, no API keys, no exotic dependencies - just numpy and opencv-python-headless that the pack ships for its other nodes.
Troubleshooting
- My folder name has a stray
_or date I didn't want - you've got bothdateandcustom_texton with an emptycustom_text, or vice versa. Each toggle only adds its part when its value is meaningful. %NodeName.widget%didn't resolve - the node looks up nodes by their "Node name for S&R" property (not their default title). Set that property, and make sure the target node is actually in the workflow being saved.- I want date last, not first - fair, but then this isn't the node for you; the date-first ordering is the entire point. It's great for sort-by-name file browsers, which is why the author built it that way.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| date | COMBO | true | 2 options: true, false |
| date_directory | COMBO | true | 2 options: true, false |
| custom_directory | STRING | — | |
| custom_text | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| filename_prefix | STRING | — |