Naming Vector Packs For Adobe And Vecteezy: What The Filename Field Actually Controls
说明与用途
通过标准化文件命名和脚本生成的 CSV 元数据,自动化向 Adobe Stock 和 Vecteezy 上传矢量包,消除了重复和错误,支持在低配服务器上高效工作。
问题
Duplicate uploads and orphaned metadata caused by inconsistent filenames and manual header editing.
结果
The pipeline runs on a 1 vCPU, 2 GB RAM server, processing 39 products and 856 MB of output without GPU, eliminating duplicate uploads and orphaned metadata.
工作流
- Organize assets in a fixed folder structure: assets/, output/, packs/, research/, scripts/
- Generate a single canonical filename per asset using the pattern pack-name_asset-number.svg
- Move renamed files from assets/ to output/ to freeze names
- Run make_metadata.py for each platform to create CSVs with correct headers and filenames
- Use upload_tracker.py to record completed uploads and prevent double‑posting
- Upload the CSVs and files to each platform
- Maintain research/ folder for future packs
证据
I lost about two hours of upload work last month because of a filename. Not a rejected file, not a corrupt zip. A filename.
Adobe's upload CSV format is 5 columns, and the first column is the filename. If that string does not exactly match the file you uploaded, the metadata row attaches to nothing.
All three channels I upload to reject a wrong CSV header instantly. Adobe wants its exact 5-column header, Vecteezy wants its exact 4-column header, Dreamstime wants 15 columns.
The whole pipeline, 39 finished products and about 856 MB of output, ran on a 1 vCPU, 2 GB RAM server with no GPU.
- 记录日期: 2026-10-21T03:56:09.883Z