Print API

A web-to-print API that returns press-ready PDF/X

The web-to-print API is a library you run yourself: send a template reference and a data payload, get back PDF/X-4 with CMYK, named spot colors, and bleed. The same engine powers our editor, so you can render from code, embed editing, or do both.

  • Headless rendering in Node.js
  • PDF/X-4 output with CMYK and spot colors
  • Batch and variable data at server scale
Web-to-print API output: a print design with its bleed margin and trim area marked, exported as a press-ready PDF

One web-to-print API, two ways to call it

From your own code, or through an editor your customers use. Same templates, same output.

Template in, PDF out

A render call takes a template reference and a data payload and returns the production file.

Batch at your scale

One record or a hundred thousand, from the same template and the same call. The variable data printing page covers high-volume runs in depth.

The file your prepress expects, straight from the render, with no operator fixing color or geometry first. Full output specification further down this page.

Trusted by 100+ product teams

Digitas
Omneky
The Print Bar
Brandwatch
Planoly
HP
Shopify
Reuters
Hootsuite
Semrush
Shutterfly
one.com
Sprout Social
Constant Contact
Spread Group

Where it fits in your stack

One layer in a longer pipeline. Everything either side of it stays yours.

Step 01

A design is created

Customers personalize a template in the web-to-print design tool, drop artwork they already have into its placeholders, or your own designers author the master.

Step 02

An order is confirmed

Your storefront, catalog, pricing, checkout, and order management stay exactly where they are. Rendering begins once an order exists, with a template reference and the data that personalizes it.

Step 03

The engine renders the file

A library inside your own Node.js services, not a hosted endpoint you call out to, so design data never leaves your infrastructure. It is the same engine that powers the editor, so what a customer approved and what the press receives cannot drift apart.

Step 04

Prepress receives it

Files arrive by whatever path your production workflow already consumes: a hot folder, a bucket, or a direct push from your own code. Imposition, ganging, and printer marks stay with prepress, and the file is built to hand over cleanly.

What teams build on it

The pattern is always template plus data. Sometimes a customer supplies that data, sometimes a system does. For SaaS platforms it becomes shared printing infrastructure: one set of templates, every tenant, rendering that scales with your own servers.

Customer-facing print products

A catalog of templates your customers browse, pick, and personalize, built from your own template set and asset libraries. The render behind it is the same call your batch jobs make.

Variable data campaigns

Bind a template to a database or CSV and render one press-ready file per record: direct mail, badges, serialized labels, regional versions. The variable data printing page covers the template mechanics.

Catalogs, proofs, and collateral

Personalized catalogs from a PIM, on-demand proofs for approval flows, sales collateral from templates marketing controls. Rendering is a call, not a design task, so when the data changes the next render reflects it.

What the engine gives you either way

These come from the engine itself, whichever way you call it.

For your users

The output specification, stated plainly

Most rendering APIs describe their output in adjectives. Here is ours in properties.

Color

CMYK values and named spot colors are preserved end-to-end for vector and text elements; raster images export as RGB. Conversion targets fogra39, gracol, sRGB, or your own ICC profile.

Page geometry

Bleed and a defined trim box come from the scene’s print geometry, and cutout paths export as CutContour spot colors for die-cut work.

Transparency and vectors

Live transparency and vector text reach the file intact rather than flattened to pixels, which is what most modern RIPs prefer. Flattening is configurable where a workflow requires it.

Output format

Exports are PDF/X-4 by default, with PDF/X-3 also supported, fonts embedded. Resolution is configurable per export.

Check the file, don’t take our word for it

The print-ready PDF demo exports the real file, from the same engine this page describes. Open it in a PDF viewer and hold it against your own prepress profile.

Open the export demo

Scaling and deployment

A Node.js dependency, not a hosted service, so it scales like the rest of your backend.

  • Your queue, your concurrency

    Renders run in worker processes behind the queue you already operate, sized to your own instances.

  • Burst on your terms

    Campaign spikes scale with infrastructure you control, not a vendor's rate limits or a per-render round trip.

  • Data stays where you are

    Designs and uploads render where your code runs, keeping regulated workloads inside your compliance boundary.

From npm install to a rendered PDF

The engine is a package, so the first render is an install and an import away.

Step 1: Install the creative engine
npm install @cesdk/node
Step 2: Import and initialize
import CreativeEngine from '@cesdk/node';
Get started

Render your first press-ready file

The Node.js quickstart takes the engine from npm install to a rendered PDF, and our team can talk through volume, deployment, and licensing.

Frequently Asked Questions

A web-to-print API generates press-ready print files programmatically: send a template reference and a data payload, receive a production PDF. CE.SDK provides this through its headless mode, where the CreativeEngine runs server-side in Node.js without a browser or visible editor involved.

A library. The engine installs from npm as @cesdk/node and runs inside your own Node.js services, so there is no hosted rendering endpoint to call and no request leaving your infrastructure. If you want a REST interface, you wrap the engine in one of your own, which also means the URL, auth, and rate limits are yours to define.

Yes. CreativeEngine renders identically in the browser editor and in headless Node.js, because it is the same engine. A design previewed by a customer and the production file rendered on order confirmation cannot drift apart, and templates need building only once for both paths.

PDF/X-4 by default, with PDF/X-3 also supported, carrying bleed and a defined trim box, with fonts embedded. CMYK values and named spot colors are preserved end-to-end for vector and text elements; raster images export as RGB. Resolution is configurable per export.

Yes. Export targets fogra39, gracol, or sRGB, or a custom ICC profile you supply, and profile embedding can be disabled if your workflow supplies its own. For PDF/X-3 output, transparency flattening is configurable too.

PDF/X-4 if your workflow accepts it, because it preserves live transparency and vector text rather than flattening them, which is what most modern RIPs prefer. PDF/X-3 remains available for older prepress workflows that require it. Confirm which your printer accepts before standardizing on one.

No. The engine emits bleed, a defined trim box, and cutout paths as CutContour spot colors for die-cut work, but it does not generate printer marks. Crop and registration marks come from your imposition or prepress step, which is where most production workflows add them anyway.

Not on the server. Design validation ships as an adaptable starter kit for the browser editor, not as a step inside the render call, and the headless print export performs no pre-export checks. In the editor it flags images below their resolution floor, elements protruding from the page, and text obstructed by other blocks, so problems surface while a customer can still fix them. For batch runs, validate before you enqueue, and keep production preflight in your prepress tooling.

On your infrastructure. The headless engine runs in your Node.js environment, so scaling, queueing, and data residency stay under your control. There is no IMG.LY-hosted rendering service in the loop, which also matters for workloads whose data cannot transit third-party servers.

That is the common shape. The engine runs inside your own cloud services rather than ours, so print rendering scales with infrastructure you already operate and every tenant draws on one shared template set. Because there is no per-render call out to a vendor, cost per file tracks your own compute rather than someone else's price list.

Rendering is a function call in your own processes, so throughput is a function of the workers and instances you give it rather than a vendor quota. Teams typically run renders in worker processes behind an existing queue and size concurrency to their hardware. Because there is no per-render round trip, marginal cost per file approaches your compute cost.

Templates are authored once, either in the editor or programmatically, then rendered any number of times. Existing print masters can be imported rather than rebuilt: InDesign (IDML), Photoshop (PSD), Illustrator (AI), and PowerPoint files are supported, server-side as well as in the browser.

By the platforms and components you license, on a monthly or yearly subscription, rather than per render or per seat. Headless server-side rendering is licensed alongside the platforms you deploy on. Talk to our team for a quote against your expected volume and deployment shape.