Save Brick Image
Stop losing archviz renders to ComfyUI's output folder
- images
- project_root
- saved_primary_path
- version
ComfyUI's default SaveImage dumps everything into one flat output/ folder with filenames like ComfyUI_00047_.png. That's fine for hobby work and a slow-burn disaster for a studio - try finding the third revision of the lobby view for project 8140 in a folder of four thousand PNGs. Save Brick Image (class SaveArchVizImage) is the fix, and it's the star of comfyui_brick_tools, the free toolkit that architectural-visualization studio Brick Visual shipped from their in-house pipeline.
It saves your renders into a proper project tree with production filenames, auto-incrementing versions, and the workflow embedded in every PNG.
The naming it enforces
Every save lands at ComfyUI/output/projects/<project>/images/YYYYMMDD/ with a name like:
20260312_8140_cam-02_v004.png
20260312_flux-2-dev_8140_lobby-view_v004.png
That's date, optional model prefix, project code, camera, version. The project code is the first four digits of the project folder name, so 8140_The Edge_Riverside_Tower becomes 8140.
The version number is the part that will sell you on this node. It auto-increments per project and per camera - save twice from camera 2 and you get v001 then v002, automatically. No manual _final2_REAL file naming ever again. Batches larger than one image get _01, _02, … suffixes after the version token, so nothing collides.
The inputs that matter
project_name- a dropdown of existing projects, defaulting to the placeholder0000_base. This one has a catch, see below.camera_mode- switch betweencamera_number(an integer, formattedcam-02) andcamera_name(free text, sanitized to a lowercase hyphenated token likelobby-view). The UI shows the relevant widget for whichever mode you pick.model_prefix- optional; leave empty for the plain scheme, or fill influx-2-devto bake the model into the filename after the date.
There's also a Create Project button on the node. Clicking it opens a dialog where you type a folder name in the required studio format - ####_Office_Name_Project_Name, e.g. 1234_Client Name_Project_Name - and the node creates the folder, refreshes the dropdown, and switches to it. Names that don't match the format are rejected.
Outputs
Three of them, all boring and all useful: project_root (the project folder path), saved_primary_path (the first file written), and version (the integer version, handy for display or feeding other nodes).
Install
Same for the whole pack - no models, no keys, no requirements.txt:
cd ComfyUI/custom_nodes
git clone https://github.com/brick-momen-sirri/comfyui_brick_tools
Restart ComfyUI and hard-refresh the browser, because the pack ships frontend JavaScript (the Create Project button and the Brick Browser sidebar live there). Manager users: search comfyui_brick_tools.
The gotchas
0000_baseis a trap. It's a placeholder, and the node errors if you try to save to it. Create or pick a real project first.- The project name must exactly match a folder under
ComfyUI/output/projects/- either create it with the button or make the folder yourself, then the dropdown sees it. - Since the pack embeds workflow metadata in every PNG (the same "image is the project file" trick ComfyUI core uses), keep the PNGs as masters - don't re-encode if you ever want to drag a render back in and rebuild its graph.
For anyone who has ever presented a client a folder of final_final_2.png, this is the node that makes you look professional for free.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| project_name | COMBO | 0000_base | 1 options: 0000_base |
| model_prefix | STRING | — | |
| camera_mode | COMBO | camera_number | 2 options: camera_number, camera_name |
| camera_number | INT | 10–9999 | — |
| camera_name | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| project_root | STRING | — |
| saved_primary_path | STRING | — |
| version | INT | — |