LiveHosted API

Automate InDesign IDML

And get PDF, SVG, PNG or JPEG.

POST an IDML file and get rendered output. Translate the text, swap in dynamic fields, or just convert at scale: no InDesign install or license.

  • No queue, no license
  • Per-element text overrides
  • 100 free credits / month
Read the guides & tutorials

Authentication & credits

Log in to get an IDML API key — it's issued automatically the first time you use one. Pass it as the Authorization header, with no Bearer prefix. Every account gets 100 free credits a month; 1 credit = 1 rendered page. Check your balance any time on the account page.

The request

One multipart/form-data POST. The document goes in the idml field, every asset it links to goes in a repeated assets field, and the output options ride along as query parameters.

Form fields

FieldReq.What to send
idmlYesThe .idml file (exactly one).
assetsNo Every linked image and font the document uses. Append the field once per file. Assets are matched to the document by filename, so name each part after the file the IDML links (hero.jpg, HelveticaNeue.otf); any folder path is ignored. Non-web images (AI, EPS, PDF, PSD) are rasterized on the server. Anything you leave out renders as a placeholder.

Options

Pass these on the query string (or as extra form fields).

ParamDefaultDescription
formatpngpng · jpeg · pdf · svg
pagesallall, or a 1-based list like 1,3,5.
textOverrides JSON {"<pageIndex>:<elementId>": "value"} map — replace specific text elements for translation or dynamic fields. A text frame's InDesign size is the max bound for whatever you put in it (shrinks/wraps, never grows) and one frame doesn't always mean one key — see text frames & best practices. Mixed-formatting elements need an array instead of a string — see the rich-text format.
enginepuppeteerpuppeteer (full fidelity) or resvg (faster PNG/JPEG). PDF always uses puppeteer.
dpi300Output resolution for raster and PDF.
quality95JPEG quality, 1–100.
vectorizeTexttrueSVG only. true outlines text to paths; false keeps live <text> and embeds fonts as data URLs.
width / heightpage sizeOverride the rendered size, in px.

The response

  • One page → the raw file, with the matching Content-Type (image/png, image/jpeg, image/svg+xml or application/pdf).
  • Multiple pages, PDF → a single merged, multi-page PDF.
  • Multiple pages, PNG/JPEG/SVG → a application/zip with one file per page.
  • Errors → a non-2xx status with a plain-text message in the body.
Guides

See it used end to end

Step-by-step tutorials for translating and automating InDesign files — and the artwork you already build in Figma, Photoshop, Canva or Illustrator.

Browse the guides

Questions about the API? Email us.