deck_build
Build a PowerPoint (.pptx) file from a scene list or an A2UI payload. Deterministic (same input, same bytes), nothing is stored or fetched, text is fitted with real font metrics and the file is linted (overlap, bounds, contrast, alt text). Returns the file as an embedded resource plus a report: errors, lint, warnings and unsupported atoms. Opens in PowerPoint and Google Slides (checked in Google Slides). Demo limit: 10 builds a day per connection.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "deck_build"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| deck | No | A typed scene list: {"title","target","scenes":[{"type":"title|bullets|stats|quote|table|media|cta","f":{...fields...},"notes":"speaker notes"}]}. Same scene fields as make_film (eyebrow, headline, sub, kicker, stats as [value,label] pairs, steps/items, quote, name, role, b1/l1, foot). Call deck_schema for every layout and limit. Give deck OR payload. | |
| target | No | Where the file will be opened. google-slides fits text tighter; powerpoint and any keep a 12% margin for a substituted font. Default any. Ask the user if you do not know. | |
| payload | No | An A2UI payload {"blocks":[{"type":"quote",...},...]}: each atom with a slide recipe becomes slides, others are listed under `unsupported`, never guessed. deck_schema lists the atoms. Give payload OR deck. | |
| delivery | No | How the .pptx comes back. link (default): a download link valid for one hour, which works in every client including chat apps that cannot receive attachments. file: the .pptx as an embedded resource, for clients that save attachments (Claude Desktop, Claude Code). both: the two together. | |
| skip_film_only | No | For a scene list that came from a film: leave out scenes with no slide layout (chart, chat, word, morph, captions, image) instead of treating them as errors. |