I Built a Metadata CSV Generator So I Stop Getting Rejected
Description and use
The author built scripts to generate correct CSV headers, track uploads, package products, and convert Markdown to PDF, preventing rejections from Adobe Stock.
Problem
Adobe Stock rejected a batch of assets because the CSV header row did not match the required format.
Outcome
The pipeline runs on a single‑core, 2 GB server, processes 39 products, and outputs 856 MB of files without GPU or cloud services.
Workflow
- Identify required CSV columns for each platform
- Run make_metadata.py with folder and platform to generate correct CSV
- Use upload_tracker.py to record successful uploads and list pending items
- Package assets with pack_product.py to create zip, cover, and thumbnail
- Convert Markdown to styled PDF with md2pdf.py if needed
Evidence
The rejection email was three words long: "Wrong CSV format."
Adobe wanted <code>Filename,Title,Keywords,Category,Releases</code>
The full pipeline ran on 1 vCPU, 2 GB RAM, no GPU. It packaged 39 finished products and produced 856 MB of output on that box.
- Record date: 2026-10-10T01:40:57.788Z