{
  "id": 13836741,
  "title": "From One Prompt to 39 Finished Products: What Actually Broke",
  "url": "https://urgent.news/2026/10/12/from-one-prompt-to-39-finished-products-what-actually-broke",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-12T01:00:58.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/revanzart/from-one-prompt-to-39-finished-products-what-actually-broke-bcg"
  },
  "original_language": "en",
  "account": "A single prompt resulted in 39 completed products, with an unexpected breakdown of the challenges faced and improvements made along the way. The initial batch of 40 uploads to Adobe Stock was rejected due to a single header column mismatch, highlighting the critical role of metadata in the process. Adobe's uploader is rigid, rejecting entire files if the structure is even slightly incorrect. To mitigate this, a script called make_metadata.py was created to generate the required CSV files for multiple platforms like Adobe, Vecteezy, and Dreamstime. This script ensures each platform's specific header format is adhered to, preventing rejections due to formatting issues.\n\nAnother significant issue was double-posting, which could lead to account flagging. To avoid this, a ledger script named upload_tracker.py was implemented. This script maintains a record of pending uploads, marks items as done, and provides a status overview. By using a plain-text ledger and the Python standard library, it ensures that each item is uploaded only once, eliminating the risk of duplicates. This script emphasizes the importance of discipline and memory management in automated pipelines, especially when interacting with external accounts.\n\nThe entire workflow was executed on a single-core server with limited resources (1 vCPU, 2 GB RAM), forcing a focus on efficiency and simplicity. The make_metadata.py script writes files in a structured manner, which is crucial for maintaining a well-organized catalogue. The folder layout consists of five key directories: assets/ for raw outputs, output/ for files ready for submission along with metadata CSVs, packs/ for finished zips and covers, research/ for notes and logs, and scripts/ for tools. Keeping a separate research/ directory is essential as it contains valuable material that might be needed for future projects. The pipeline also includes a script called md2pdf.py that converts Markdown documents into sellable PDFs by applying styling through reportlab, and another called pack_product.py that bundles files into zips with appropriate covers and thumbnails using Pillow. This entire kit, consisting of four primary scripts, is designed to streamline the process of producing digital products without relying on any external frameworks or cloud services, making it a zero-cost solution that can be run on a simple server.",
  "summary": "Last March I ran a batch of 40 uploads to Adobe Stock overnight. I woke up to a rejection screen and a bad feeling. The art was fine. The CSV was not. One wrong header column and Adobe's uploader rejects the file before it even looks at your images. That morning I learned that the prompt engine was the easy part, and everything after it was where the product actually gets made. Here is what…",
  "key_points": [
    "Single prompt generated 39 finished products",
    "Metadata mismatch caused initial 40 uploads rejection",
    "Scripts automate metadata and upload tracking"
  ],
  "editors_take": "Automating digital product creation requires custom scripting to overcome rigid platform requirements and prevent account flagging through disciplined metadata management and strict upload tracking.",
  "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."
}