Nodes/ComfyUI_Fill-Nodes/FL API Image Saver
ComfyUI Node

FL API Image Saver

Writes API-workflow outputs to a job/user/category tree

By filliptm·Created 3 years ago·Updated about 12 hours ago· 628
FL API Image Saver
  • image
  • saved_path
  • job_id
  • user_id
  • category
job_id
user_id
category
base_output_dir/absolute/path/to/output
image_formatpng
image_quality100

If FL_API_Base64_ImageLoader is how a request's image gets into your ComfyUI graph, FL_API_ImageSaver is how the result gets back out in a shape your application can find. Instead of dumping everything into ComfyUI's default flat output/ folder with an auto-incremented filename, it saves into a structured path - base/category/user_id/job_id.format - so a multi-tenant app can locate exactly the file that belongs to a specific request without guessing.

How it works

It's an output node (is_output_node: true), meaning ComfyUI treats it as a terminal step that actually needs to run rather than something that gets pruned if nothing downstream consumes its output. Unusually for an output node, it also has real outputs - saved_path, job_id, user_id, category - so you can chain something after it (a webhook call, a Discord notification, a log entry) that needs to know exactly where the file landed.

The inputs and outputs that matter

Required: image, job_id, user_id, category (typically the same three strings you carried through from FL_API_Base64_ImageLoader), base_output_dir, image_format (default png), image_quality (1–100, default 100).

Outputs: saved_path (the full path the file was written to), plus job_id/user_id/category passed through unchanged, for anything downstream that needs the tracking metadata without re-deriving it.

How to install it

ComfyUI Manager: search ComfyUI_Fill-Nodes, install, restart. Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_Fill-Nodes

then restart. No models, no extra dependencies beyond what's already in a normal ComfyUI install - this node just writes files.

Common issues & troubleshooting

base_output_dir's default is a literal placeholder. The schema default is the string /absolute/path/to/output - that is not a real directory, it's a reminder that you must set this yourself. Point it at an actual absolute path your ComfyUI process can write to before running this in anger, or the save will fail (or, worse, silently create a folder literally named path under a directory called to, depending on your OS's path handling - don't rely on that, just set it correctly).

image_quality seems to do nothing. It only affects lossy formats - JPG and WebP. PNG is lossless, so the quality slider has no effect on a PNG save; if you're expecting file-size control and got image_format: png, switch formats or drop the quality expectation.

Files collide or get overwritten. The path template is base/category/user_id/job_id.format - if two requests reuse the same job_id for the same user_id/category combination, the second save overwrites the first. job_id uniqueness is your application's responsibility, not something this node checks or enforces.

Format string is free-text, not a dropdown. image_format is a plain STRING field, not a constrained enum in the schema - the README lists PNG, JPG, JPEG, and WebP as supported, but a typo ("pnng") won't be caught until the save actually fails. Double-check spelling if a save errors out unexpectedly.

Category🏵️Fill Nodes/API Tools

Inputs (7)

NameTypeDefaultDescription
imageIMAGE
job_idSTRING
user_idSTRING
categorySTRING
base_output_dirSTRING/absolute/path/to/output
image_formatSTRINGpng
image_qualityINT1001–100

Outputs (4)

NameTypeDescription
saved_pathSTRING
job_idSTRING
user_idSTRING
categorySTRING