берешь "картинку-основу" - фотка белой футболки.
цепляешь это изображение (оно одно. нет тут "тысячи однотипных картинок") хоть руками, хоть импортом/экспортом, хоть прямо через базу к товарам.
в опциях товарам задаешь "картинку-нанесение" (тип - изображение) - какую надо какому товару. можно несколько (в этом суть совета из сообщения #2).
на фронте при выборе опции ("картинки-нанесения") с помощью JS накладываешь "картинку-нанесение" на "картинку-основу" (ну, разработчик тебе сделает такой javascript).
профит.
- - -
если внутри одной категории "картинка-основа" будет одинаковая у всех товаров - можно не привязывать основное изображение всем товарам, а в коде проверять категорию и подставлять связанную "картинку-основу" непосредственно перед выводом товара.
- - -
в категориях (и прочих местах массовых скоплений товаров) могут быть нюансы (например - у всех товаров одинаковое фото).
= = =
если НЕ ТО - объясни подробнее с примерами на РЕАЛЬНЫХ товарах, которыми планируешь торговать.