SudoMock
Mockups
DocsPricing
Request a demo
Get Started

Start rendering mockups in minutes

From PSD to product mockup in one API call.

Get Free API Key→Browse Templates
Public status pagePublished API pricingProduct mockup API500 one-time API credits

Site Navigation

SudoMock

Turn reusable PSD templates, artwork, and editable text into production-ready product images through REST API, no-code workflows, native storefront apps, or AI.

SudoMock is a registered DBA
1209 Mountain Rd Pl NE, Ste N
Albuquerque, NM 87110, USA

Product

  • Pricing
  • Dashboard
  • PSD Mockups
  • Changelog
  • Start Free

Developers

  • API Overview
  • MCP Server
  • Quick Start
  • Render API
  • Upload PSD
  • Authentication
  • Error Handling
  • PSD Preparation
  • Integrations

Mockups & Tools

  • All Mockups
  • Apparel Mockups
  • Drinkware Mockups
  • Wall Art Mockups
  • Home & Living
  • By Platform
  • Search Mockups
  • Background Remover
  • Free Tools

Resources

  • All Use Cases
  • T-Shirt Mockup Generator for Print on Demand
  • Tote Bag Mockup Generator for Sustainable Brands
  • Automate Mug at Scale with SudoMock
  • Blog
  • Roadmap
  • All Alternatives
  • vs Placeit
  • vs DynamicMockups
  • vs Adobe Photoshop API
  • vs Static Mockup Generators

Company

  • About
  • Contact
  • Brand Assets
  • System Status (opens in new tab)
  • Feature Requests (opens in new tab)
Blog

Latest Articles

View all →
  • 01Can You Use Mockups on Etsy? The Rule by Listing Type
  • 02Google Merchant Center Image Requirements: 500 x 500 From 2027 and Renders That Meet It
  • 03Shopify Product Image Size: 2048 px, the Real Limits and Files
  • 04Etsy Listing Photo Size: Etsy's Rules and Files That Meet Them

© 2026 SudoMock. All rights reserved.

PrivacyTermsRefundsCookies[email protected]
  1. Blog
  2. /
  3. Tutorial

Shopify Product Images at Scale: API Approach

To automate Shopify product images, upload each PSD mockup template to SudoMock once, then render every new design onto it by API and attach the image URLs with the Shopify Admin API. A product webhook or a Zapier flow triggers each render, and a short loop covers an existing catalog. Each render returns in under a second.

Published Nov 10, 2025·2 min read·Beck

Shopify webhook triggers POST /api/v1/renders; one design on a poster, T-shirt and mug, attached to the Shopify product

On this page

  • The Shopify Image Problem
  • Solution: API-Powered Pipeline
  • No-Code Alternative: Zapier
  • Batch Processing Existing Products
  • Next steps
  • Frequently asked questions
  • Sources

Running a Shopify store with hundreds of products? Learn how to automate product image generation using mockup APIs - creating professional visuals for your entire catalog in minutes.

from $0.002

Cost

Per render

API

Integration

Shopify + SudoMock

The Shopify Image Problem

Every Shopify product needs multiple high-quality images. For POD stores, that means mockups showing your designs on actual products. Manual creation doesn't scale.

  • Multiple angles: Front, back, detail shots per product
  • Color variants: Same design, different product colors
  • Size consistency: Shopify expects uniform image dimensions
  • Fast updates: New designs need images immediately

Solution: API-Powered Pipeline

1 Upload Your Templates

Create mockup templates for each product type in your store. Upload them to SudoMock once.

Upload template

