π PD Shot Token
A tiny token resolver for when Project Context is overkill
- resolved
Somewhere between "hardcode a string" and "build a full metadata context chain" there's a middle ground, and π PD Shot Token lives there. You give it a template string and the shot values inline, it resolves the tokens, and it hands you a clean STRING. No context dict, no chaining, no ceremony. It's the lightweight member of the Pipedream family - the one you reach for when you just want DITC_Ep01_sh020_v001 in a filename and don't need a project-wide metadata system for it.
How it works
The node takes your template (default {project}_{shot}_{version}) and a few widgets, builds a tiny context from them, and runs the same token engine the rest of the pack uses. The output, resolved, is the fully substituted string - wire it anywhere a string is accepted: a filename pattern, a prompt, a text node, or an output_namer input on π PD Rasterizer.
The inputs that matter
template- multiline, default{project}_{shot}_{version}. This is the whole point: it can include any token the engine knows.project,shot,version- the inline values. Version defaults tov001.dateandtime- both default to the magic value"auto", which means "let the engine use today's date/time" ({date}βYYYYMMDD,{time}βHHMMSS). Leave them alone unless you want to pin a specific value, in which case type it in and it overrides the auto behavior.
The useful extra: this resolver also knows {frame} (padded # placeholders) and any {wedge_...} tokens, so you can build a string that a wedge iteration will later fill in.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/TheOnlyAaron/comfyui-pipedream
Restart ComfyUI, or install "Pipedream" via ComfyUI Manager. No dependencies, no model downloads.
Gotchas
- This node resolves tokens at execution time, which means
{date}is whatever today is when the queue runs. That's usually what you want for a filename; it's a footgun if you were expecting the string to stay stable. - It has no context input at all. If you need values from a π PD Project Context chain (artist, sequence, custom tokens), this isn't the node - use an output node that accepts
PROJECT_CONTEXT, or just type the values here. The whole trade-off is "simple over connected." - Unknown tokens are left literally in the output with a console warning, so a typo shows up right in your string. Annoying, but it beats a silent substitution you never notice.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| template | STRING | {project}_{shot}_{version} | β |
| project | STRING | β | |
| shot | STRING | β | |
| version | STRING | v001 | β |
| dateopt | STRING | auto | β |
| timeopt | STRING | auto | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| resolved | STRING | β |