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.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
template The uid of the Bannerbear image template to render, from the template list. | string | Yes | — | — | 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. | object | No | — | — | {"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. | boolean | No | false | — | — |
formats Which output files to produce; leave empty for the template's own default format. | array | No | — | array of string | — |
scale Render at this multiple of the template's size for a higher-resolution file. | number | No | — | 1–4 | — |
dpi DPI metadata to embed in the output file so print software sizes it correctly. | number | No | — | 1–2400 | — |
quality Compression quality for JPG and WebP output, from 1 (smallest) to 100 (best). | number | No | — | 1–100 | — |
proxy Proxy and resize any external image URLs in the modifications before rendering them. | boolean | No | false | — | — |
version Render a specific saved version of the template instead of the current one. | number | No | — | ≥ 1 | — |
metadata An arbitrary string stored with the image and echoed back on every read of it. | string | No | — | — | — |
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
| Field | Type | Example |
|---|---|---|
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.
Related Bannerbear nodes
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.