Polotno + Mixam pairs Polotno's embedded design editor SDK with Mixam's Public API . Your users design books, business cards, and marketing print inside your app, your backend submits the files to Mixam, and Mixam prints and ships across the UK, EU, and North America.
The problem Mixam doesn't solve
Mixam's Public API is well-documented — OpenAPI v3, approval-gated, JWT-authed — and covers every binding and marketing-print format you'd expect. But it takes finished files, not designs. Your integration needs a creation layer before the order call.
Teams building on Mixam without an editor usually:
- Ask users to upload completed PDFs from Word or InDesign
- Build minimal form-to-PDF tools that can't handle real layout
- Restrict the catalog to a few single-template products because building a real editor is expensive
Polotno goes in front of Mixam so users design directly in your app and your backend always submits files that match Mixam's binding and bleed specs — Peleman's case study shows the same pattern working in production.
How the integration works
- Design — User picks a Mixam product (perfect-bound book, double-sided flyer, etc.) and a template at that product's spec.
- Edit — User composes pages, flows text, drops images. The template enforces bleed, trim, and safe area.
- Export — Your app exports a print-ready PDF. For books and spec-strict products, use the @polotno/pdf-export package for PDF/X-1a + CMYK.
- Order — Your backend obtains a JWT and POSTs the order to Mixam's Public API with the file URL, product code, and shipping address.
- Fulfill — Mixam prints and ships. Your backend receives status updates via the API.
What a request looks like
// 1. Export print-ready PDF/X-1a.
import { jsonToPDF } from "@polotno/pdf-export"
await jsonToPDF(store.toJSON(), "./print.pdf", { pdfx1a: true })
const contentUrl = await uploadToYourStorage(pdfBlob)
// 2. Authenticate and POST the order to Mixam.
// See https://mixam.com/documentation/api for the full OpenAPI schema.
await fetch(MIXAM_ORDERS_ENDPOINT, {
method: "POST",
headers: {
Authorization: `Bearer ${MIXAM_JWT}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
/* product, file URL, quantity, shipping — per Mixam's OpenAPI spec */
}),
})
What Polotno handles vs. what Mixam handles
Polotno (in your app)
- Embedded editor UI with per-product templates
- Multi-page book layout with flowed text
- Bleed, trim, and safe-area enforcement per product
- PDF/X-1a + CMYK export with embedded fonts
- Client, self-hosted, or cloud rendering
Mixam (backend)
- Full product catalog with binding and finishing options
- Printing, binding, and finishing
- UK, EU, and North American fulfillment
- Order status and tracking via API
Technical details
- Export: PDF/X-1a + CMYK via @polotno/pdf-export , or PDF with bleed + crop marks client-side.
- Auth: JWT issued after Mixam approves your developer account.
- Approval: Mixam requires partner approval before activating API credentials.
- Rendering modes: Client, self-hosted , or Polotno Cloud Render API .
What you can build
Any Mixam-printable format:
- Books — hardcover, paperback, saddle-stitch
- Business cards
- Flyers and leaflets
- Brochures and booklets
- Packaging
- Stationery
FAQ
Do I need a Mixam account?
Yes — and you'll need to request API access through their developer portal to obtain JWT credentials.
What file format does Polotno export?
PDF/X-1a + CMYK via @polotno/pdf-export , or PDF with bleed + crop marks from client-side store.toPDFDataURL .
Can I use this for short-run marketing print?
Yes. Mixam handles short-run cards, flyers, and brochures well. Template specs (size, bleed, paper) are configured per product code.
Is this self-serve yet?
Not during the closed beta.
Closed beta
The Polotno + Mixam integration has been in closed beta since April 2026. If you're building on Mixam and need an in-app design editor, request access — or start integrating Polotno first.
