Create Image

bannerbear.create_image
ActionBusiness appsconnection required

Calls the Bannerbear API with the connection's credentials.

Render one image from a Bannerbear template, applying the given layer modifications.

Connection

Required
Yes — the node will not save without one
Auth type
Bearer token
Providers
Bannerbear
Secret shape
the V5 API key, or {"api_key": "…"}
Resolved by
config.connection_id, else node.connection_id

Configuration

10 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
template
The uid of the Bannerbear image template to render, from the template list.
stringYes——6EZ9nQX0lzpWwqAgzB
modifications
What to change on the template for this render: an object with an 'objects' array naming each layer and the text, image URL or colour to put in it, and an optional 'template' object overriding width, height or transparency. Leave it empty to render the template as saved.
objectNo——{"objects":[{"name":"title","text":"Hello from Mantle"}]}
wait
Hold the request open until the image has finished rendering and return its file URLs. Bannerbear gives up after ten seconds; leave this off for a slow template and collect the image later with Bannerbear: Get Image.
booleanNofalse——
formats
Which output files to produce; leave empty for the template's own default format.
arrayNo—array of string—
scale
Render at this multiple of the template's size for a higher-resolution file.
numberNo—1–4—
dpi
DPI metadata to embed in the output file so print software sizes it correctly.
numberNo—1–2400—
quality
Compression quality for JPG and WebP output, from 1 (smallest) to 100 (best).
numberNo—1–100—
proxy
Proxy and resize any external image URLs in the modifications before rendering them.
booleanNofalse——
version
Render a specific saved version of the template instead of the current one.
numberNo—≥ 1—
metadata
An arbitrary string stored with the image and echoed back on every read of it.
stringNo———

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "modifications": {
    "objects": [
      {
        "name": "title",
        "text": "Hello from Mantle"
      }
    ]
  },
  "proxy": false,
  "template": "6EZ9nQX0lzpWwqAgzB",
  "wait": false
}

Output

One shape.

result

FieldTypeExample
uid
The image's unique id, used to poll for the finished render.
string—
status
Render state: pending, completed or failed.
string—
pending
True while the render is still queued and 'files' is empty.
boolean—
template
The uid of the template this image was rendered from.
string—
files
The finished file URLs, keyed by format (png, jpg, pdf, …).
object—
image_url
The PNG URL when there is one, else the first finished file.
string—
error
Bannerbear's reason when the render failed, otherwise null.
string—
metadata
The metadata string supplied when the image was created.
string—
self
The permalink to this image on the Bannerbear API.
string—
created_at
ISO-8601 timestamp of when the render was requested.
string—
completed_at
ISO-8601 timestamp of when the render finished, else null.
string—
{
  "completed_at": "",
  "created_at": "",
  "error": "",
  "files": {},
  "image_url": "",
  "metadata": "",
  "pending": false,
  "self": "",
  "status": "",
  "template": "",
  "uid": ""
}

Notes

  • Without 'wait' this returns pending: true and an empty files object; poll Bannerbear: Get Image with the returned uid, or subscribe a webhook.
  • The synchronous host used by 'wait' accepts image renders only, and answers 408 if the render takes longer than ten seconds.

See Create Image run in a workflow.

In a technical demo we add the Bannerbear connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.