Writing Stock Metadata CSVs That Pass Adobe's Five-Column Header Check First Time
Описание и применение
Автоматизированный процесс генерации CSV‑метаданных, строго соответствующих требованиям Adobe Stock, Vecteezy и Dreamstime, предотвращает ошибки заголовков и двойную публикацию, обеспечивая однократное принятие файлов.
Задача
A single incorrect CSV header caused a batch of 40 JPEGs to be rejected by Adobe Stock before review, wasting an entire afternoon.
Результат
The pipeline runs on a minimal 1 vCPU, 2 GB RAM server, processes metadata with pure Python, and achieves first‑try acceptance on Adobe, Vecteezy, and Dreamstime.
Рабочий процесс
- 1. Store raw images in assets/ folder.
- 2. Run make_metadata.py with platform flag to generate CSV with exact header and required columns.
- 3. Supply titles.json for human‑written titles and keywords per asset.
- 4. Use upload_tracker.py to check pending uploads, run upload, and mark done to avoid double‑posting.
- 5. Optionally run md2pdf.py and pack_product.py for packaging.
- 6. Verify CSV passes platform parser before upload.
Доказательства
I had written <code>Keywords</code> where Adobe wanted <code>keywords</code>, lowercase, and I had eight columns where Adobe's ingest expects exactly five.
Adobe Stock's CSV ingest is strict. The header row must be five columns: <code>Filename</code>, <code>Title</code>, <code>Keywords</code>, <code>Category</code>, <code>Releases</code>.
I built <code>upload_tracker.py</code> after doing exactly this once: a ledger that records what is done, so <code>pending</code> shows only what has not been posted, and a re‑run cannot double‑post.
- Дата записи: 2026-10-17T03:41:30.305Z