Skip to content

Export Batch

Node icon
Export

Exports all batch frames as individually named files, completing the batch processing pipeline.

Export Batch takes a batch input (from Palette Remap, Collect, Image Folder, or any batch source) and writes every frame as a separate file. A configurable filename template controls the output naming, with a live preview of the resolved filename shown below the template field. A progress bar on the node body tracks completion during export.

This is the node that makes ArcBrush’s batch workflow possible: one graph produces dozens of consistently named output files automatically.

The output directory supports relative paths: type export and it resolves relative to your .arcb file. Directories are created automatically.

The Output Channels control (Auto / RGBA / Grayscale) sets the channel layout of every written frame. Auto preserves each frame’s incoming channels (a mixed batch stays mixed), RGBA always writes color, and Grayscale writes single-channel files with a Grayscale From option (Luminance, Red, Green, Blue, or Alpha). As with Export Image, JPEG and WebP have no single-channel mode and upcast a grayscale frame to gray-valued color.

The filename template uses tokens wrapped in curly braces that are replaced with dynamic values for each exported frame. The file extension is determined by the Format dropdown and appended automatically (it is not part of the template).

TokenDescriptionExample
{name}Frame name, falling back to source label, then frame_Nred
{source}Original source filename without extensionhero-character
{label}Custom node label of the frame’s source, falling back to the source filename when the node has not been renamedhero
{color}The frame’s variant color as a 6-digit hex code (Palette Remap variants); empty for frames with no variant colora020f0
{index}1-based frame number, zero-padded to fit the batch size01
{index:N}1-based frame number with explicit padding width N001 (for {index:3})
{count}Total number of frames in the batch12
{width}Frame width in pixels1024
{height}Frame height in pixels768
{date}Export date (YYYY-MM-DD)2026-05-27
{time}Export time (HH-MM-SS); pair with {date} for a sortable timestamp14-30-52
{quality}JPEG or WebP quality; empty for formats without a quality setting90
{compression}Format’s compression setting (PNG level, TGA RLE, WebP lossy or lossless, or TIFF codec); empty for formats without one6
{node}This export node’s canonical name: the node type as a PascalCase identifier (spaces and punctuation removed) followed by the node’s unique per-type number. Not the custom label or the spaced display name.ExportBatch1
{graph}Project filename without extension (untitled if unsaved)hero-banner

The default template is {name}. For a 12-frame batch from a Palette Remap with source image hero.png and project game-assets.arcb:

TemplateFrame 1Frame 12
{name}red.pngblue.png
{source}_{index}hero_01.pnghero_12.png
{source}_{index:4}hero_0001.pnghero_0012.png
{graph}/{name}game-assets/red.pnggame-assets/blue.png
{name}_{width}x{height}red_1024x768.pngblue_1024x768.png

Forward slashes in the template create subdirectories inside the output directory. If multiple frames expand to the same filename, a numeric suffix (_001, _002, …) is appended automatically to prevent overwrites. The Output Files list on the node shows the real written names after this resolution, so a repeated {name} reads as name, name_001, name_002, and so on rather than the same name repeated.

When Sprite Sheet output is enabled, the per-frame Filename Template is replaced by a Sheet Filename field that controls the name of the assembled sheet PNG and its companion JSON manifest. A live preview shows the resolved name.png / name.json pair as you type.

The Sheet Filename template supports a {count} token (the number of frames packed) plus the whole-export tokens shared with the per-frame template:

TokenDescriptionExample
{count}Total number of frames packed into the sheet24
{node}This export node’s canonical nameExportBatch1
{graph}Project filename without extensionhero-banner
{date}Export date (YYYY-MM-DD)2026-05-27
{time}Export time (HH-MM-SS)14-30-52
{quality}Quality setting; empty for formats without one90
{compression}Compression setting; empty for formats without one6

Per-frame tokens ({name}, {source}, {index}, {width}, {height}, etc.) do not apply to the sheet filename. The default is nodename_sheet; existing projects keep that name until you edit the template. Subdirectories in the name are created automatically.

