Polotno

PRINT ON DEMAND

Prodigi Print API + Polotno: the artwork layer for bring-your-own-art printing

Embed the Polotno design editor in your app so users create the artwork, then submit print orders through Prodigi's Print API for fine art and photo products.

Polotno + Prodigi pairs Polotno's embedded design editor SDK with Prodigi's Print API. Prodigi's model is explicitly bring-your-own-artwork — your users create that artwork inside your app with Polotno, your backend posts the order with an asset URL, and Prodigi prints and ships fine art, framed prints, canvas, and photo products worldwide.

The problem Prodigi doesn't solve

Prodigi is deliberate about its scope: a print and fulfillment API with a strong fine-art catalog — giclée prints, framing, canvas, metal, photo books — and no design tooling for your web app. Their own docs assume a developer wires the API and the artwork arrives ready-made.

That's clean architecture, but it moves the hard problem to you. "Bring your own artwork" means your product needs a way to make the artwork — sized to the SKU, at print resolution, positioned correctly for the print area. Without one:

  • Users upload arbitrary images and discover resolution problems after delivery, as returns
  • Personalization (text on prints, layouts, collages) is off the table entirely
  • Building an in-house editor becomes the plan — the project that looks finite at kickoff and compounds for years
  • Or the catalog stays limited to plain photo uploads while competitors ship customization

Polotno is the artwork layer Prodigi intentionally leaves to you: an embedded editor that produces assets at exactly the dimensions each SKU expects.

How the integration works

  • Design — User opens a template in the embedded Polotno editor, canvas sized to the Prodigi SKU's asset spec.
  • Edit — User composes the piece: photos, text, layouts, collages — inside the constraints your product defines.
  • Export — Your app exports a print-resolution PNG or PDF from the design JSON and hosts it at a URL Prodigi can fetch.
  • Order — Your backend creates the order on Prodigi's Print API, referencing the SKU, quantity, shipping address, and asset URL per print area.
  • Fulfill — Prodigi prints and ships from its global lab network. Order status flows back via webhooks or polling.

Polotno owns creation. Prodigi owns production and logistics. Your backend is the thin layer between them.

What a request looks like

js
// 1. Client-side: export print-resolution artwork.
//    Prodigi lists required pixel dimensions per SKU — export the
//    canvas at that size.
const imageDataUrl = await store.toDataURL({
  pixelRatio: assetWidth / store.width,
  mimeType: "image/png",
})
const assetUrl = await uploadToYourStorage(imageDataUrl)

// 2. Backend: create the order on Prodigi's Print API.
await fetch("https://api.prodigi.com/v4.0/Orders", {
  method: "POST",
  headers: {
    "X-API-Key": PRODIGI_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    shippingMethod: "Standard",
    recipient: {
      name: customer.name,
      address: {
        line1: shipping.address1,
        postalOrZipCode: shipping.zip,
        countryCode: shipping.country,
        townOrCity: shipping.city,
      },
    },
    items: [
      {
        sku: "GLOBAL-FAP-16X24", // e.g. fine art print, 16 × 24"
        copies: 1,
        sizing: "fillPrintArea",
        assets: [{ printArea: "default", url: assetUrl }],
      },
    ],
  }),
})
// 3. Prodigi prints at the nearest lab, ships, and reports status.

What Polotno handles vs. what Prodigi handles

Polotno (in your app)

  • Embedded editor UI — photos, text, layouts, multi-element compositions
  • Canvases sized per SKU asset spec, DPI-safe by construction
  • Templates, brand locking, variable data
  • Print-resolution PNG/PDF export from open design JSON
  • Client, self-hosted, or cloud rendering depending on throughput

Prodigi (backend)

  • Fine art and photo product catalog — prints, framing, canvas, metal, acrylic
  • Global lab network with local production
  • Printing, framing, packaging, shipping
  • Order status via webhooks and API

Technical details

  • Export format: PNG at the SKU's required pixel dimensions via store.toDataURL, or PDF where the product calls for it; server-side export via polotno-node for batches.
  • Sizing: Export at the exact print-area dimensions and use sizing: "fillPrintArea" so what the user composed is what prints — no surprise crops.
  • Resolution safety: Polotno's image-resolution checks flag low-DPI uploads in the editor, before the order — not after delivery.
  • Variable data: Generate personalized prints in batch from one template — see dynamic template variables.
  • Handoff to Prodigi: POST the order (sku, assets, recipient) to /v4.0/Orders, then track status.

What you can build

Any Prodigi SKU that takes flat artwork:

  • Fine art — giclée prints, framed prints, mounted prints
  • Photo products — canvas, metal, acrylic, photo books
  • Home — cushions, blankets, mugs
  • Personalized gifts — text-on-print, collages, star maps, name art

FAQ

Do I need a Prodigi account?

Yes. Prodigi handles the catalog, production, and shipping; the API key comes from their dashboard. Their sandbox environment works for development.

What does Prodigi expect from the artwork?

A URL to a print-resolution asset per print area, at the SKU's listed dimensions. Polotno exports exactly that from the design JSON.

Can users personalize prints, not just upload photos?

Yes — that's the reason to pair the two. Text, layouts, multi-photo compositions, templates with locked branding: all standard Polotno editor capability.

How do I avoid low-resolution orders?

Validate in the editor. Polotno exposes image resolution per element, so you can block export (or warn) when an upload can't hold the SKU's DPI.

Is this self-serve yet?

Not during the closed beta.

Closed beta

The Polotno + Prodigi integration has been in closed beta since April 2026. If you're building on Prodigi's Print API and need the artwork-creation layer in front of it, request access — or start integrating Polotno first.

Skip the build, cut dev costs, launch faster

TRUSTED BY

100,000+

CREATORS

300+

BUSINESSES

ExpediaUnbounceLovePopPostGridPredis.ai