curl -X POST "https://api.sudomock.com/api/v1/psd/upload" \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"psd_file_url": "https://storage.com/tshirt-front.psd",
"psd_name": "T-Shirt Front View"
}'
const response = await fetch('https://api.sudomock.com/api/v1/psd/upload', {
method: 'POST',
headers: {
'X-API-KEY': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"psd_file_url": "https://storage.com/tshirt-front.psd",
"psd_name": "T-Shirt Front View"
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.post(
"https://api.sudomock.com/api/v1/psd/upload",
headers={
"X-API-KEY": "YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"psd_file_url": "https://storage.com/tshirt-front.psd",
"psd_name": "T-Shirt Front View",
},
)
print(response.json())
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
payload := []byte(`{
"psd_file_url": "https://storage.com/tshirt-front.psd",
"psd_name": "T-Shirt Front View"
}`)
req, err := http.NewRequest("POST", "https://api.sudomock.com/api/v1/psd/upload", bytes.NewBuffer(payload))
if err != nil {
panic(err)
}
req.Header.Set("X-API-KEY", "YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
<?php
$payload = <<<'JSON'
{
"psd_file_url": "https://storage.com/tshirt-front.psd",
"psd_name": "T-Shirt Front View"
}
JSON;
$ch = curl_init('https://api.sudomock.com/api/v1/psd/upload');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-API-KEY: YOUR_API_KEY',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

2 Generate Mockups on Product Create

Use Shopify's product webhook to trigger mockup generation whenever you add a new product.

JavaScriptShopify product handler
// Express.js endpoint for Shopify webhook
app.post('/api/shopify/product-create', async (req, res) => {
const product = req.body;
// Get design URL from product metafield or description
const designUrl = product.metafields?.design_url;
if (!designUrl) {
return res.status(200).send('No design URL');
}
// Generate mockups for all templates
const templates = ['tshirt_front', 'tshirt_back', 'lifestyle'];
const mockupUrls = [];
for (const template of templates) {
const response = await fetch('https://api.sudomock.com/api/v1/renders', {
method: 'POST',
headers: {
'X-API-KEY': process.env.SUDOMOCK_API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
mockup_uuid: TEMPLATE_IDS[template],
smart_objects: [{
uuid: SO_IDS[template],
asset: { url: designUrl }
}],
export_options: {
image_format: 'webp',
image_size: 1024,
quality: 90
}
})
});
const result = await response.json();
mockupUrls.push(result.data.print_files[0].export_path);
}
// Add images to Shopify product
await addImagesToProduct(product.id, mockupUrls);
res.status(200).send('Mockups generated');
});

3 Attach Images to Shopify

Use Shopify's GraphQL Admin API (productUpdate with the media field, Shopify reference read 10 October 2026) to attach the generated mockups to your product.

JavaScriptAdd images to Shopify
async function shopifyGraphQL(query, variables) {
const response = await fetch(
'https://' + process.env.SHOPIFY_SHOP + '.myshopify.com/admin/api/2026-10/graphql.json',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Shopify-Access-Token': process.env.SHOPIFY_ACCESS_TOKEN
},
body: JSON.stringify({ query, variables })
}
);
return response.json();
}
async function addImagesToProduct(productId, imageUrls) {
return shopifyGraphQL(
'mutation AddMedia($product: ProductUpdateInput!, $media: [CreateMediaInput!]) {' +
' productUpdate(product: $product, media: $media) {' +
' product { id } userErrors { field message } } }',
{
product: { id: 'gid://shopify/Product/' + productId },
media: imageUrls.map((url) => ({ originalSource: url, mediaContentType: 'IMAGE' }))
}
);
}

Variant Images

For products with color variants, generate a mockup for each variant and use Shopify's variant image association to show the correct mockup when customers select different colors.

No-Code Alternative: Zapier

Not a developer? Use Zapier to connect Shopify and SudoMock without writing code.

  • Trigger: New Shopify Product
  • Action 1: Webhooks by Zapier → SudoMock API
  • Action 2: Shopify → Add Product Image

Batch Processing Existing Products

Have an existing catalog? Process all products at once:

JavaScriptBatch process catalog
const { data } = await shopifyGraphQL(
'{ products(first: 250) { nodes { legacyResourceId title media(first: 1) { nodes { id } } } } }'
);
for (const product of data.products.nodes) {
const designUrl = getDesignUrl(product);
if (product.media.nodes.length === 0 && designUrl) {
const mockups = await generateMockups(designUrl);
await addImagesToProduct(product.legacyResourceId, mockups);
console.log(`Generated images for: ${product.title}`);
// Respect rate limits
await sleep(500);
}
}

Plans start at $25/month. Subscriptions from $0.002 per render.

Next steps

Start with one product: upload a PSD template and render one design, which the quickstart covers in two requests. The Shopify API guide has a Node.js receiver for the products/create webhook and a per-variant text example.

If you have no PSD yet, the mockup templates for Shopify merchants are ready for your artwork. For the no-code route, Render mockups with Zapier walks through the Webhooks by Zapier action, and SudoMock also has an n8n node and a Make app. The Shopify mockups use case covers webhook-triggered renders and variant images, and How to Automate Etsy Product Mockups applies a similar workflow to Etsy.

Frequently asked questions

How do I automate product image generation for Shopify?

Use a mockup API to generate images, then Shopify's Admin API to upload them to products. Automation platforms like n8n or Zapier can orchestrate the workflow - triggering on new products and automatically attaching generated mockups.

Can I update existing Shopify product images via API?

Yes, Shopify's Admin API supports creating, updating, and deleting product images. You can replace existing images with new mockups or add additional variants - all programmatically without accessing the Shopify admin dashboard.

What image specifications does Shopify require?

Shopify accepts JPEG, PNG, GIF, and WebP formats up to 20MB. Recommended size is 2048x2048 pixels square for best quality. Configure your mockup API output to match these specs for optimal display.

How do I generate mockups for all Shopify product variants?

Fetch all variants via Shopify API, loop through each, call the mockup API with variant-specific designs (colors, sizes), then upload images back to corresponding variants. This can be fully automated with workflow tools.

Can I use Shopify's CDN for mockup storage?

Yes, when you upload images via Shopify's API, they're automatically stored on Shopify's CDN. This provides fast, reliable delivery without managing your own image hosting infrastructure.

Sources

  1. productUpdate - GraphQL Admin (opens in new tab), Shopify Dev Docs
B

Beck

CTO

View all posts

On this page

  • The Shopify Image Problem
  • Solution: API-Powered Pipeline
  • No-Code Alternative: Zapier
  • Batch Processing Existing Products
  • Next steps
  • Frequently asked questions
  • Sources

Related articles

A shopper's round mushroom design next to its live preview on a white t-shirt, rendered from the store's own PSD mockup, with the hidden _sudomock_render_uuid order property
Tutorial

How to Add a Product Customizer to Shopify With a Live Preview

Five setup steps, a live preview rendered from your own mockup, and the two hidden properties that tie each order to the approved design.

Oct 3, 2026 · 6 min read

Sunset print rendered on white, sage and navy crewneck sweatshirts at 2048 by 2048 pixels, beside bars of the file size per format and Shopify's product image limits: 2048 px displays best, 5000 px or 25 megapixels, under 20 MB
Guide

Shopify Product Image Size: 2048 px, the Real Limits and Files

Shopify's image limits quoted page by page, the old 4472 px figure explained, and 2048 px renders measured by format.

Oct 9, 2026 · 8 min read

A plain canvas tote product photo turned into a mockup with POST /api/v1/photo-mockups, with mushroom, sunset and botanical designs rendered on the same bag
Tutorial

How to Make Your Own Mockup from Any Product Photo

One photo of your own product becomes a reusable mockup: the create call, the render call and real renders of four designs on a canvas tote.

Oct 2, 2026 · 7 min read

Explore by use case

See SudoMock in action for your specific product category

Automate Shopify Product Mockups at ScaleBulk Mockup Generation API for Enterprise ScalePrint on Demand Mockup Automation for POD SellersT-Shirt Mockup Generator API for Print on DemandHoodie Mockup Generator APIAutomate Mug Mockups at Scale with SudoMock API

Your own PSD, rendered via API

Render your own PSD through the API. Start with 500 one-time credits, no card.

Start Free View Docs

Render your own PSD via API with 500 one-time credits.

Start Free · 500 credits, no card