APZmedia Ad Filename
Ad-creative filenames that won't get you side-eyed by the media buyer
- filename
Digital advertising has its own naming religion, and it's not the VFX one. Media buyers, ad servers, and programmatic platforms expect a convention built around brand, campaign, format, and placement - and a file named NIKE_SS24_VIDEO_FEED_9x16_v02 tells the person uploading it exactly what it is before they open it. APZmedia Ad Filename is the APZmedia Naming Tools node for that world, one of the pack's additions beyond its VFX roots.
The fields are brand, campaign, format_type, placement, ratio, and version, each with an Include/Exclude toggle, plus the shared delimiter (default _). One output: filename. Fill them in and you get the joined string - NIKE_SS24_VIDEO_FEED_9x16_v02 from the README's example. Same mechanism as every other naming node in this pack: include only the toggled-on, non-empty fields, join with the delimiter, ship it. Numbers, version codes, and padding remain your responsibility - this won't format 2 as v02 for you.
Two details make this one worth a specific mention. First, the ratio field is deliberately free text, and the README explains why: 9x16, 9:16, and 916 are all simultaneously in active use across Meta, Google, and programmatic platforms, and nobody is going to fix that. So the node doesn't try - you type whatever your target platform expects. Second, the schema calls the format field format_type - that's the input name you'll see on the node - and it's free text too, because "video," "image," and "static" mean different things in different ad consoles.
Where this fits: it's aimed at people generating ad creative in ComfyUI at scale - dozens of variations per campaign, each needing to drop into an ad platform's naming rules. Pair brand and campaign with a format you keep fixed, drive version from a counter, and every render files itself correctly. The Exclude toggles are useful when you're doing concept tests before a placement is decided - drop placement and ratio and the same node gives you a clean NIKE_SS24_VIDEO_v02 while you iterate.
The honest caveat is shared with its siblings: these nodes know the shape of the convention, not your client's particular rules. If your agency's standard is BRAND_YYYYMMDD_format_ratio, this won't enforce that - you'll want APZmediaDictionaryReplace for translation and Clean File Name Node for sanitization around it. But for the core job of assembling a platform-ready ad filename without hand-typing it a hundred times, it's exactly right.
Install
ComfyUI Manager → search "APZmedia Naming Tools". Or:
cd ComfyUI/custom_nodes
git clone https://github.com/APZmedia/ComfyUI-APZmedia-cleanName-from-string
cd ComfyUI-APZmedia-cleanName-from-string
pip install -e .
Restart, find it under APZmedia/Naming. No model downloads, no heavy dependencies - the pack's only extra is unidecode, which this node doesn't even need.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| brand | STRING | — | |
| toggle_brand | COMBO | 2 options: Include, Exclude | |
| campaign | STRING | — | |
| toggle_campaign | COMBO | 2 options: Include, Exclude | |
| format_type | STRING | — | |
| toggle_format | COMBO | 2 options: Include, Exclude | |
| placement | STRING | — | |
| toggle_placement | COMBO | 2 options: Include, Exclude | |
| ratio | STRING | — | |
| toggle_ratio | COMBO | 2 options: Include, Exclude | |
| version | STRING | — | |
| toggle_version | COMBO | 2 options: Include, Exclude | |
| delimiter | STRING | _ | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| filename | STRING | — |