Filename Resolver V2
Use AUN's filename builder with ComfyUI's stock Save Image
- path_filename
- sidecar_text
The AUN filename system is built around one combined path_filename string from the pack's AUNPathFilenameV2 builder - but the stock ComfyUI Save Image node doesn't understand that contract. It wants a plain resolved filename. AUNFilenameResolverPreviewV2 is the adapter in the middle: it takes a path_filename template, resolves all the %token% placeholders into concrete values, and returns a filename a standard save node can use - plus a sidecar text or JSON describing the run's parameters.
The main required input is path_filename, the combined template from a V2 builder node (default %date% %seed%). Then you feed it the resolved values it needs to substitute: model_name, sampler_name, scheduler_name, steps_value, cfg_value, and seed_value. Yes, you have to supply the values yourself - that's the "resolver" part, it turns tokens into text, it doesn't scrape them from your graph (that's what AUNGraphScraper and AUNExtractWidgetValue are for). The typical wiring is: builder → resolver, with your extractor nodes feeding the resolved values in.
output_type switches the node's vocabulary between Video and Image, which changes which optional fields show up. In Video mode you get frame/video fields - frame_rate, loop_count, quality, width, height, count - which are recorded in the sidecar and used to build things like a loop-count or frame-count token. In Image mode you instead get batch_num, which appends a batch number to filenames when you're saving multiple. The sidecar_format dropdown (four options) decides whether the sidecar comes back as text or JSON, and whether it's just returned as output or written to a .txt/.json file next to the saved output. Either way, the node always returns sidecar_text on its second output.
The two outputs are path_filename - the fully resolved string you feed into standard Save Image or a video combine node - and sidecar_text, which carries the parameter summary. That sidecar is where this node shines: model, sampler, scheduler, steps, CFG, seed, and (in video mode) frame info, all recorded, so your saved images carry a plain-text record of how they were made without relying on PNG metadata alone.
The date_format input controls the %date%/%time% placeholders and the sidecar timestamp, and it accepts both Python and Java-style format strings (it converts between them - a nice touch if you're migrating from a Java-format workflow).
Install with the pack: ComfyUI Manager (search "AUN") or cd ComfyUI/custom_nodes && git clone https://github.com/loz2754/AUN-ComfyUI-Nodes, then restart. Dependency-light, no models. If you've fully embraced the pack, the simpler path is AUNSaveImageV2, which takes the same path_filename directly - this node exists precisely for people who want the AUN naming but are keeping the stock save node.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| path_filename | STRING | %date% %seed% | Combined path + filename template from a V2 builder node. |
| delimiter | STRING | Delimiter used by the builder node. | |
| model_name | STRING | Full model name (used in sidecar 'model' field). | |
| sampler_name | STRING | euler | Resolved sampler name. |
| scheduler_name | STRING | normal | Resolved scheduler name. |
| steps_value | INT | 20 | Resolved steps value. |
| cfg_value | FLOAT | 7.50 | Resolved cfg value. |
| seed_value | INT | 123456 | Resolved seed value. |
| output_type | COMBO | Video | Video: includes frame_rate/loop/quality/width/height/count fields. Image: includes batch_num field instead. |
| sidecar_format | COMBO | Output only (text) | Choose sidecar output format. 'Save to file' writes a .txt/.json next to the resolved output file; the node always returns sidecar_text. |
| pos_promptopt | STRING | Positive prompt text for the sidecar. | |
| neg_promptopt | STRING | Negative prompt text for the sidecar. | |
| date_formatopt | STRING | %Y-%m-%d | Date format for %date and %time placeholders and sidecar timestamp. |
| frame_rateopt | FLOAT | 16.00 | (Video) Frame rate of the saved video. |
| loop_countopt | INT | 0 | (Video) Loop count (0 = infinite for gif/webp). |
| qualityopt | INT | 850–100 | (Video) Output quality value. |
| widthopt | INT | 0 | (Video) Output frame width in pixels. |
| heightopt | INT | 0 | (Video) Output frame height in pixels. |
| countopt | INT | 1 | (Video) Number of frames in the output. |
| batch_numopt | INT | 1 | (Image) Batch number appended to filenames. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| path_filename | STRING | — |
| sidecar_text | STRING | — |