Pins

BatchBatch
InputRequired

Export

Output DirectoryText

Folder for exported batch frames

FormatChoice
Default: PNG

File format for each exported frame

  • PNGLossless with transparency. The default choice for game assets and sprites.
  • JPEGLossy compression, small files. Good for web assets without transparency.
  • TGATarga format. Common in game engines like Unity and Unreal.
  • BMPUncompressed bitmap. Maximum compatibility, large files.
  • WebPModern format, smaller files than PNG/JPEG.
  • TIFFProfessional archival format with multiple compression options.
  • EXROpenEXR half or float, for scene-referred HDR data with an OCIO color-space picker. Preserves overbright values end to end in 32-bit (float) mode.
QualityInteger
Default: 90 Range: 0–100
JPEG / WebP only

JPEG/WebP quality

MatteColor (RGB)
Default: rgb(255, 255, 255)

Background matte

PNG CompressionInteger
Default: 8 Range: 0–9
PNG only

zlib level

TGA RLEToggle
Default: true
TGA only

TGA RLE compression

WebP LosslessToggle
Default: false
WebP only

Lossless WebP encoding

TIFF CompressionChoice
Default: None
TIFF only

TIFF compression codec

  • NoneNo compression. Fastest, but largest files.
  • LZWLossless compression with a good balance of size and speed.
  • DeflateLossless compression with smaller files than LZW but slower.
  • PackBitsSimple RLE compression. Fast, but less effective on complex images.
Embed RecipeToggle
Default: false
PNG, WebP, JPEG, TIFF

Embed this graph into every exported file's metadata so it can be reopened in ArcBrush. Includes all node settings, prompts, notes, and input file NAMES (never full paths). Adds a few KB per file

Output Files

Filename TemplateText
Default: {name}
Sprite Sheet off

Template for exported filenames.

Tokens: {name}, {source}, {label}, {color}, {index}, {count}, {width}, {height}, {date}, {time}, {quality}, {compression}, {node}, {graph}.

{color} resolves to the frame's variant color as a 6-digit hex code (e.g. a020f0).

Sprite Sheet

Generate Sprite SheetToggle
Default: false

Also pack all frames into one sprite-sheet file

Sheet FilenameText
Default: {node}_sheet
Sprite Sheet on

Filename (no extension) for the packed sheet PNG + JSON manifest.

Tokens: {node}, {graph}, {count}, {date}, {time}, {quality}, {compression}.

Pack ModeChoice
Default: MaxRects Range: Grid / MaxRects
Sprite Sheet on

Grid or Bin Pack

ColumnsInteger
Default: 4 Range: 1–32
Sprite Sheet on

Columns in the sprite sheet

TrimToggle
Default: true
Sprite Sheet on

Trim transparent borders before packing

Trim ThresholdInteger
Default: 1 Range: 0–255
Sprite Sheet on

Alpha threshold for trim

Extrude (px)Integer
Default: 1 Range: 0–8
Sprite Sheet on

Edge pixel duplication

Shape Padding (px)Integer
Default: 0 Range: 0–128
Sprite Sheet on

Space between sprites

Border Padding (px)Integer
Default: 0 Range: 0–64
Sprite Sheet on

Padding around sheet perimeter

BGColor (RGBA)
Default: rgba(0, 0, 0, 0)
Sprite Sheet on

Sheet background

Size ConstraintsChoice
Default: Any Size Range: Any Size / Power of 2 / Multiple of 4 / Word Aligned
Sprite Sheet on

Output size constraint

Max WidthInteger
Default: 4096 Range: 128–8192
Sprite Sheet on

Max sheet width

Max HeightInteger
Default: 4096 Range: 128–8192
Sprite Sheet on

Max sheet height

Show OutlinesToggle
Default: false
Sprite Sheet on

Display colored outlines around each sprite in the preview

Output

