Bannerbear
App · 20 actions
Make images and videos from your Bannerbear templates, combine files into PDFs, remove backgrounds, generate AI images and run Bannerbear workflows.
Actions
| Action | What it does |
|---|---|
| Add template from library | Copy a ready-made template from Bannerbear's library into your workspace, ready to use with 'Create image' or 'Create animation'. |
| Animate template with a preset | Give an animation template's layers a ready-made movement, such as fading or zooming in, one after another if you like. |
| Combine into PDF | Put JPG, PNG and PDF files together into one PDF, a page each, in the order given. |
| Create animation | Make a video from an animation template, with your text and pictures in its layers. |
| Create image | Make an image from a template, with your text and pictures in its layers. |
| Delete animation template | Delete an animation template from the workspace. |
| Delete image template | Delete an image template from the workspace. |
| Generate AI image | Make an image from a written description with an AI model. |
| Get account | Get the connected Bannerbear workspace: its plan, and how many credits and AI credits it has used and has left this month. |
| Get animation | Get one animation with its progress and video URL. |
| Get image | Get one image with its status and file URLs. |
| Get image template | Get one image template: its name, size, preview and the name and type of each layer you can fill in. |
| Get workflow run | Get one workflow run: its status, progress, each step's result, and any error. |
| List animation templates | List the workspace's animation templates with their length, size and layers. |
| List image templates | List the workspace's image templates with their sizes, previews and layers. |
| List images | List the workspace's images, newest first, with their status and file URLs. |
| Remove background | Cut the subject of a photo out onto a transparent background. |
| Rename or tag image template | Change an image template's name, description or tags. |
| Run workflow | Start one of your Bannerbear workflows with its inputs, wait for it to finish, and return each step's results. |
| Search template library | Search Bannerbear's library of ready-made templates by name, kind and category. |
Add template from library
Copy a ready-made template from Bannerbear's library into your workspace, ready to use with 'Create image' or 'Create animation'. Trial workspaces hold up to 3 of each kind.
Inputs
- Library template ID
library_templatetextRequired - The template's id, from 'Search template library'.
Outputs
kindtext- What was added: image, animation or workflow
templateobject- The new template in your workspace (an animation template also has a frame rate and duration)
Example output
{
"kind": "image",
"template": {
"created_at": "2026-10-19T09:00:00.000Z",
"description": null,
"height": 500,
"layers": [
{
"id": "_e8219o",
"name": "title",
"type": "text"
},
{
"id": "_815ykc",
"name": "background",
"type": "image"
}
],
"name": "Twitter header",
"preview": "https://images.bannerbear.com/v5/templates/1aA2ozpQJrr5q4DmrE/preview/p.jpg",
"tags": [
"social"
],
"uid": "1aA2ozpQJrr5q4DmrE",
"width": 1500
}
}Animate template with a preset
Give an animation template's layers a ready-made movement, such as fading or zooming in, one after another if you like. Free; Bannerbear keeps the previous version.
Inputs
- Template
templatetextRequired - The animation template. Pick one, or give its id from an earlier step.
- Preset
presettextRequired - The movement to give each layer.One of:
FadeIn(Fade in),FadeOut(Fade out),ZoomIn(Zoom in),ZoomOut(Zoom out),GetBigger(Get bigger),GetSmaller(Get smaller),ScaleIn(Scale in),ScaleOut(Scale out),PopIn(Pop in (text layers only)),PopOut(Pop out (text layers only)). - Layers
layerslist - The layers to animate, in the order they should start. Leave empty for every layer.
- Length (ms)
durationnumber - How long each layer's movement takes, in milliseconds. Defaults to 400.From 1 to 60000.
- Delay between layers (ms)
staggernumber - Milliseconds between one layer starting and the next. Defaults to 0, all at once.From 0 to 60000.
- Keep other layers' animation
keep_other_animationstrue/false - Yes: only the chosen layers change. No (default): the template's whole timeline is replaced.
Outputs
templateobject- The template with its new timeline
Example output
{
"template": {
"created_at": "2026-10-19T09:00:00.000Z",
"description": null,
"duration_seconds": 0.4,
"frame_rate": 30,
"height": 1080,
"layers": [
{
"id": "figma-8",
"name": "title",
"type": "text"
}
],
"name": "Title card",
"preview": null,
"tags": [],
"uid": "wLE15Aaj6QaB8MrQxY",
"width": 1920
}
}Combine into PDF
Put JPG, PNG and PDF files together into one PDF, a page each, in the order given. Returns the PDF's URL. Uses 1 credit.
Inputs
- Files
urlslistRequired - The URLs of the JPG, PNG or PDF files, in page order.
- Metadata
metadatatext - Your own note to keep with the result, such as an order number.
Outputs
jobobject- The finished tool run
urltext- The finished file's address
Example output
{
"job": {
"completed_at": "2026-10-19T09:00:03.000Z",
"created_at": "2026-10-19T09:00:00.000Z",
"inputs": {},
"metadata": null,
"outputs": {
"pdf_url": "https://media.bannerbear.com/v5/tools/create_pdf/out.pdf"
},
"progress": 100,
"status": "completed",
"tool": "create_pdf",
"uid": "Mny5GzpG06kODjJegk"
},
"url": "https://media.bannerbear.com/v5/tools/create_pdf/out.pdf"
}Create animation
Make a video from an animation template, with your text and pictures in its layers. Waits for it to finish (usually under a minute) and returns the MP4's URL. Uses 2 credits per second.
Inputs
- Template
templatetextRequired - The animation template. Pick one, or give its id from an earlier step.
- Layer values
layer_valuesobject - What to put in each layer: text for a text layer, an image URL for an image layer. Leave a layer empty to keep the template's own.
- Other layer changes
layer_changeslist - Anything else to change on a layer, in Bannerbear's format: a list of objects naming the layer, like [{"name": "title", "color": "#FF0000"}] or [{"name": "badge", "hidden": true}].
- Frame rate
frame_ratetext - Defaults to the template's own, usually 30 fps.One of:
24(24 fps),30(30 fps),60(60 fps (uses twice the credits)). - Transparent background
transparenttrue/false - Leave out the background. The video is then a MOV file.
- Metadata
metadatatext - Your own note to keep with the result, such as an order number.
Outputs
animationobject- The animation
urltext- The finished file's address
Example output
{
"animation": {
"completed_at": "2026-10-19T09:00:11.000Z",
"created_at": "2026-10-19T09:00:00.000Z",
"files": {
"mp4": "https://videos.bannerbear.com/v5/animations/l04J5q8jaz8VrQ1LMd/final/video.mp4"
},
"metadata": null,
"progress": 100,
"status": "completed",
"template": "wLE15Aaj6QaB8MrQxY",
"uid": "l04J5q8jaz8VrQ1LMd"
},
"url": "https://videos.bannerbear.com/v5/animations/l04J5q8jaz8VrQ1LMd/final/video.mp4"
}Create image
Make an image from a template, with your text and pictures in its layers. Waits for it to finish and returns the file's URL. Uses 1 credit per file type and size step.
Inputs
- Template
templatetextRequired - The image template. Pick one, or give its id from an earlier step.
- Layer values
layer_valuesobject - What to put in each layer: text for a text layer, an image URL for an image layer. Leave a layer empty to keep the template's own.
- Other layer changes
layer_changeslist - Anything else to change on a layer, in Bannerbear's format: a list of objects naming the layer, like [{"name": "title", "color": "#FF0000"}] or [{"name": "badge", "hidden": true}].
- File types
formatslist - The files to make. Defaults to JPG. Each extra type uses another credit.One or more of:
jpg,png,webp,avif,pdf. - Size
scaletext - Render larger than the template, for sharper images. Each step up multiplies the credits used.One of:
1(1x, the template's size (default)),2(2x),3(3x),4(4x). - Transparent background
transparenttrue/false - Leave out the template's background. Use with PNG or WebP.
- Metadata
metadatatext - Your own note to keep with the result, such as an order number.
Outputs
imageobject- The image
urltext- The finished file's address
Example output
{
"image": {
"completed_at": "2026-10-19T09:00:01.000Z",
"created_at": "2026-10-19T09:00:00.000Z",
"files": {
"jpg": "https://images.bannerbear.com/V5/lqRBnyOPnVJPMAGj3e/ARNZvkVzbnWVwYrMoD/image.jpg"
},
"metadata": null,
"status": "completed",
"template": "1aA2ozpQJrr5q4DmrE",
"uid": "ARNZvkVzbnWVwYrMoD"
},
"url": "https://images.bannerbear.com/V5/lqRBnyOPnVJPMAGj3e/ARNZvkVzbnWVwYrMoD/image.jpg"
}Delete animation template
Delete an animation template from the workspace. Videos already made from it are kept.
Inputs
- Template
templatetextRequired - The animation template. Pick one, or give its id from an earlier step.
Outputs
deletedtrue/false- Always true once deleted
template_idtext- The template deleted
Example output
{
"deleted": true,
"template_id": "wLE15Aaj6QaB8MrQxY"
}Delete image template
Delete an image template from the workspace. Images already made from it are kept.
Inputs
- Template
templatetextRequired - The image template. Pick one, or give its id from an earlier step.
Outputs
deletedtrue/false- Always true once deleted
template_idtext- The template deleted
Example output
{
"deleted": true,
"template_id": "1aA2ozpQJrr5q4DmrE"
}Generate AI image
Make an image from a written description with an AI model. Returns the image's URL. Uses AI credits, fewest with Flux Schnell.
Inputs
- Description
prompttextRequired - What to make: the subject, style and composition, up to 2,000 characters.
- Model
modeltext - The AI model. Defaults to Flux Schnell.One of:
flux_schnell(Flux Schnell: fastest, fewest credits (default)),flux_1_1_pro(Flux 1.1 Pro),nano_banana(Nano Banana),gpt_image_2(GPT Image 2). - Shape
aspect_ratiotext - The image's shape. Defaults to square.One of:
1:1(Square, 1:1 (default)),16:9(Landscape, 16:9),4:3(Landscape, 4:3),9:16(Portrait, 9:16),3:4(Portrait, 3:4). - Starting image URL
reference_image_urltext - An image to start from. Only some models use one.
- Metadata
metadatatext - Your own note to keep with the result, such as an order number.
Outputs
jobobject- The finished tool run
urltext- The finished file's address
Example output
{
"job": {
"completed_at": "2026-10-19T09:00:03.000Z",
"created_at": "2026-10-19T09:00:00.000Z",
"inputs": {},
"metadata": null,
"outputs": {
"image_url": "https://media.bannerbear.com/v5/tools/generate_ai_image/out.jpg"
},
"progress": 100,
"status": "completed",
"tool": "generate_ai_image",
"uid": "Mny5GzpG06kODjJegk"
},
"url": "https://media.bannerbear.com/v5/tools/generate_ai_image/out.jpg"
}Get account
Get the connected Bannerbear workspace: its plan, and how many credits and AI credits it has used and has left this month.
Inputs
None.
Outputs
accountobject- The workspace and its credits
ai_credits_leftnumber- AI credits left
credits_leftnumber- Credits left
Example output
{
"account": {
"ai_quota": {
"current": 1.2,
"max": 200,
"remaining": 198.8
},
"api_key": {
"name": "Default",
"scopes": []
},
"created_at": "2026-10-01T09:00:00.000Z",
"plan": "Bannerbear Automate",
"quota": {
"current": 12,
"max": 1000,
"remaining": 988
},
"uid": "lqRBnyOPnVJPMAGj3e",
"workspace": "Default Workspace"
},
"ai_credits_left": 198.8,
"credits_left": 988
}Get animation
Get one animation with its progress and video URL.
Inputs
- Animation ID
animation_idtextRequired - The animation's id, from 'Create animation'.
Outputs
animationobject- The animation
urltext- The finished file's address
Example output
{
"animation": {
"completed_at": "2026-10-19T09:00:11.000Z",
"created_at": "2026-10-19T09:00:00.000Z",
"files": {
"mp4": "https://videos.bannerbear.com/v5/animations/l04J5q8jaz8VrQ1LMd/final/video.mp4"
},
"metadata": null,
"progress": 100,
"status": "completed",
"template": "wLE15Aaj6QaB8MrQxY",
"uid": "l04J5q8jaz8VrQ1LMd"
},
"url": "https://videos.bannerbear.com/v5/animations/l04J5q8jaz8VrQ1LMd/final/video.mp4"
}Get image
Get one image with its status and file URLs.
Inputs
- Image ID
image_idtextRequired - The image's id, from 'Create image' or 'List images'.
Outputs
imageobject- The image
urltext- The finished file's address
Example output
{
"image": {
"completed_at": "2026-10-19T09:00:01.000Z",
"created_at": "2026-10-19T09:00:00.000Z",
"files": {
"jpg": "https://images.bannerbear.com/V5/lqRBnyOPnVJPMAGj3e/ARNZvkVzbnWVwYrMoD/image.jpg"
},
"metadata": null,
"status": "completed",
"template": "1aA2ozpQJrr5q4DmrE",
"uid": "ARNZvkVzbnWVwYrMoD"
},
"url": "https://images.bannerbear.com/V5/lqRBnyOPnVJPMAGj3e/ARNZvkVzbnWVwYrMoD/image.jpg"
}Get image template
Get one image template: its name, size, preview and the name and type of each layer you can fill in.
Inputs
- Template
templatetextRequired - The image template. Pick one, or give its id from an earlier step.
Outputs
templateobject- The image template
Example output
{
"template": {
"created_at": "2026-10-19T09:00:00.000Z",
"description": null,
"height": 500,
"layers": [
{
"id": "_e8219o",
"name": "title",
"type": "text"
},
{
"id": "_815ykc",
"name": "background",
"type": "image"
}
],
"name": "Twitter header",
"preview": "https://images.bannerbear.com/v5/templates/1aA2ozpQJrr5q4DmrE/preview/p.jpg",
"tags": [
"social"
],
"uid": "1aA2ozpQJrr5q4DmrE",
"width": 1500
}
}Get workflow run
Get one workflow run: its status, progress, each step's result, and any error.
Inputs
- Run ID
run_idtextRequired - The run's id, from 'Run workflow'.
Outputs
outputsobject- Each step's results by step name, such as its file URLs
runobject- The workflow run
Example output
{
"outputs": {
"header": {
"jpg": "https://images.bannerbear.com/V5/lqRBnyOPnVJPMAGj3e/ARNZvkVzbnWVwYrMoD/image.jpg"
}
},
"run": {
"completed_at": "2026-10-19T09:00:02.000Z",
"created_at": "2026-10-19T09:00:00.000Z",
"inputs": {
"title": "Hello"
},
"metadata": null,
"outputs": {
"header": {
"jpg": "https://images.bannerbear.com/V5/lqRBnyOPnVJPMAGj3e/ARNZvkVzbnWVwYrMoD/image.jpg"
}
},
"progress": 100,
"status": "completed",
"steps": [
{
"key": "header",
"output": {
"jpg": "https://images.bannerbear.com/V5/lqRBnyOPnVJPMAGj3e/ARNZvkVzbnWVwYrMoD/image.jpg"
},
"status": "completed",
"type": "image"
}
],
"uid": "np20mj8ANrqA6Y5OX9",
"workflow": "l6V2EKOavky1NWvzy7"
}
}List animation templates
List the workspace's animation templates with their length, size and layers. Returns 25 at a time.
Inputs
- Page
pagenumber - Which page of 25 to get, newest first. Defaults to the first.At least 1.
Outputs
countnumber- How many on this page
next_pagenumber- The next page's number, or empty on the last page
pagenumber- This page's number
templateslist- The animation templates
Example output
{
"count": 1,
"next_page": null,
"page": 1,
"templates": [
{
"created_at": "2026-10-19T09:00:00.000Z",
"description": null,
"duration_seconds": 6.0,
"frame_rate": 30,
"height": 1080,
"layers": [
{
"id": "figma-8",
"name": "title",
"type": "text"
}
],
"name": "Title card",
"preview": null,
"tags": [],
"uid": "wLE15Aaj6QaB8MrQxY",
"width": 1920
}
]
}List image templates
List the workspace's image templates with their sizes, previews and layers. Returns 25 at a time.
Inputs
- Page
pagenumber - Which page of 25 to get, newest first. Defaults to the first.At least 1.
Outputs
countnumber- How many on this page
next_pagenumber- The next page's number, or empty on the last page
pagenumber- This page's number
templateslist- The image templates
Example output
{
"count": 1,
"next_page": null,
"page": 1,
"templates": [
{
"created_at": "2026-10-19T09:00:00.000Z",
"description": null,
"height": 500,
"layers": [
{
"id": "_e8219o",
"name": "title",
"type": "text"
},
{
"id": "_815ykc",
"name": "background",
"type": "image"
}
],
"name": "Twitter header",
"preview": "https://images.bannerbear.com/v5/templates/1aA2ozpQJrr5q4DmrE/preview/p.jpg",
"tags": [
"social"
],
"uid": "1aA2ozpQJrr5q4DmrE",
"width": 1500
}
]
}List images
List the workspace's images, newest first, with their status and file URLs. Returns 25 at a time.
Inputs
- Page
pagenumber - Which page of 25 to get, newest first. Defaults to the first.At least 1.
Outputs
countnumber- How many on this page
imageslist- The images
next_pagenumber- The next page's number, or empty on the last page
pagenumber- This page's number
Example output
{
"count": 1,
"images": [
{
"completed_at": "2026-10-19T09:00:01.000Z",
"created_at": "2026-10-19T09:00:00.000Z",
"files": {
"jpg": "https://images.bannerbear.com/V5/lqRBnyOPnVJPMAGj3e/ARNZvkVzbnWVwYrMoD/image.jpg"
},
"metadata": null,
"status": "completed",
"template": "1aA2ozpQJrr5q4DmrE",
"uid": "ARNZvkVzbnWVwYrMoD",
"url": "https://images.bannerbear.com/V5/lqRBnyOPnVJPMAGj3e/ARNZvkVzbnWVwYrMoD/image.jpg"
}
],
"next_page": null,
"page": 1
}Remove background
Cut the subject of a photo out onto a transparent background. Returns the PNG's URL. Uses 2 credits and 1 AI credit.
Inputs
- Image URL
image_urltextRequired - The URL of a JPG or PNG photo.
- Metadata
metadatatext - Your own note to keep with the result, such as an order number.
Outputs
jobobject- The finished tool run
urltext- The finished file's address
Example output
{
"job": {
"completed_at": "2026-10-19T09:00:03.000Z",
"created_at": "2026-10-19T09:00:00.000Z",
"inputs": {},
"metadata": null,
"outputs": {
"image_url": "https://media.bannerbear.com/v5/ai/remove_background/out.png"
},
"progress": 100,
"status": "completed",
"tool": "remove_bg",
"uid": "Mny5GzpG06kODjJegk"
},
"url": "https://media.bannerbear.com/v5/ai/remove_background/out.png"
}Rename or tag image template
Change an image template's name, description or tags. Only the fields given change; new tags replace the old ones.
Inputs
- Template
templatetextRequired - The image template. Pick one, or give its id from an earlier step.
- Name
nametext - A new name. Leave empty to keep it.
- Description
descriptiontext - A new description. Leave empty to keep it.
- Tags
tagslist - Tags to set, replacing the current ones. Leave empty to keep them.
Outputs
templateobject- The updated template
Example output
{
"template": {
"created_at": "2026-10-19T09:00:00.000Z",
"description": null,
"height": 500,
"layers": [
{
"id": "_e8219o",
"name": "title",
"type": "text"
},
{
"id": "_815ykc",
"name": "background",
"type": "image"
}
],
"name": "Twitter header (spring)",
"preview": "https://images.bannerbear.com/v5/templates/1aA2ozpQJrr5q4DmrE/preview/p.jpg",
"tags": [
"social",
"spring"
],
"uid": "1aA2ozpQJrr5q4DmrE",
"width": 1500
}
}Run workflow
Start one of your Bannerbear workflows with its inputs, wait for it to finish, and return each step's results. Uses the credits its steps use.
Inputs
- Workflow
workflowtextRequired - The Bannerbear workflow. Pick one, or give its id from an earlier step.
- Inputs
inputsobject - A value for each of the workflow's inputs.
- Wait for it to finish
waittrue/false - Yes (default): the step returns the results, waiting up to 10 minutes. No: it returns as soon as the run starts.Default:
true. - Metadata
metadatatext - Your own note to keep with the result, such as an order number.
Outputs
outputsobject- Each step's results by step name, such as its file URLs
runobject- The workflow run
Example output
{
"outputs": {
"header": {
"jpg": "https://images.bannerbear.com/V5/lqRBnyOPnVJPMAGj3e/ARNZvkVzbnWVwYrMoD/image.jpg"
}
},
"run": {
"completed_at": "2026-10-19T09:00:02.000Z",
"created_at": "2026-10-19T09:00:00.000Z",
"inputs": {
"title": "Hello"
},
"metadata": null,
"outputs": {
"header": {
"jpg": "https://images.bannerbear.com/V5/lqRBnyOPnVJPMAGj3e/ARNZvkVzbnWVwYrMoD/image.jpg"
}
},
"progress": 100,
"status": "completed",
"steps": [
{
"key": "header",
"output": {
"jpg": "https://images.bannerbear.com/V5/lqRBnyOPnVJPMAGj3e/ARNZvkVzbnWVwYrMoD/image.jpg"
},
"status": "completed",
"type": "image"
}
],
"uid": "np20mj8ANrqA6Y5OX9",
"workflow": "l6V2EKOavky1NWvzy7"
}
}Search template library
Search Bannerbear's library of ready-made templates by name, kind and category. Add one to your workspace with 'Add template from library'.
Inputs
- Search
searchtext - Words in the template's name, like Instagram story.
- Kind
template_typetext - Image or animation templates. Leave empty for both.One of:
image(Image templates),animation(Animation templates). - Category
categorytext - Only templates in this category.One of:
announcements & news,beauty & fashion,business & finance,education & coaching,employee highlights,events & weddings,film & movies,food & drinks,gaming & e-sports,home & real estate, and 8 more. - Page
pagenumber - Which page of 25 to get, newest first. Defaults to the first.At least 1.
Outputs
countnumber- How many on this page
next_pagenumber- The next page's number, or empty on the last page
pagenumber- This page's number
templateslist- The library templates
Example output
{
"count": 1,
"next_page": null,
"page": 1,
"templates": [
{
"categories": [
"social media"
],
"description": "A modern header for tech brands.",
"height": 500,
"install_count": 12,
"name": "Violet Modern Tech Twitter / X Header",
"preview": "https://mojopreview.s3.amazonaws.com/V5/p.jpg",
"published_at": "2026-10-07T07:11:08.474Z",
"tags": [
"social media"
],
"template_kind": "image",
"uid": "RQVO8Wz9nKd5GdYxel",
"width": 1500
}
]
}