Bannerbear ACTION
Create Animated Gif
Creates an Animated Gif. See the docs here.
- Action
- Writes data
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Bannerbear account once, then configure and run Create Animated Gif from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "bannerbear-create-animated-gif",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
bannerbear: { authProvisionId: "apn_xxxxxxx" },
template: "Template UID",
frames: "Frames",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "bannerbear-create-animated-gif",
"configured_props": {
"bannerbear": { "authProvisionId": "apn_xxxxxxx" },
"template": "Template UID",
"frames": "Frames"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "bannerbear",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "bannerbear-create-animated-gif",
arguments: {
template: "Template UID",
frames: "Frames",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
template Template UID | string | The template UID that you want to use. See the docs Required Dynamic |
frames Frames | string | A list of modifications lists to apply in sequence. See Create an image for more details on the child parameters. Animated Gifs can have a maximum of 30 frames, for example: [[{"name":"layer1","text":"This is my text"},{"name":"photo","image_url":"https://www.pathtomyphoto.com/1.jpg"}],[{"name":"layer1","text":"This is my follow up text"},{"name":"photo","image_url":"https://www.pathtomyphoto.com/2.jpg"}]] Required |
inputMediaUrl Input Media URL | string | An optional movie file that can be used as part of the gif. Depending on the number of frames you pass in, Bannerbear will generate thumbnails of this movie and place them sequentially into an image container in your template named video_frame. Optional |
fps FPS | integer | Set the frame rate of gif (default is 1 frame per second). Optional |
frameDurations Frame Durations | string[] | Custom durations for each frame (overrides fps). Optional |
loop Loop | boolean | Set the gif to loop or only play once. Optional |
metadata Metadata | string | Any metadata that you need to store e.g. ID of a record in your DB. Optional |
webhookUrl Webhook URL | string | A url to POST the full Animated Gif object to upon rendering completed. Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- bannerbear-create-animated-gif
- Version
- 0.0.2
- App
- Bannerbear
- Authentication
- API key
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