Type: Write · Required scope:
decks:write · Cost: 1 credit per slide, reserved upfront. Credits for slides that aren’t produced are refunded automatically.search_library with your material. This is the “Fill with AI” of the Decky PowerPoint add-in. See the Slide library guide for the whole flow.
Parameters
string
required
What the deck is for: audience, goal, key messages.
string
A library deck from
search_library (kind: "deck"). Pass either deck_id or template_ids.string[]
Library templates from
search_library (kind: "template"). They are filled in this order, one slide each. Maximum: 20. Duplicate ids are ignored.string[]
With
deck_id: the ids of the deck’s slides to leave out.string
Source material that the assistant extracted from the user’s files: figures, tables as text, quotes, all verbatim. Up to 100,000 characters. Decky never sees the files themselves.
string
The master (design) to place the slides into. It works the same as in
create_deck. Omit it to use the default master.integer
With
deck_id only: the most slides the deck may have. Default: the deck’s slides left after exclude_member_ids, at most 20. Range: 1 to twice that number, at most 20. With template_ids, the job always has one slide per template.What Decky does
1
Plans the slides
With a deck: Decky plans the storyline over the deck’s slides. It drops slides the material can’t support and repeats a slide where needed (at most twice). With templates: they are filled in the order given.
2
Writes every slot
Text comes from your
prompt and context. Charts are filled only with real data from the context. Picture slots get a picture from the Decky library, or keep the template’s sample picture.3
Marks what's missing
Where the material lacks a number, name, date, or quote, Decky writes a visible placeholder on the slide instead of inventing one, such as
[€ m — to confirm] or [client name — to confirm]. Short slots get [TBC].4
Places the slides into the master
The finished slides are placed into the chosen master, in order.
get_deck_status returns progress.report. It lists the slides filled, slides skipped (for example, a chart slide without usable data), the placeholders to confirm, and the facts the material lacked. Pass these on to the user.
Response
Returns a job object withkind: "fill_templates", the same shape as create_deck. Use the id to poll get_deck_status. It also includes:
integer
Credits held for the job: 1 ×
max_slides for a deck, 1 × the number of templates for template_ids.object
What the job fills:
deck_id and exclude_member_ids, or template_ids.object
A readable summary. For a deck:
deck (title), deck_slides, excluded, max_slides. For templates: templates (titles, in order) and max_slides.string
Present when there is something to tell the user about the master the deck uses. For example, that the default was used although the user has uploaded masters.
In clients that show interactive cards (MCP Apps), such as claude.ai and Claude Desktop, the job appears as a live deck card with progress, the placeholders to confirm, and previews of the finished slides. See Interactive cards.