campaign asset naming convention: make filenames readable while manifests preserve identity
A campaign asset naming convention should help someone identify a file without making the filename the only source of truth. Names are easy to edit, shorten, or lose during upload. Keep immutable asset identifiers and source relationships in your application manifest, then use filenames as a convenient readable view.
Genace returns job identifiers for generation work. Your campaign, placement, locale, approval, and export version are application-owned concepts. Do not assume that the generation gateway organizes those business relationships for you.
Choose fields with clear meanings
Use a campaign identifier, concept identifier, placement, locale, and revision. Keep values short and restricted to characters your storage and publishing tools handle predictably. Avoid putting secrets, customer names, or signed source URLs into filenames.
A useful example is spring-mug_reveal_vertical_en_r03.mp4. The name communicates a campaign concept and export purpose, but it still needs a manifest record linking it to the source clip and review decision.
Separate three identities
| Identity | Example purpose | Changes when |
|---|---|---|
| Business concept | Mug reveal creative | The creative idea changes |
| Source asset | Collected output from a job | A different output is selected |
| Export derivative | Vertical English revision three | Crop, copy, or encoding changes |
Store the remote job identifier and output index with the source asset. If a final edit uses several clips, record all parent assets rather than forcing one job ID into the filename as if it represented the entire campaign.
Write a small naming policy
Document allowed values and required fields in the production handoff. Decide how to represent a locale-free source, a working preview, and an approved delivery. Avoid using final, final2, or newest as version identifiers because those names describe a temporary opinion rather than a stable revision.
Keep approval in the manifest. A file named approved can be copied and altered without changing its name. A reliable approval record points to a particular derivative identifier or content hash, a reviewer, and a timestamp.
Do not rely on lexical filename order to reconstruct a sequence. Use shot numbers in the manifest and include a padded number in the readable name when it helps. That way a rename cannot silently change the intended edit order.
Preserve destination mappings
Publishing systems may replace filenames with their own asset IDs. Save the destination identifier, uploaded derivative, locale, placement, and publication reference. If an operator needs to withdraw an asset, that mapping is more useful than searching for a familiar filename.
When a file is renamed locally, update only the readable label. Keep its immutable identity and provenance intact. When the bytes change, create a new derivative record even if the preferred label remains similar.
Acceptance checklist
Give another teammate a sample export folder and the manifest. Ask them to identify source, revision, placement, locale, and approval without relying on memory. Test an upload that renames a file and confirm that the published asset still maps back to the reviewed derivative.
Continue with version lineage, creative approval, and content-hash caching.
Continue with creative workflows
Where these facts come from
- codebase: src/app/api/v1/images/generations/route.ts
- codebase: src/ai/providers/types.ts
- Application-owned workflow recommendations; human review and post-processing are outside the generation gateway
- Editorial keyword hypothesis; search volume not measured