Polotno + Scalable Press pairs Polotno's embedded design editor SDK with Scalable Press's developer APIs . Your users design on a wholesale catalog, your backend quotes and places the order, and Scalable Press prints and drop-ships.
Try it below. Design the shirt, then press Send to Scalable Press: the editor exports each side at the print size, and Scalable Press's mockup API returns the shirt in the colour you picked, on a model. Nothing is ordered.
The full code, editor and server, is on GitHub: polotno-scalable-press-demo. It runs on Polotno SDK, so it needs a Polotno API key. To compare it with the other print APIs, see the print on demand API comparison.
The problem Scalable Press doesn't solve
Scalable Press gives partners a serious wholesale stack: thousands of products, live pricing quotes, and a quote-before-order flow. But dropshippers and print brokers integrating that stack into client apps get catalog and fulfillment, not design UX. Their customers still need a place to actually compose artwork.
Brokers building on Scalable Press without a design layer usually:
- Ask end customers to upload completed artwork
- Build simple logo-placement tools and lose multi-placement work
- Skip apparel variants because per-garment setup is manual
Polotno goes in front of Scalable Press so brokers can ship end-to-end brand-builder apps on top of the wholesale catalog.
How to quote and order with the Scalable Press API
- Design: User picks a Scalable Press garment SKU. Polotno loads the canvas with print-zone overlays and placement guides.
- Edit: User composes artwork across placements (front, back, left, right, pocket).
- Export: Your app exports 300dpi PNG per placement via store.toDataURL .
- Quote: Your backend calls Scalable Press's Quote API with SKU, quantity, and placements to get live pricing before charging the customer.
- Order: Your backend POSTs the order to Scalable Press with artwork URLs and shipping.
- Fulfill: Scalable Press prints and drop-ships.
What a request looks like
// 1. Export per-placement artwork.
const frontPng = await frontStore.toDataURL({ pixelRatio: 4, mimeType: "image/png" })
const frontUrl = await uploadToYourStorage(frontPng)
// 2. Quote first, then order. Basic auth: an empty username and your API
// key as the password. See https://scalablepress.com/docs/
const auth = `Basic ${btoa(":" + SP_API_KEY)}`
const quote = await fetch("https://api.scalablepress.com/v2/quote", {
method: "POST",
headers: { Authorization: auth, "Content-Type": "application/json" },
body: JSON.stringify({
/* type, sides with the artwork (or a designId from POST /v2/design),
products, address */
}),
}).then((r) => r.json())
// 3. Place the order with the token from the quote.
await fetch("https://api.scalablepress.com/v2/order", {
method: "POST",
headers: { Authorization: auth, "Content-Type": "application/json" },
body: JSON.stringify({ orderToken: quote.orderToken }),
})What Polotno handles vs. what Scalable Press handles
Polotno (in your app)
- Garment + promo-product templates
- Multi-placement design canvas
- Embedded editor UI
- 300dpi PNG export per placement
- Brand locking for broker clients
Scalable Press (backend)
- Wholesale product catalog
- Live pricing via Quote API
- DTG, screen printing, and mug, case and poster printing
- Drop-ship fulfillment
- Order status webhooks
Technical details
- Export: 300dpi PNG per placement via store.toDataURL .
- Quote-before-order: Your backend calls the Quote API with placement and quantity data; Polotno has already validated the artwork spec before the quote goes out.
- Auth: Basic auth, with an empty username and your API key as the password. Test keys place orders that are never charged.
- Mockups: POST /v3/mockup renders previews for a small set of products.
- Rendering modes: Client, self-hosted, or cloud rendering .
What you can build
Any product in Scalable Press's catalog:
- Apparel (T-shirts, hoodies, long sleeves, tanks)
- Outerwear
- Bags and accessories
- Headwear
- Promotional products
FAQ
Do I need a Scalable Press account?
Yes, with API credentials. Their stack leans wholesale and enterprise.
Does Polotno support their quote-before-order flow?
Yes. Your backend calls the Quote API with placement and quantity data; Polotno has already validated the artwork spec before the quote goes out.
How many placements can I design per garment?
As many as the garment SKU allows. Polotno builds a canvas per placement.
Start building
The code for the demo above is on GitHub: polotno-scalable-press-demo. Clone it, add a Polotno API key (a trial key from your Polotno dashboard works) and your Scalable Press API key, and the editor-to-order flow runs locally.
