POST /v1/render request. There is no CSS to write and no HTML to maintain — you describe the document you want and the API handles the rest. This page covers the core document-level options: the required markdown field, the title alias, the metadata object for PDF properties, the page object that controls page size, orientation, margins, and optional sheet background, and the viewer object for language and viewer hints.
The fields below are validated against the live API schema. The API Reference → Render endpoint is generated directly from the server’s OpenAPI contract and is always the authoritative source for every field and constraint.
The markdown Field
The markdown field is the only required field in every request. It contains the full Markdown source for your document. Blink PDF renders it into a professional PDF in approximately 100 ms.
string
required
The Markdown source of the document to render. Supports standard CommonMark syntax including headings, lists, tables, code blocks, and inline formatting. This is the only required field in the request body.
The title Field
title is a top-level convenience alias for metadata.title. When you set only the document title, title is shorter than nesting it under metadata.
string
Convenience alias for
metadata.title. When both title and metadata.title are present, metadata.title wins. When neither is set, the title defaults to the first Markdown heading.The theme Field
string
default:"report-clean"
A curated design preset — one of 15 slugs — resolved to a bundle of typography, page, furniture, numbering, and rules, then merged under your own settings (your values win per field). Omitting the field applies
report-clean (the plain engine default). See Themes for the full catalog.The metadata Object
The metadata object sets the document properties that are embedded inside the PDF file itself. These properties appear in PDF viewers under “Document Properties” and are indexed by search engines and document management systems. They also form the basis of Blink PDF’s PDF/UA-1 accessible output.
object
An optional object containing PDF document metadata. None of the nested fields are individually required.
The page Object
The page object controls how the page itself is sized, oriented, padded, and optionally tinted. These settings apply to every page in the rendered document.
object
An optional object containing page geometry and appearance settings.
The viewer Object
The viewer object sets PDF viewer hints — the document language plus how a viewer should open and present the file. These are stored in the PDF and honored by conforming readers.
object
Optional PDF viewer hints.
The imageSequence Field
Lay out a set of staged assets as pages — one image per page or a contact-sheet grid — without hand-writing Markdown. The sequence renders after the Markdown body; with an empty markdown, the document is the sequence alone. Ideal for scanned documents and photo batches.
object
The imageOverrides Field
Target specific images with presentation overrides, without a rules selector.
object[]
An array of
{ "match", "style" } entries. match is either { "index": 0 } (0-based; block images first, then inline) or { "url": "…" } (the exact Markdown image URL). style merges over styles.image for matching images only — sizePct ⊕ sizePt, align, border, borderRadius, shadow, opacity, verticalAlign, inlineSize, height, fit, mask, pin, bleed, wrap. See Styling Rules for the image style vocabulary.The pinRemoteImages Field
Make repeat renders of the same request deterministic. By default every remote http(s):// image is fetched fresh on each render, so a document can change if the origin changes.
boolean
default:"false"
When
true, each remote image is fetched once and its bytes are reused on later renders of the same request — repeated renders produce a byte-identical PDF even if the origin changes, and skip the re-fetch. Reuse lasts up to 24 hours per image, after which it is fetched again. Pinned bytes are scoped to your API key, content-addressed, and hash-verified. Applies to POST /v1/render only — the validate path never pins. See Zero-retention for how this interacts with data handling.The glyphFallback Field
string
A document-level, last-resort font family applied per glyph: only codepoints your primary fonts miss route to it. Replaces the automatic
inter fallback, and the chosen family is reported in the X-Render-Font-Fallback response header. See Fonts & Typography.Example: Tinted page background
The following request paints a light gray sheet behind every page. Body text and margins behave as usual; only the media-box fill changes.Complete request example
The following example renders a two-section report with full metadata and a custom Letter-size landscape layout with generous margins.The API returns the rendered PDF as a binary stream with
Content-Type: application/pdf. Write the response body directly to a .pdf file — do not attempt to parse it as JSON.