The Art Was Never the Bottleneck: Four Failure Points the Pipeline Starter Kit Closes
Description and use
An automated pipeline for stock platform uploads eliminates metadata errors, duplicate submissions, unprofessional content, and server constraints, enabling thousands of assets to be processed without manual effort.
Problem
Batch uploads to stock platforms fail due to incorrect CSV metadata headers, duplicate submissions, unprofessional content formatting, and resource constraints on low‑spec servers.
Outcome
The pipeline now processes ~1,700 assets, packages 39 products (856 MB), and delivers 58 live files to Adobe Stock, with the first sale at $0.99.
Workflow
- Generate vector assets
- Run make_metadata.py with --platform flag to create platform‑specific CSVs
- Use upload_tracker.py to record posted assets and filter pending ones
- Convert markdown guides to PDFs with md2pdf.py
- Package products with pack_product.py, creating cover and thumbnail images
- Upload assets via platform upload tools
Evidence
Adobe wants 5 columns. Vecteezy wants 4. Dreamstime wants 15. Get one column wrong or put them in the wrong order and the whole batch fails instantly, no partial credit.
The fix is dumb-simple and I should have built it on day one: a ledger. upload_tracker.py records every asset you mark done, and pending shows you only what has not been posted yet.
md2pdf.py closes it with one command. It uses reportlab to render headings, tables, lists, and links into a clean styled PDF.
The whole thing ran on a 1 vCPU, 2 GB RAM server, no GPU.
- Record date: 2026-11-02T06:59:01.301Z