API & integration

Programmatic creative generation via API

Put creative generation inside your product, CMS or internal tools with one render endpoint.
Start free

The problem

Manual creative can't keep up.

Teams building marketplaces, SaaS products or internal tools often need an image at a specific moment: a seller boosts a listing, a user publishes a post, a campaign fires. Building that in-house means running headless browsers, managing fonts and fighting differences between preview and output, work that stalls the actual feature.

Fields in your feed
  • template id
  • variable payload (JSON)
  • image URLs
  • API key
  • webhook URL
  • workspace storage target
Each field maps to a layer in your template.

How it works

From your data to finished creative.

Design a template in the visual editor, then call the render API with a JSON payload of variables. Bannervora renders the image, stores it in your workspace storage and returns a hosted URL. Repeat requests with the same variables return the existing image. For batch Runs, webhooks tell your system when a Run starts, completes or fails.

One render endpoint

POST a template id plus variables and get back a hosted image URL.

Cached repeats

The same template and variables return the existing image, with no second render or charge.

Webhooks

Run started, completed and failed events notify your system, so you don't poll.

Your storage

Renders can land in your own R2, S3 or GCS bucket (Growth and up).

Preview matches output

The API uses the same rendering engine as the editor, so output matches the preview.

Example setup

An API call instead of a render service

  1. 01

    Situation

    A product team needs on-brand images generated inside their app when users take an action.

  2. 02

    Setup

    A template designed in the editor, an API key, and a POST with the variables from their app, delivered to their own bucket.

  3. 03

    What changes

    The image URL comes back in the response, with no headless browsers or font pipeline to run.

An illustrative setup, not a customer case study.

FAQ

Questions teams ask first.

What does a render request look like?

A POST with your API key, a template id and a JSON object of variable values (text, image URLs). The response returns the rendered image URL.

Can renders go to our own storage bucket?

Yes. On Growth and up, each workspace can point at its own Cloudflare R2, AWS S3 or Google Cloud Storage bucket, so generated assets live in your infrastructure.

What happens if we send the same request twice?

If the template and variables haven't changed, the API returns the cached image instead of rendering or charging again.

Is the API output identical to the editor preview?

The editor and the API render the same template HTML in Chromium, so output matches what you see in the editor.

See it on your data

Bring a feed. Leave with variants.

Ship on-demand creative as a feature of your own product without building or operating a render service.

Other solutions