Send a design, get back a product mockup. T-shirts, hoodies, mugs and tote bags, in every color, with a bulk endpoint for up to 10 designs at once. Get a key right here, no signup.
100 mockups a day per key. The key is shown once, so copy it somewhere safe.
Send your design as a file with the product and color. The response is the mockup image.
curl https://mockupify.io/free-mockup-api/v1/mockup \
-H "Authorization: Bearer YOUR_API_KEY" \
-F design=@my-design.png \
-F product=unisex-softstyle-t-shirt \
-F color=Black \
-o mockup.png
Send up to 10 files in designs and a comma-separated list of colors (or all). You get a ZIP with every design in every color, up to 30 mockups per request.
curl https://mockupify.io/free-mockup-api/v1/mockup/bulk \
-H "Authorization: Bearer YOUR_API_KEY" \
-F designs=@summer.png -F designs=@ocean.png -F designs=@forest.png \
-F product=unisex-midweight-hoodie \
-F colors="Black,White,Army" \
-o mockups.zip
import requests
response = requests.post(
"https://mockupify.io/free-mockup-api/v1/mockup",
headers={"Authorization": "Bearer YOUR_API_KEY"},
files={"design": open("my-design.png", "rb")},
data={"product": "glossy-mug", "color": "White"},
)
response.raise_for_status()
open("mug-mockup.png", "wb").write(response.content)
const form = new FormData();
form.append("design", fileInput.files[0]);
form.append("product", "unisex-softstyle-t-shirt");
form.append("color", "Navy");
const response = await fetch("https://mockupify.io/free-mockup-api/v1/mockup", {
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY" },
body: form,
});
const mockup = await response.blob();
| Endpoint | Returns |
|---|---|
GET /free-mockup-api/v1/products | Every product slug with its colors, as JSON. No key needed. |
POST /free-mockup-api/v1/mockup | One mockup image (PNG, or JPG with format=jpg). |
POST /free-mockup-api/v1/mockup/bulk | A ZIP named design-product-color.png for each mockup. |
Send them as multipart/form-data, with the key in Authorization: Bearer <key> (or X-API-Key).
| Field | Default | Description |
|---|---|---|
design | required | The design file: PNG, JPG or WebP, up to 5 MB. Bulk uses designs, repeated up to 10 times. |
product | required | A product slug from the list below. |
color | first color | A color name, any case. Bulk uses colors: a comma-separated list or all. |
size | 100 | Design size in percent of the print area, 20 to 100. |
align | top for apparel, center otherwise | top or center. |
remove_white | false | true makes a white background transparent. |
view | 1 | Which photo to use when a color has several. |
format | png | png or jpg. |
X-RateLimit-Limit and X-RateLimit-Remaining headers.{"error": "..."} with status 400 (bad input), 401 (missing or unknown key), 404 (unknown product), 413 (file too large) or 429 (daily limit).| Product | product | Colors |
|---|---|---|
| All-Over Print Tote Bag | all-over-print-tote-bag |
Black, Red, Yellow |
| Baby Staple T-Shirt | baby-staple-t-shirt |
White, Pink, Black |
| Enamel Mug | enamel-mug |
White |
| Glossy Mug | glossy-mug |
White, Black |
| Travel Mug with a Handle | travel-mug-with-a-handle |
White |
| Unisex Midweight Hoodie | unisex-midweight-hoodie |
Grey Heather, White, Black, Classic Navy, Charcoal Heather, Army, Storm Blue |
| Unisex Softstyle T-Shirt | unisex-softstyle-t-shirt |
White, Sport Grey, Royal, Red, Navy, Dark Heather, Black |
| Women's Basic Softstyle T-Shirt | womens-basic-softstyle-t-shirt |
White, Black, RS Sport Grey, Navy, Red, Royal, Purple |
Want to try a design first? Use the free mockup generator in your browser.
Yes. No signup, no watermark, and 100 mockups a day per key.
No. The design is placed on the mockup in memory and the image is sent straight back. Nothing is stored.
Get a new one above. Keys are stored only as a hash, so we can't show an old one again.
The Mockupify Shopify app uses your own mockups, has no daily limit on paid plans, and creates the products in your store with images, variants and prices.
Mockupify puts every design on every product and color in one go, and creates the products in your Shopify store with images, variants and prices. Start on the free plan.