Browse docs

Configured tool · write

create_slideshow

Render carousel slides on the workspace brand kit from words and images, and store each slide as image media.

writenon-destructiveclosed-world

Human and agent roles

Configured boundary

Configured workspace

The agent never designs: it picks a template per slide and supplies the words and an optional photo. Postdom draws every slide with the workspace's colours, fonts and logo. Nothing is published here; the returned media ids go to publish_video.

This reference describes a connection made with @postdom/mcp@0.4.0 and a workspace-scoped agent key created in Accounts.

Callable schema

Input fields

Field names match the configured tool schema. Runtime-only constraints are labeled separately from schema validation.

FieldTypeContract
sizeRequired
4:5 | 9:16 | 1:1
One size for every slide

4:5 or 1:1 for feed carousels; 9:16 for full-screen photo carousels.

slidesRequired
slide[]
1 to 20 slides

In order. Each names a template: cover, text_image, list, quote or end_card.

slides[].headline · kicker · body · title · items · quote · attribution · cta · handleOptional
string · string[]
Only the fields the template takes

cover: headline, kicker?; text_image: headline, body; list: items (3 to 5), title?; quote: quote, attribution; end_card: cta, handle.

slides[].image_media_idOptional
media handle
An image uploaded to this workspace · cover and text_image only

The photo behind a cover or inside a text_image card. Postdom crops it to the slot.

idempotency_keyOptional
string
Non-empty

Keep one key for every retry of the same slides; a retry answers the first render.

Synthetic values

Example call

Identifiers and values are examples. They do not represent a connected workspace or accepted media source.

EXAMPLE CALL · CONFIGURED TOOL SCHEMA
create_slideshow({
  size: "4:5",
  slides: [
    { template: "cover", kicker: "Guide", headline: "Three ways to plan a calmer week", image_media_id: "pd_media_..." },
    { template: "list", items: ["Batch your meetings", "Protect one deep-work block", "End Friday with a review"] },
    { template: "end_card", cta: "Save this for Monday", handle: "@yourbrand" }
  ]
})

Observed API record

Return shape

Returns the rendered slides in order, or every field that did not fit.

slideshow_id · statusidentity · state
ready, refused, or rendering when the render outlasted the wait.
media_idsstring[]
Image media handles in slide order, for publish_video media[].media_handle.
kit_versioninteger | null
The brand kit version the slides were drawn with.
media[].template_id · preview_urlstring
The template each slide used, and a short-lived link to look at it.
notesarray
Adjustments the renderer made, such as a colour darkened for contrast.
refusalsarray
When refused: every slide and field that did not fit, with a character hint. Nothing was stored.

Stop conditions

Agent handoff

ready

Publish the slides

Pass media_ids in order to publish_video media[], or to a plan.

refused

Shorten and retry

Shorten every field named in refusals, then call again with all the slides.

rendering

Call again

Repeat the same call with the same idempotency_key to wait for the same slides.

VERIFIED · 26 AUGUST 2026Configured MCP schema · POST /v1/slideshows · GET /v1/slideshows/:id

Examples are synthetic. Human workspace-key creation and revocation remain in the authenticated Accounts screen.