Nodes/Pipedream/PDOutputNamer
ComfyUI Node

PDOutputNamer

PDOutputNamer got an upgrade — here's what it actually does now

By TheOnlyAaron·Created 5 months ago·Updated 5 months ago· 4
PDOutputNamer
  • images
  • context
  • written_path
template{project}/{sequence}/{shot}/{shot}_{version}_{date}
frame_padding4
extension
create_dirstrue
overwritefalse

Straight answer: PDOutputNamer isn't a current node. In Pipedream 0.2.0 the author folded it into a new node, 💭 PD Output Relative, and kept PDOutputNamer registered purely as a backward-compatibility alias so workflows saved against 0.1.0 still load. If you search your node list for PDOutputNamer you'll land on 💭 PD Output Relative. Same class, same schema, one important difference from the old days, explained below.

What the original did

Back in 0.1.0, PD Output Namer was exactly what it sounds like: a filename builder. You fed it a token template and it handed you a resolved path string, which you then wired into ComfyUI's built-in Save Image (or PD Network Output) yourself. It was a good idea with a clunky two-step workflow.

What it does now

The new 💭 PD Output Relative is a proper output node - it does the naming and the writing. It resolves your template against a Pipedream context and saves the image batch directly into ComfyUI's output directory. You no longer chain it into Save Image; it is the save.

The inputs you'll actually touch:

  • images - the IMAGE tensor from your VAE decode.
  • template - the filename pattern, default {project}/{sequence}/{shot}/{shot}_{version}_{date}. Subfolders are fine; they're created automatically.
  • frame_padding (default 4) and extension (png, exr, jpg, webp).
  • context - optional PROJECT_CONTEXT from 💭 PD Project Context / 💭 PD Custom Context. Without it, {project} and friends stay as literal {project} in the filename (the node warns on the console), while auto tokens like {date} still resolve.

It returns a single written_path string. And the two optional toggles deserve a warning: create_dirs defaults on, and overwrite defaults off - so re-running a workflow with the same template and date skips the existing file instead of replacing it. Great for not clobbering approved frames, mildly infuriating the first time you re-render and can't find the new file.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/TheOnlyAaron/comfyui-pipedream

Restart ComfyUI, or install "Pipedream" via ComfyUI Manager. No dependencies, no models - the pack is deliberately pure stdlib.

Gotchas

  • If you're reading this because an old workflow failed to load: it shouldn't. The alias exists precisely so PDOutputNamer in a saved graph resolves to the current node. If you still see "missing node", your pack is older than 0.2.0 - update it.
  • If you were used to the two-step flow (Namer → Save Image), note that the new node writes on its own. Wiring it into Save Image as well double-writes every render.
  • Token names are case-sensitive and space-free; a typo like {versoin} survives into the filename so you can see exactly what broke.
CategoryPipedream

Inputs (7)

NameTypeDefaultDescription
imagesIMAGE
templateSTRING{project}/{sequence}/{shot}/{shot}_{version}_{date}
frame_paddingINT41–8
extensionCOMBO4 options: png, exr, jpg, webp
contextoptPROJECT_CONTEXT
create_dirsoptBOOLEANtrue
overwriteoptBOOLEANfalse

Outputs (1)

NameTypeDescription
written_pathSTRING