Naming Vector Packs For Adobe And Vecteezy: What The Filename Field Actually Controls
Описание и применение
Автоматизация загрузки векторных паков в Adobe Stock и Vecteezy через стандартизированное именование файлов и генерацию CSV‑метаданных избавила от дублирования и ошибок, позволяя работать на небольшом сервере.
Задача
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