Overview
The standard node for exporting PNG files. It accepts either one image or a list
and saves them according to a naming pattern ({name}/{index}). This is an "exit"
for the graph, and headless execution (--headless) also exports through this node
and the other Export nodes.
- Side effect: yes (writes files and is excluded from parallel evaluation)
This is the unified batch export node introduced in P15. Connect frames / names
from Batch Render to export all variants at once. The export profile
(destination, naming pattern, save mode, and scale) is stored as this node's parameters
and saved with the project.
Usage tips
- Keep
save_mode: Disabled(the default) while building the graph, then switch it toOverwriteonly when exporting. This is a safe habit because the side-effect node runs on every evaluation. - Prefer a relative destination path. It resolves from the project folder and creates
folders automatically. For an unsaved project, the default is
projects/exports/images/. - The golden batch-production pairing is
batch_render.frames → images+batch_render.names → names+name_pattern: {name}. Each variant name becomes its filename. - To export larger assets for a game engine, use
scale(integer nearest-neighbor scaling). It changes only the saved files; theimageoutput remains the first native-size image before export, so the graph can continue at native size.
Common pitfalls
- No files are written: in most cases, either 1)
save_modeis still Disabled ordirectoryis empty. Check thecountoutput to see how many images were saved this time.
- Old files remain:
CreateIfMissingskips existing files and is intended for appending only missing results. UseOverwriteto rebuild everything. - Headless execution fails with "no export node":
--require-exportrequires an enabled export node (anything other than Disabled). The standard approach is to override save_mode with Overwrite in the job's overrides.
Technical details
- It writes nothing while
save_mode: Disabledis selected ordirectoryis unset. - Characters that cannot be used in filenames are replaced with
_in values from the name list. CreateIfMissingskips existing files, which is useful when appending only missing outputs.
Examples
Exporting Batch Render results
[Seed Range] → [Batch Render] ─ frames → [Batch Export]
└ names ─────────↑
With name_pattern: {name}, each variant name becomes the filename.
Automatic export for the finished image
Connect the graph's final result to the image input and set save_mode: Overwrite
to save the latest PNG on every evaluation. Use this node as the export endpoint for
headless execution (--headless) as well.
Related nodes
batch_render— supplies batch-produced frames (the golden pairing)surface_export/aseprite_export/tiled_tileset_export— format-specific exportspalette_save— exports a palettepreview— when you only want to inspect the result without saving