Synchronous images

Render one template row synchronously

A template plus ONE row of data becomes one PNG, returned directly. Nothing is stored: no job, no asset, no public URL.

templateId accepts id@version to pin a version, exactly as the job form does.

LIMITS: 20 s of wall clock (503, deadline_exceeded). It shares the synchronous lane's 4 calls in flight per account (429 rate_limited, Retry-After: 1), and a success counts one against the processing allowance — past it, paid from the balance (402 insufficient_credit when it cannot be). No Idempotency-Key: send it again.

USE THIS WHEN:

  • You want one image from one row of data, right now

DO NOT USE WHEN:

  • You have many rows → POST /api/v1/jobs {"op":"render_template", "items":[…]}
  • You want an asset id or a permanent URL → the job form
post/api/v1/images/render

Request

  • Base URL: https://api.imagestep.dev
  • URL: https://api.imagestep.dev/api/v1/images/render
  • Auth: API key in header Authorization

Request body

templateIdstring required

Template id, your own slug, or either with @version to pin one version

dataobject

The row: variable name → value. {{ name }} is filled HTML-escaped, {{{ name }}} raw, a.b reads nested data; a name the row does not carry renders as nothing.

Example request

{
  "templateId": "builtin-template-og-image"
}

Response

The PNG, at the template's width × height, with X-ImageStep-Duration-Ms

Changes

No recorded changes to this operation across all 1 revision of this API.