Имена файлов фото товаров: схема, которая масштабируется
Схема из трёх полей для имён фото товаров: SKU, код ракурса, фон. Что делает каталог удобным для поиска и скриптов — и какие символы всё ломают.
- product photography
- file naming
- ecommerce
- catalogue management
- workflow
- background removal
- bulk processing

Кто-то просит вид сзади для TS-4410 на белом фоне. Вы открываете общий диск и находите там IMG_4471 copy 2 final.png, IMG_4471 copy 2 final (1).png и папку с названием NEW EDITS USE THESE. Через десять минут вы всё ещё открываете превью одно за другим.
Соглашение об именах файлов — самое дешёвое улучшение в работе с каталогом: полдня на договорённости, никакого нового софта, и оно переживёт того, кто снимал эти фотографии. Вот схема, которая держится на нескольких тысячах файлов.
Ставьте SKU первым, всегда
Имена файлов сортируются по алфавиту, поэтому первое поле — это ось, по которой организована ваша папка. Пусть ею будет идентификатор, который никогда не меняется: SKU ровно в том виде, в каком он стоит в товарном фиде. Тогда все изображения одного товара лежат вместе, кто бы их ни сохранял.

Дата в начале (2026-07-14_shoot_final) группирует файлы по дню съёмки — по единственной оси, по которой никто не ищет.
Трёх полей достаточно:
TS-4410— SKU, дословно из фидаMAIN— на что смотрит камераwhite— что находится за объектом
Вместе: TS-4410_MAIN_white.png. Любой, кто читает такой список, понимает, что это, не открывая файл, а скрипт разбирает имя по подчёркиванию.
Договоритесь о кодах ракурсов до того, как кто-то начнёт снимать
Второе поле работает только при фиксированном, записанном словаре. Придумайте коды один раз и никогда не импровизируйте: MAIN для главного кадра, от PT01 до PT08 для дополнительных видов в заданном порядке, ALT-back, DETAIL-clasp, SCALE.
Дополняйте числа нулём — PT01, а не PT1. Проводник Windows и Finder сортируют числа естественным образом, как числа, но списки в командной строке, скрипты и ключи объектного хранилища сортируют имена как обычный текст, поэтому PT11 оказывается между PT1 и PT2, а не после них.
Собственное правило Amazon об именах файлов изображений живёт в справке Seller Central, за логином продавца, и разделители там могут отличаться от здешних. Проверьте актуальный синтаксис в своём аккаунте, прежде чем переименовывать тысячи файлов, а саму идею — сначала идентификатор, потом код ракурса — держите в каждом канале продаж (требования Amazon к фото товара).
Называйте фон, а не только товар
Одна фотография превращается в несколько готовых файлов: простой белый для маркетплейса, фирменный цвет для баннера, прозрачный для презентации, падающая тень для плитки категории. Если имя не говорит, где что, вы отгрузите не тот файл.

Для третьего поля используйте короткий закрытый список: raw для нетронутого файла с камеры, white, brand, cut для прозрачного, shadow и life для лайфстайл-фона. Когда вы заменяете фон в remover.bg — сплошным цветом, своим цветом или собственной фотографией, — знайте заранее, какой суффикс получит этот результат, и переименовывайте скачанный файл сразу же.
Расширение тоже несёт информацию. Прозрачный результат обязан быть PNG или WebP; файл _cut, сохранённый в JPEG, — это баг, а не вариант (как устроены прозрачные PNG). Белые файлы для маркетплейсов обычно JPEG, изображения для сайта всё чаще WebP.
Символы, которые тихо всё ломают
- Никаких пробелов. В URL они превращаются в
%20, ломают shell-скрипты без кавычек и молча переписываются формами загрузки. - Только ASCII.
#и?завершают путь в URL, а&разделяет параметры запроса, поэтому любой из них в имени файла может обрезать или расщепить ссылку. Буквы с диакритикой и другие символы вне ASCII не входят в разрешённый набор символов URI и превращаются в нечитаемую процентную кодировку. Скобки в пути допустимы, но всё равно ломают markdown-ссылки и команды оболочки без кавычек. - Один фиксированный регистр. Windows и macOS по умолчанию не различают регистр букв, поэтому
TS-4410иts-4410сталкиваются; серверы на Linux и объектные хранилища сохранят два разных файла. Закрепите один регистр. - Один разделитель на уровень. Подчёркивание между полями, дефис внутри поля.
- Никаких слов о статусе.
final,FINAL2,new,use-thisуже через неделю становятся ложью. Версионируйте заменой файла, а не переименованием.
Держите оригинал с камеры и вырезку отдельно
Никогда не перезаписывайте исходник. TS-4410_MAIN_raw.jpg и TS-4410_MAIN_white.jpg лежат бок о бок, поэтому, когда фирменный цвет изменится, вы вырежете заново из оригинала, а не будете спасать сведённый экспорт.
Загрузка ограничена 25 MB, а крупный файл с камеры может это превысить. Сначала уменьшите его в своём фоторедакторе — эта уменьшенная копия и есть третий артефакт, так что дайте ей имя (TS-4410_MAIN_upload.jpg).
Именование — это то, что делает возможной пакетную обработку
Пакетная обработка идёт через HTTP API, поэтому каждый файл адресуется по имени. Детерминированные имена дают детерминированную задачу: скрипт читает TS-4410_MAIN_raw.jpg, пишет TS-4410_MAIN_cut.png и безопасно перезапускается: путь на выходе — чистая функция от входа.

Сравните ожидаемые имена результатов с тем, что реально пришло, и недостающее назовёт вам тот SKU, который не прошёл. Сторону запроса разбирает гид API для удаления фона.
Карточка правил
Повесьте это на общий диск:
SKU_VIEW_BACKGROUND.ext, именно в таком порядке.- SKU скопирован из фида, символ в символ.
- Ракурс — из согласованного списка. Числа дополнены нулём.
- Фон — из согласованного списка. Расширение ему соответствует.
- Один фиксированный регистр, только ASCII, без пробелов, без дат, без слов о статусе.
- Оригиналы хранятся как
_rawи никогда не перезаписываются.
Переименуйте последнюю сотню файлов руками на этой неделе. Всё, что появится дальше, достанется вам бесплатно.