Output ChannelsChoice
Default: Auto
  • AutoMatch the incoming image: write a single-channel source as grayscale and everything else as RGBA. The default.
  • RGBAAlways write full-color RGBA, even from a single-channel source.
  • GrayscaleWrite a genuine single-channel grayscale file (PNG, TGA, or TIFF), reducing a color source using the Grayscale From channel. JPEG and WebP still upcast to color.
Grayscale FromChoice
Default: Luminance
When Output Channels is Grayscale

Which channel or formula to use when converting a 4-channel frame to grayscale for export:

Note: JPEG and WebP do not support true single-channel; a grayscale frame is upcast to gray-valued RGB/RGBA before encoding.

  • LuminanceDerive the gray value from perceived brightness (weighted RGB). The most natural choice.
  • RedUse the red channel as the gray value.
  • GreenUse the green channel as the gray value.
  • BlueUse the blue channel as the gray value.
  • AlphaUse the alpha channel as the gray value.

High-Bit-Depth

Bit DepthChoice
Default: Normal (8-bit)
Pro/trial, 32-bit (float) mode
  • Normal (8-bit)Standard 8-bit-per-channel output, the existing behavior. The default.
  • 16-bitPNG or TIFF at 16 bits per channel, for a higher-precision deliverable.
  • 32-bit floatTIFF at 32 bits per channel; use a 32-bit float source to preserve HDR and scene-linear values.

Color

Color HandlingChoice
Default: Auto
Pro/trial, 32-bit (float) mode

How working-space color is converted when each frame is written (32-bit mode; applies at every bit depth):

Until explicitly set, the default follows the output format: EXR writes working-space values, other formats bake the view.

  • As displayed (bake view)Bake the current Color menu Display / View into the file so it matches the viewport. The right choice for a normal file that looks like your screen. Until you set this control explicitly, the default follows the output format: EXR writes working-space values and every other format bakes the view.
  • Convert to color spaceColorimetric conversion into the chosen Target Color Space (e.g. sRGB). No tone-map, so highlights clip rather than roll off; use it for a precise, standardized deliverable.
  • Working space (no conversion)Write raw working-space (scene-linear) values untouched. Offered for 16-bit, 32-bit float, and EXR output, for handing scene data to another color-managed application.
Target Color SpaceText
Pro/trial, Color Handling = Convert to color space

OCIO color-space name to convert into when Color Handling is 'Convert to color space'. Empty = 'Same as Working Space' (no conversion). Example: sRGB Encoded Rec.709 (sRGB)

Notes
  • Same per-format options as Export Image (see above). Quality is shown for JPEG or lossy WebP.
  • Sheet Layout controls are only visible when Generate Sprite Sheet is enabled.
  • Check the live filename preview below the template field to verify the resolved output path before exporting.
  • When you fan a batch into Palette Remap or Separate (an M×N expansion), use {source}_{name} so each combination gets a unique name like tree_purple.png.
  • Use relative paths (e.g., export or output/sprites) to keep exports portable alongside your .arcb file.
  • Enable Sprite Sheet to also generate a packed sprite sheet PNG with a JSON manifest.
  • With Sprite Sheet on, enable Show Outlines to draw a colored boundary around each packed sprite on the assembled sheet preview while you tune packing.
  • All format-specific options (quality, compression, etc.) apply to every exported file.
  • Set Output Channels to Grayscale to write a batch of masks or height maps as real grayscale PNG, TGA, or TIFF files.
  • Turn on Embed Recipe (off by default) to store a privacy-sanitized copy of the whole graph inside each PNG, WebP, JPEG, and TIFF frame. Dropping any of those files back onto ArcBrush, or File > Open Recipe from Image…, reopens the graph. Absolute paths and machine identifiers are stripped (input file names are kept, never full paths). It adds a few KB per file.
  • Use Ctrl+Shift+E to quick-export, or File > Export All (Ctrl+Shift+Alt+E) to run every export node in the graph at once.