Kit Mockup PSD Templates.
How to set up a Photoshop file so it syncs cleanly into PerkUp's mockup editor. Get the layer names right and the upload succeeds; get them wrong and the importer hands back a list of exactly what to fix.
The five rules
- One PSD per product. Every color variant and every view (front, back, sleeve) lives in the same file as separate layers.
- The PSD does not need to be 300 DPI. 72 DPI is usually right. What matters is that each print area's physical inches are correct.
- Layer names are the contract. The importer reads
color:white,front:background:white,front:printarea:dtf,front:bleed:dtf. Names are case-insensitive; underscores become spaces (chili_red→ "Chili Red"). - Every color needs a
color:swatch with a solid fill. Every view needs a:background:per color; every printable view needs a:printarea:. - Folders don't matter. Organize visually however you like — only layer names are read.
DPI is a scale factor, not a quality setting
Print files are rendered at 300 DPI by our system after upload. The PSD only needs to encode the correct physical inches of each print area — pixel count is secondary. The math:
pixels = physical_inches × file_DPI
A 13" × 16" hoodie front at 72 DPI is just 936 × 1,152 px — small, fast, and identical accuracy to a 300-DPI file. We read the actual DPI from the PSD binary, convert each print area to inches, then render artwork at physical_inches × 300 DPI. Low PSD DPI does not degrade print quality — customers print their own vector/raster artwork, and raster uploads are checked at ≥300 DPI in the editor.
| Setting | What it should be |
|---|---|
| Canvas DPI | 72 DPI default; up to ~100 DPI is fine |
| Color mode | RGB (8-bit) — not CMYK |
| File format | .psd — .psb is not supported |
| File size | Under ~100 MB (lower DPI if bigger) |
Layer naming convention
Every layer that drives a mockup uses colon-separated names, lowercase, with underscores converting to spaces at display time.
| Pattern | Purpose | Example |
|---|---|---|
color:<name> | Color variant — must have a solid fill | color:chili_red |
<view>:background:<color> | Product photo per view + color | front:background:white |
<view>:printarea:<technique> | Where the customer's artwork goes | front:printarea:dtf |
<view>:printarea | Shorthand for printarea:dtf | front:printarea |
<view>:bleed:<technique> | Optional bleed region (needs matching print area) | front:bleed:dtf |
Views can be anything (front, back, left_sleeve, inside_collar). Techniques are a fixed list — anything else is ignored with a warning:
dtg · embroidery · embroidery_full_color · dtf · uv · uv_360 sublimation · digital · cut_and_sew · screen_printing laser_engraving · trucolor
Minimal valid PSD
A two-color t-shirt with front and back DTF print areas — 8 layers total:
📁 Colors color:white color:black 📁 Front front:background:white front:background:black front:printarea:dtf 📁 Back back:background:white back:background:black back:printarea:dtf
Adding a technique means one more printarea layer; adding a color means one color: swatch plus a :background: layer for every view.
docs/mockup-templates/psd-spec.md in the monorepo. The importer is in functions/src/catalogs/imgly/psd/; the technique enum is the source of truth in proto/canvas/imgly.proto → PrintTechnique.Source: docs/mockup-templates/psd-spec.md (PerkUp monorepo). Enforced by functions/src/catalogs/imgly/psd/. Last verified 2026-06-07.