A Python tool for automatically creating Printify products from design files organized in folders.
- Folder-driven processing: Automatically scans folders for design files instead of CSV data
- Multi-product support: Configure different product types (t-shirts, sweatshirts, etc.)
- Batch processing: Create products for multiple cities at once
- Flexible file patterns: Support different naming conventions for design files
- Dry run mode: Preview what would be created without uploading
pip install -r requirements.txt-
Copy the example environment file:
cp .env.example .env
-
Edit
.envand add your Printify API credentials:PRINTIFY_ACCESS_TOKEN=your_printify_access_token_here PRINTIFY_SHOP_ID=your_shop_id_here -
Get your credentials from Printify API Settings
Edit product_config.json to define your product configurations. Each product type includes:
- Blueprint ID and print provider
- Variant configurations (colors, sizes, prices)
- File patterns for design files
- Image positioning and properties
python run_folder_uploader.py --list-configspython run_folder_uploader.py --product comfort_colors_1717
python run_folder_uploader.py --product lane_seven_LS14004python run_folder_uploader.py --product comfort_colors_1717 --city Atlantapython run_folder_uploader.py --product comfort_colors_1717 --dry-runpython run_folder_uploader.py --product comfort_colors_1717 --base-path /path/to/designs{
"product_configs": {
"your_product_key": {
"name": "Product Name",
"blueprint_id": 706,
"print_provider_id": 99,
"default_price": 3400,
"file_pattern": "{city_name}_{image_color}_Design.png",
"design_folder": "path/to/designs",
"title_template": "{city_name} Custom Product",
"variants": [
{
"id": 12345,
"color": "Navy",
"size": "M",
"price": 3400,
"image_color": "Ivory",
"image_properties": {
"x": 71,
"y": 10,
"height": 2,
"scale": 1.0,
"angle": 0
}
}
]
}
}
}Design files should follow the pattern specified in file_pattern:
designs/
├── Atlanta_Ivory_Design.png
├── Atlanta_Red_Design.png
├── Boston_Ivory_Design.png
├── Boston_Red_Design.png
└── ...
This is a discovery utility that helps you explore Printify's product catalog and find the specific IDs needed to configure new products in your store.
- Lists all available product types (blueprints) - t-shirts, hoodies, mugs, phone cases, etc.
- Shows print providers for each product type
- Reveals variant IDs - the specific combinations of color/size available for each product
When adding a new product type to your configuration, you need three key pieces of information:
- Blueprint ID - Identifies the product type (e.g., 706 = Comfort Colors t-shirt, 446 = Lane Seven sweatshirt)
- Print Provider ID - Identifies the manufacturer (e.g., 99 = specific print provider)
- Variant IDs - Identifies exact color/size combinations (e.g., 73201 = Navy/M, 78897 = Blue Spruce/M)
- ✅ Adding a new product type to your store (e.g., adding hoodies after you already have t-shirts)
- ✅ Finding available colors and sizes for a specific product
- ✅ Getting the exact IDs to copy into
product_config.json
python get_blueprint_info.pyThe tool will:
- Show you all available blueprints
- Let you select one to explore
- Display available print providers
- Show all variant IDs with their color/size combinations
- Save the information to
blueprint_info.jsonfor reference
- Run
get_blueprint_info.py - Find that Lane Seven sweatshirt = Blueprint 446
- Discover variant IDs like 62616 (Charcoal Heather/S) and 62625 (Oatmeal Heather/M)
- Copy those IDs into
product_config.jsonunder a new product configuration - Use the main uploader to create products with your new configuration
Note: This is a reference utility - you don't need it for day-to-day product creation, only when expanding your product catalog with new product types.
- Never commit API credentials: The
.envfile is excluded from Git - Use environment variables: Credentials are loaded from
.envfile - Example file provided: Copy
.env.exampleto.envfor setup
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License - see LICENSE file for details