bannerbear_convert_ pdf_ to_ imagePDF to image.
Fill a template with a headline and a product photo and get the image link back, render a batch for every channel, run a workflow, or cut a background, subtitle a clip and join videos.
PopMCPBannerbear
Bannerbear's current API and its legacy V2 project API behind one connector: the everyday tools load by default, and the rest of both APIs is one search away.
132 tools in the full catalog: 61 read and 71 write. 53 load by default, and the rest are found with tool search.
bannerbear_convert_ pdf_ to_ imagePDF to image.
bannerbear_create_ pdfCreate multi-page PDF.
bannerbear_generate_ ai_ imageGenerate AI image.
bannerbear_join_ videosJoin videos.
bannerbear_remove_ backgroundRemove background.
bannerbear_resize_ videoResize video.
bannerbear_subtitle_ videoTranscribe and burn subtitles.
bannerbear_trim_ videoTrim video.
bannerbear_v2_ get_ templateGet one V2 template: name, size, preview_url, tags and available_modifications.
bannerbear_v2_ list_ templatesList the project's templates.
bannerbear_create_ imageCreate an image.
bannerbear_generate_ imageMake an image from a Bannerbear template and return its URLs: pass the template uid and plain values by layer name (fields), and this reads the template's layers, writes the modifications in the form the connection's API takes, creates the image and waits until it is rendered (usually a few seconds).
bannerbear_get_ imageGet an image.
bannerbear_get_ image_ templateGet an image template.
bannerbear_get_ template_ fieldsList the layers of a Bannerbear template that a render can change, with each layer's name, type and what value it takes (text, an image URL, a color, a QR target), plus a ready-made fields example for bannerbear_generate_image.
bannerbear_list_ animation_ templatesList animation templates.
bannerbear_list_ image_ templatesList image templates.
bannerbear_list_ imagesList images.
bannerbear_wait_ for_ renderWait for a queued Bannerbear render to finish and return it with its output URLs: images, animations, batches, media tool jobs and workflow runs (V5), or videos, collections, animated GIFs, screenshots, movies and PDF jobs (V2).
bannerbear_create_ instant_ urlCreate an instant URL.
bannerbear_get_ workflowGet a workflow.
bannerbear_list_ workflowsList workflows.
bannerbear_upload_ asset_ from_ urlStore a file from a public link in the Bannerbear workspace's asset library and get back a durable Bannerbear CDN URL (uploads are de-duplicated: the same file returns the existing asset).
bannerbear_v2_ create_ collectionGenerate a collection: one image per template in a template set, all from one list of modifications (for example every social size of one banner).
bannerbear_v2_ create_ imageGenerate an image from a V2 template.
bannerbear_v2_ create_ screenshotTake a screenshot of a public web page.
bannerbear_v2_ create_ videoRender a video from a V2 video template.
bannerbear_v2_ get_ collectionGet one collection: status and image_urls (one URL per template in the set, keyed by template name) when completed.
bannerbear_v2_ get_ imageGet one generated image: status (pending, completed or failed), image_url (null until completed), pdf_url when render_pdf was set, the template and the modifications used.
bannerbear_v2_ get_ screenshotGet one screenshot: status and screenshot_image_url when completed.
bannerbear_v2_ get_ videoGet one video: status (pending, pending_approval, rendering, completed or failed), video_url when done, transcription (Transcribe build pack) and percent_rendered.
bannerbear_v2_ join_ pdfsJoin several PDF files into one.
bannerbear_v2_ list_ imagesList the images generated in the project, newest first.
bannerbear_v2_ list_ template_ setsList the project's template sets.
bannerbear_v2_ rasterize_ pdfTurn a PDF into a JPG and PNG image.
bannerbear_create_ animationCreate an animation.
bannerbear_create_ batchCreate a batch.
bannerbear_get_ animationGet an animation.
bannerbear_get_ batchGet a batch.
bannerbear_get_ workflow_ runGet a workflow run.
bannerbear_install_ publicationInstall a publication into the workspace.
bannerbear_list_ publicationsBrowse the public library.
bannerbear_run_ workflowRun a workflow.
bannerbear_v2_ create_ animated_ gifMake an animated GIF from a V2 template: each frame is one list of modifications (up to 30 frames).
bannerbear_v2_ create_ movieJoin up to 10 video clips (or still images, shown for 5 seconds each) into one movie, in order, with optional transitions and soundtrack.
bannerbear_v2_ create_ signed_ baseCreate a Signed URL base for a template: a fixed image URL (base_url) that renders the template on demand from URL parameters.
bannerbear_v2_ get_ animated_ gifGet one animated GIF: status and image_url when completed.
bannerbear_v2_ get_ movieGet one movie: status and movie_url when completed.
bannerbear_v2_ list_ signed_ basesList a template's Signed URL bases.
bannerbear_v2_ list_ video_ templatesList the project's video templates.
bannerbear_get_ tool_ jobGet a tool job.
bannerbear_v2_ get_ accountGet the account's plan, API quota and usage this month (usage resets at the start of every month) and the current project's name and template count.
bannerbear_get_ accountGet account info.
bannerbear_add_ audio_ to_ videoAdd or replace audio.
bannerbear_add_ cover_ art_ to_ videoAdd cover art to video.
bannerbear_apply_ color_ filterApply colour filter.
bannerbear_create_ gif_ previewCreate GIF preview.
bannerbear_create_ video_ slideshowCreate video slideshow.
bannerbear_create_ video_ thumbnailsVideo thumbnails.
bannerbear_crop_ videoCrop video.
bannerbear_flatten_ pdfFlatten PDF for print.
bannerbear_generate_ ai_ videoGenerate AI video.
bannerbear_generate_ voiceoverGenerate voiceover.
bannerbear_overlay_ image_ on_ videoAdd image overlay.
bannerbear_overlay_ videoOverlay video.
bannerbear_soften_ videoSoften video.
bannerbear_v2_ create_ templateCreate a blank V2 template of a given size (to design in the editor or a Session).
bannerbear_v2_ delete_ templatePermanently delete a template from the project.
bannerbear_v2_ duplicate_ templateDuplicate a template in the same project.
bannerbear_v2_ import_ templatesImport public templates (publications from the Bannerbear template library or shared by other accounts) into the project.
bannerbear_v2_ update_ templateRename a V2 template, retag it, resize it or change its metadata.
bannerbear_animate_ animation_ templateAnimate a template with a preset.
bannerbear_create_ animation_ templateCreate an animation template.
bannerbear_create_ image_ syncCreate an image.
bannerbear_create_ image_ templateCreate an image template.
bannerbear_delete_ animation_ templateDelete an animation template.
bannerbear_delete_ image_ templateDelete an image template.
bannerbear_get_ animation_ templateGet an animation template.
bannerbear_update_ animation_ templateUpdate an animation template.
bannerbear_update_ image_ templateUpdate an image template.
bannerbear_create_ webhookCreate a webhook.
bannerbear_create_ workflowCreate a workflow.
bannerbear_delete_ instant_ urlDelete an instant URL.
bannerbear_delete_ webhookDelete a webhook.
bannerbear_delete_ workflowDelete a workflow.
bannerbear_get_ instant_ urlGet an instant URL.
bannerbear_get_ webhookGet a webhook.
bannerbear_list_ instant_ urlsList instant URLs.
bannerbear_list_ webhooksList webhooks.
bannerbear_update_ instant_ urlUpdate an instant URL.
bannerbear_update_ webhookUpdate a webhook.
bannerbear_update_ workflowUpdate a workflow.
bannerbear_check_ assetsBatch-check which asset hashes already exist.
bannerbear_get_ assetGet an asset.
bannerbear_list_ assetsList assets.
bannerbear_v2_ create_ collection_ syncGenerate a collection and wait for it in the same request (synchronous host).
bannerbear_v2_ create_ image_ syncGenerate an image from a V2 template and wait for it in the same request (synchronous host).
bannerbear_v2_ create_ projectCreate a new project (needs a Master API key).
bannerbear_v2_ create_ screenshot_ syncTake a screenshot and wait for it in the same request (synchronous host): 200 with screenshot_image_url, or 408 after about 10 seconds.
bannerbear_v2_ create_ template_ setGroup templates into a template set, to generate them together as a collection.
bannerbear_v2_ get_ joined_ pdfGet a PDF join: status and joined_pdf_url when completed.
bannerbear_v2_ get_ projectGet one project (needs a Master API key).
bannerbear_v2_ get_ rasterized_ pdfGet a PDF rasterization: status and image_url_jpg / image_url_png when completed.
bannerbear_v2_ get_ template_ setGet one template set: its templates and the modifications available across them.
bannerbear_v2_ hydrate_ projectCopy every template from a source project (or only the listed templates) into this project.
bannerbear_v2_ list_ collectionsList the collections generated in the project, newest first.
bannerbear_v2_ list_ projectsList the account's projects (needs a Master API key).
bannerbear_v2_ list_ screenshotsList the screenshots taken in the project, newest first.
bannerbear_v2_ list_ videosList the videos rendered in the project, newest first.
bannerbear_v2_ update_ template_ setReplace a template set's templates (the set is cleared, then the new list applied) and or rename it.
bannerbear_v2_ update_ videoCorrect a Transcribe video's transcription and or approve it to start rendering (for templates that require approval).
bannerbear_get_ publicationGet a publication.
bannerbear_list_ animationsList animations.
bannerbear_list_ batchesList batches.
bannerbear_list_ workflow_ runsList workflow runs.
bannerbear_v2_ build_ signed_ urlBuild a Bannerbear Signed URL: a link that renders a template on demand from the values in it (for page meta images, emails and the like), signed here with the connection's Project API key so the key never appears in it.
bannerbear_v2_ create_ sessionCreate an editor Session: a private link where someone can edit one template in the Bannerbear editor without an account.
bannerbear_v2_ create_ video_ templateCreate a video template from an image template and a build pack.
bannerbear_v2_ create_ webhookRegister a URL that Bannerbear calls when an event happens in the project.
bannerbear_v2_ delete_ webhookDelete a registered webhook.
bannerbear_v2_ get_ sessionGet one editor Session and its session_editor_url.
bannerbear_v2_ get_ video_ templateGet one video template: its build pack, base template and available modifications.
bannerbear_v2_ get_ webhookGet one registered webhook (url and event).
bannerbear_v2_ list_ animated_ gifsList the animated GIFs made in the project, newest first.
bannerbear_v2_ list_ moviesList the project's movies, newest first.
bannerbear_v2_ list_ sessionsList the project's editor Sessions.
bannerbear_list_ tool_ jobsList tool jobs.
bannerbear_v2_ check_ authCheck that the V2 API key works.
bannerbear_v2_ create_ diagnosisStart a diagnostic report on a generated image (why a font, image or layer did not render as expected).
bannerbear_v2_ get_ diagnosisGet a diagnostic report: status and its findings when completed.
bannerbear_v2_ list_ effectsList the effect names an image layer's effect can be set to (for example Grayscale or Blur).
bannerbear_v2_ list_ fontsList the font names a text layer's font_family can be set to (the built-in fonts plus the account's custom fonts).
Credentials off one Bannerbear screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
Paste an API key from Bannerbear's API Keys page (app.bannerbear.com/v5/api_keys, it starts with bb_ak_v5_). An older V2 project works too: paste its Project API key from the project's Settings, API Key. PopMCP checks the key by reading your workspace and credit balance, and works out which API it belongs to.
••••••••••••3f7aE56OLrMKYWnzRhXzEKRendering, uploading, installing and deleting are writes and wait until an owner or admin allows write actions; new connections start read-only. Every render spends credits from your Bannerbear plan, so tick Bannerbear on the PopMCP consent screen only for clients that need it.
Drop the PopMCP URL into Claude, ChatGPT, Claude Code, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Bannerbear credential never leaves the server.
app.popmcp.com/mcpAsk for something harmless before the agent changes anything. Writes run as soon as it calls them, so confirm it reads the right account first.
Make a Summer sale banner from my product template with this photo and give me the link
bannerbear_list_image_templatesok
Then just ask for the work
“Make a Summer sale banner from my product template with this photo and give me the link”
“Render this week's three announcements on our social template as one batch and send me the links”
“Remove the background from these product photos, then put each one on our brand template”
“Run my podcast clip workflow on yesterday's episode audio and tell me when the video is ready”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Bannerbear behind an AI client.
One Bannerbear API key. Open API Keys in Bannerbear (app.bannerbear.com/v5/api_keys), create a key and paste it; it starts with bb_ak_v5_. No developer app or approval is needed and the free trial works. A key belongs to one workspace, so the connection stays on that workspace. Leave Allowed origins empty, because PopMCP calls Bannerbear from its servers.
Yes. Bannerbear runs two APIs whose keys are not interchangeable: the current one and the V2 project API. Paste a V2 Project API key (Project, Settings, API Key) and the connection loads the V2 tools for templates, images, collections, videos, animated GIFs, screenshots, movies, Signed URLs and PDF utilities. A V2 Master API key works too, pinned to the one project you name under More options.
get_template_fields lists the layers of a template that a render can change and what each takes: text, an image link, a colour or a QR target. generate_image then takes plain values by layer name, writes them in the form Bannerbear expects, creates the image and waits for the finished link, so a layer name that does not exist is caught before any credit is spent.
Renders spend API credits from your Bannerbear plan; a PDF costs more than an image, and AI tools such as background removal, AI images and video, subtitles and voiceover spend separate AI credits. When the month's credits run out Bannerbear answers 402 until they reset or you top up. get_account shows the credits left and the key's scopes.
Sixteen triggers. With a current key: an image rendered or failed, a batch, animation or media tool job finished, a workflow run finished or failed, a new template or workflow, and API credits running low. With a V2 project key: an image, video or collection rendered, a template created or edited, and credits running low. Webhooks are registered with your own key, so there is nothing to set up.
Yes, in two places. In Bannerbear, give the key only the scopes you want, such as image_templates:read and images:write; a call outside them is refused and the AI is told which scope is missing. In PopMCP, a connection starts read-only, and renders, uploads, installs and deletes stay blocked until an owner or admin allows write actions.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Connect Bannerbear in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Bannerbear on the consent screen. The Bannerbear tools are then available in that session, and no Bannerbear credential is stored on your machine.
Loading 132 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 53-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.
A tool is something your AI calls, and there are 132 here. A trigger is something PopMCP watches for you: 16 Bannerbear events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Bannerbear.
Launch a hosted MCP endpoint for Bannerbear, keep tool access under control, and start testing real workflow prompts right away.