data
Bannerbear CLI for AI Agents
Use the Bannerbear CLI from KosmoKrator to call Bannerbear tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Bannerbear CLI Setup
Bannerbear can be configured headlessly with `kosmokrator integrations:configure bannerbear`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure bannerbear --set api_key="$BANNERBEAR_API_KEY" --enable --read allow --write ask --json
kosmokrator integrations:doctor bannerbear --json
kosmokrator integrations:status --json Credentials
Authentication type: API key api_key. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
api_key | BANNERBEAR_API_KEY | Secret secret | yes | API Key |
url | BANNERBEAR_URL | URL url | no | API Base URL |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call bannerbear.bannerbear_create_image '{"template_id":"example_template_id","modifications":"example_modifications","width":1,"height":1,"transparent":true,"metadata":"example_metadata"}' --json kosmo integrations:bannerbear bannerbear_create_image '{"template_id":"example_template_id","modifications":"example_modifications","width":1,"height":1,"transparent":true,"metadata":"example_metadata"}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs bannerbear --json
kosmo integrations:docs bannerbear.bannerbear_create_image --json
kosmo integrations:schema bannerbear.bannerbear_create_image --json
kosmo integrations:search "Bannerbear" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
bannerbear.bannerbear_create_image
Generate an image from a Bannerbear template. Provide a template ID and an array of modifications to customize text, images, colors, and other layers. The image is generated asynchronously — use get_image to check status and retrieve the final URL.
write - Parameters
- template_id, modifications, width, height, transparent, metadata
kosmo integrations:call bannerbear.bannerbear_create_image '{"template_id":"example_template_id","modifications":"example_modifications","width":1,"height":1,"transparent":true,"metadata":"example_metadata"}' --json kosmo integrations:bannerbear bannerbear_create_image '{"template_id":"example_template_id","modifications":"example_modifications","width":1,"height":1,"transparent":true,"metadata":"example_metadata"}' --json bannerbear.bannerbear_get_image
Retrieve the status and download URL of a previously created Bannerbear image. Images are generated asynchronously, so poll this endpoint until status is "completed".
read - Parameters
- image_id
kosmo integrations:call bannerbear.bannerbear_get_image '{"image_id":"example_image_id"}' --json kosmo integrations:bannerbear bannerbear_get_image '{"image_id":"example_image_id"}' --json bannerbear.bannerbear_list_images
List previously created Bannerbear images. Returns image UIDs, statuses, and download URLs. Supports pagination via page and limit parameters.
read - Parameters
- page, limit
kosmo integrations:call bannerbear.bannerbear_list_images '{"page":1,"limit":1}' --json kosmo integrations:bannerbear bannerbear_list_images '{"page":1,"limit":1}' --json bannerbear.bannerbear_list_collections
List Bannerbear collections. Collections are groups of images generated from a single template with different data. Supports pagination via page and limit parameters.
read - Parameters
- page, limit
kosmo integrations:call bannerbear.bannerbear_list_collections '{"page":1,"limit":1}' --json kosmo integrations:bannerbear bannerbear_list_collections '{"page":1,"limit":1}' --json bannerbear.bannerbear_create_video
Generate a video from a Bannerbear template. Provide a template ID and an array of modifications per scene. The video is generated asynchronously — use get_video to check status and retrieve the final URL.
write - Parameters
- template_id, modifications, fps, trim, metadata
kosmo integrations:call bannerbear.bannerbear_create_video '{"template_id":"example_template_id","modifications":"example_modifications","fps":1,"trim":"example_trim","metadata":"example_metadata"}' --json kosmo integrations:bannerbear bannerbear_create_video '{"template_id":"example_template_id","modifications":"example_modifications","fps":1,"trim":"example_trim","metadata":"example_metadata"}' --json bannerbear.bannerbear_get_video
Retrieve the status and download URL of a previously created Bannerbear video. Videos are generated asynchronously, so poll this endpoint until status is "completed".
read - Parameters
- video_id
kosmo integrations:call bannerbear.bannerbear_get_video '{"video_id":"example_video_id"}' --json kosmo integrations:bannerbear bannerbear_get_video '{"video_id":"example_video_id"}' --json bannerbear.bannerbear_list_templates
List all available Bannerbear templates. Returns template UIDs, names, dimensions, and preview URLs. Use a template UID with create_image or create_video.
read - Parameters
- none
kosmo integrations:call bannerbear.bannerbear_list_templates '{}' --json kosmo integrations:bannerbear bannerbear_list_templates '{}' --json bannerbear.bannerbear_get_template
Get details for a specific Bannerbear template, including all available modification layers (text, image, color, etc.). Use this to discover which layer names to use when calling create_image or create_video.
read - Parameters
- template_id
kosmo integrations:call bannerbear.bannerbear_get_template '{"template_id":"example_template_id"}' --json kosmo integrations:bannerbear bannerbear_get_template '{"template_id":"example_template_id"}' --json bannerbear.bannerbear_create_animated_gif
Generate an animated GIF from a Bannerbear template. Provide a template ID and an array of modifications per frame. The GIF is generated asynchronously — use get_image with the returned ID to check status.
write - Parameters
- template_id, modifications, fps, metadata
kosmo integrations:call bannerbear.bannerbear_create_animated_gif '{"template_id":"example_template_id","modifications":"example_modifications","fps":1,"metadata":"example_metadata"}' --json kosmo integrations:bannerbear bannerbear_create_animated_gif '{"template_id":"example_template_id","modifications":"example_modifications","fps":1,"metadata":"example_metadata"}' --json bannerbear.bannerbear_get_current_user
Get the authenticated Bannerbear account details, including plan info and usage.
read - Parameters
- none
kosmo integrations:call bannerbear.bannerbear_get_current_user '{}' --json kosmo integrations:bannerbear bannerbear_get_current_user '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
bannerbear.bannerbear_create_image 6 parameters
kosmo integrations:schema bannerbear.bannerbear_create_image --json | Parameter | Type | Required | Description |
|---|---|---|---|
template_id | string | yes | The template UID (e.g., "01H8XYZ..."). Use list_templates to find available templates. |
modifications | array | yes | Array of modification objects. Each object has a "name" (layer name) and one of: "text" (string), "image_url" (URL), "color" (hex), or "barcode" (string). Example: [{"name": "title", "text": "Hello World"}, {"name": "photo", "image_url": "https://example.com/img.jpg"}]. |
width | integer | no | Override the template width in pixels. |
height | integer | no | Override the template height in pixels. |
transparent | boolean | no | Render with a transparent background (PNG only). |
metadata | string | no | Custom metadata string to attach to the image (max 500 chars). |
bannerbear.bannerbear_get_image 1 parameters
kosmo integrations:schema bannerbear.bannerbear_get_image --json | Parameter | Type | Required | Description |
|---|---|---|---|
image_id | string | yes | The image UID returned by create_image. |
bannerbear.bannerbear_list_images 2 parameters
kosmo integrations:schema bannerbear.bannerbear_list_images --json | Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | no | Page number for pagination (1-based). Defaults to 1. |
limit | integer | no | Number of results per page. Defaults to 20. |
bannerbear.bannerbear_list_collections 2 parameters
kosmo integrations:schema bannerbear.bannerbear_list_collections --json | Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | no | Page number for pagination (1-based). Defaults to 1. |
limit | integer | no | Number of results per page. Defaults to 20. |
bannerbear.bannerbear_create_video 5 parameters
kosmo integrations:schema bannerbear.bannerbear_create_video --json | Parameter | Type | Required | Description |
|---|---|---|---|
template_id | string | yes | The template UID (e.g., "01H8XYZ..."). Use list_templates to find available templates. |
modifications | array | yes | Array of modification objects for scenes. Each scene entry has a "name" (layer name) and one of: "text", "image_url", "color", or "barcode". Pass as JSON or array. |
fps | integer | no | Frames per second for the output video (default: template setting). |
trim | string | no | Trim the video. Pass as "start,end" in seconds (e.g., "0,5"). |
metadata | string | no | Custom metadata string to attach (max 500 chars). |
bannerbear.bannerbear_get_video 1 parameters
kosmo integrations:schema bannerbear.bannerbear_get_video --json | Parameter | Type | Required | Description |
|---|---|---|---|
video_id | string | yes | The video UID returned by create_video. |
bannerbear.bannerbear_list_templates 0 parameters
kosmo integrations:schema bannerbear.bannerbear_list_templates --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bannerbear.bannerbear_get_template 1 parameters
kosmo integrations:schema bannerbear.bannerbear_get_template --json | Parameter | Type | Required | Description |
|---|---|---|---|
template_id | string | yes | The template UID (e.g., "01H8XYZ..."). Use list_templates to find available templates. |
bannerbear.bannerbear_create_animated_gif 4 parameters
kosmo integrations:schema bannerbear.bannerbear_create_animated_gif --json | Parameter | Type | Required | Description |
|---|---|---|---|
template_id | string | yes | The template UID (e.g., "01H8XYZ..."). Use list_templates to find available templates. |
modifications | array | yes | Array of modification objects per frame. Each entry has a "name" (layer name) and one of: "text", "image_url", "color", or "barcode". Pass as JSON or array. |
fps | integer | no | Frames per second for the animated GIF (default: template setting). |
metadata | string | no | Custom metadata string to attach (max 500 chars). |
bannerbear.bannerbear_get_current_user 0 parameters
kosmo integrations:schema bannerbear.bannerbear_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.