From Filenames to Ranked Keywords: Casing and Title Rules in a Stdlib-Only Metadata Script
Описание и применение
Скрипт генерирует CSV‑файлы с точными заголовками и нормализует названия и ключевые слова, устраняя ошибки загрузки и отклонения со стороны платформ, и работает на минимальном оборудовании.
Задача
Uploading image assets to stock platforms fails when CSV headers or metadata are incorrect, causing wasted rendering time and rejection.
Результат
The workflow eliminates header‑related upload failures, reduces keyword rejection rates to near zero, and runs on a 1 vCPU, 2 GB RAM server without external dependencies.
Рабочий процесс
- Generate asset filenames programmatically
- Run make_metadata.py to create CSV with platform‑specific headers
- Optionally provide titles.json to override filename titles and keywords
- Ensure titles are title‑cased and keywords are lowercase, ordered by relevance
- Use upload_tracker.py to record submitted assets and avoid duplicates
- Submit CSV to stock platform
- Review any rejection notes and adjust titles.json if needed
Доказательства
I once submitted a batch of 40 vectors to Adobe Stock and watched 11 of them bounce for the same dumb reason: my CSV had a header column in the wrong position.
The script writes the header row the platform demands and nothing else. No extra columns, no reordered fields, no BOM surprises from whatever editor touched the file last.
Adobe allows up to 49 keywords per asset, but the first ten carry the most weight in their relevance ranking.
The rule I follow: first keyword matches the title, next nine are the strongest literal descriptors, everything after that is style and use case.
The whole pipeline ran on a 1 vCPU, 2 GB RAM server with no GPU. Pandas alone would have eaten a chunk of that 2 GB for a job that is fundamentally reading and writing text rows.
- Дата записи: 2026-10-16T16:41:22.427Z