create_carousel
posts:writeuses credits
Render an on-brand carousel from 2 to 15 slides you write, in the workspace's colours, fonts and logo: a PDF document (LinkedIn document posts) and one PNG per slide (Instagram, X). Slide layouts: cover (first slide by default: a hook title and optional subtitle in body), point (a numbered idea: title and body), stat (stat plus title), quote (title with attribution), list (title with bullets), cta (closing slide with cta text, used for the last slide when it has cta). Keep each slide to one idea: a title under about 10 words and a body under about 30.
Formats: portrait (default, 4:5) or square. Themes: brand, light, dark. aiBackground.prompt puts an AI-generated image behind the cover (5 to 20 seconds, costs money).
About half a second per slide otherwise. Returns public URLs to show the user; nothing is attached to a post yet. To post it, pass postMedia.linkedin (the PDF), postMedia.x (the first 4 slides), or postMedia.facebook / postMedia.instagram (up to 10 slides) as media to create_draft_post or update_post.
Input
slidesarray<object>requiredat least 2 items · at most 15 items
Item fields
titlestringrequiredmin length 1 · max length 220
eyebrowstringmin length 1 · max length 60
bodystringmin length 1 · max length 420
bulletsarray<string>at least 1 items · at most 6 items
statstringmin length 1 · max length 16
attributionstringmin length 1 · max length 80
ctastringmin length 1 · max length 40
layoutstringone of
cover,point,stat,quote,list,cta
formatstringone of
portrait,square· default"portrait"themestringone of
brand,light,dark· default"brand"includeLogobooleandefault
truehandlestringmin length 1 · max length 40
aiBackgroundobjectFields
promptstringrequiredmin length 3 · max length 800
modelstringmin length 3 · max length 120
outputsarray<string>at least 1 items · at most 2 items · default
["pdf","png"]
Permission
Needs the posts:write scope: create drafts. It changes your workspace, so clients may ask you to confirm each call.
Example call
Your assistant sends this for you. It is shown so you can see the shape of a call, with placeholder values for the required fields.
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "create_carousel", "arguments": { "slides": [ { "title": "string" } ] } }}Same action over the REST API
The tool runs POST /v1/orgs/{orgId}/marketing/visuals/carousel as the signed-in user, with the same validation, approval rules and limits. See it in the Visuals API reference.