{
  "id": 15388829,
  "title": "Building Adobe, Vecteezy and Dreamstime CSVs From One Folder of Assets",
  "url": "https://urgent.news/2026/10/18/building-adobe-vecteezy-and-dreamstime-csvs-from-one-folder-of-assets",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-18T10:00:56.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/revanzart/building-adobe-vecteezy-and-dreamstime-csvs-from-one-folder-of-assets-3m7i"
  },
  "original_language": "en",
  "account": "Generating CSVs for Adobe Stock, Vecteezy, and Dreamstime from a single folder of assets can be a tedious task. The author shares their experience of learning the hard way, as they faced rejection emails and parse errors due to incorrect headers. After realizing the mistake, they built a script called make_metadata.py that generates the exact headers required by each platform. This script takes one folder of assets and outputs the necessary CSVs, ensuring that the header can never drift because it is hardcoded in the code. The author emphasizes the importance of treating metadata as output from a script rather than a document, to prevent silent mistakes from accumulating in spreadsheets. They also discuss the importance of keeping track of uploaded files using an upload_tracker.py script, which prevents duplicate submissions and maintains trust with reviewers. The author recommends a specific folder layout for organizing assets, research, and scripts, which helps in keeping track of everything as the number of products grows. They stress the importance of minimizing memory usage and running the pipeline on a single core with limited resources. Finally, the author highlights the significance of packaging assets with a real cover and thumbnail, as it greatly impacts sales. The complete solution is detailed in the \"ai sticker factory playbook\" which includes all the scripts and the process behind them.",
  "summary": "I still have the rejection email open in a tab from last March. I had generated a batch of 120 sticker assets, spent an evening building what I thought was a clean upload spreadsheet, pasted 120 rows into Adobe Stock, and got back a parse error before a single row was reviewed. The header was wrong. Not the content, not the keywords, the header. Five columns, and I had six. That one night is the…",
  "key_points": [
    "Script \"makemetadata.py\" generates correct CSV headers for Adobe, Vecteezy, and Dreamstime.",
    "Uploadtracker.py prevents duplicate submissions and maintains trust with reviewers.",
    "Specific folder layout and minimal memory usage streamline the asset pipeline process."
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}