Automating Metadata CSVs for Adobe Vecteezy and Dreamstime in One Script
Description and use
Automating metadata CSV creation for Adobe Stock, Vecteezy, and Dreamstime using a single script to avoid rejections and duplicate uploads.
Problem
Uploading assets to multiple stock marketplaces fails due to incorrect CSV headers and duplicate uploads, causing rejections and account flags.
Outcome
The system processed 19,000 lines of code, produced 39 finished products totaling 856 MB, and eliminated two‑minute rejection emails.
Workflow
- 1. Run
make_metadata.pywith--platformflag to generate platform‑specific CSV. - 2. Use
upload_tracker.py pending items.txtto list unposted files. - 3. Upload assets and mark them as done with
upload_tracker.py done "asset-001.jpg". - 4. Check status with
upload_tracker.py statusto confirm all files uploaded.
Evidence
Adobe rejected the whole file in about two minutes. Not the images, the CSV itself, so nothing even got into review.
The second script is dumb on purpose. upload_tracker.py is a ledger.
The reason I merged all three platforms into one script instead of three separate files is drift.
None of this ran on a beefy machine. The whole pipeline ran on 1 vCPU, 2 GB RAM, no GPU.
- Record date: 2026-10-20T09:56:06.464Z