Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Naming Vector Packs For Adobe And Vecteezy: What The Filename Field Actually Controls

Description and use

Automating vector pack uploads to Adobe Stock and Vecteezy with standardized filenames and script‑generated CSV metadata eliminated duplicates and errors, enabling efficient workflow on modest hardware.

Problem

Duplicate uploads and orphaned metadata caused by inconsistent filenames and manual header editing.

Outcome

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.

Workflow

  • 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

Evidence

I lost about two hours of upload work last month because of a filename. Not a rejected file, not a corrupt zip. A filename.

Source

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.

Source

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.

Source

The whole pipeline, 39 finished products and about 856 MB of output, ran on a 1 vCPU, 2 GB RAM server with no GPU.

Source

  • Record date: 2026-10-21T03:56:09.883Z