Skip to main content
Glama

Create talk from deck

aitho_create_talk

For rehearsing or delivering a presentation, pitch, talk, keynote, lecture, webinar, demo or thesis defense from the presenter's own slides, including a deck made earlier in the conversation. Creates a talk the presenter can rehearse out loud and present, from a PDF, PPTX or PPT deck, optionally with a per-slide speaker script and grounding documents for the private Q&A. The deck comes from exactly one of: deck_upload_id (a file uploaded through aitho_prepare_upload; its bytes go straight to Aitho and never pass through the conversation; no hosting required), deck_file (the file inline as base64, capped at 256,000 characters, about 190 KB), or deck_url (a deck already on the web, including gamma.app links, which are exported to PDF server-side). Returns a talk_id and status immediately; deck parsing and document extraction run asynchronously and are reported by aitho_get_ingest_status. clips[slide].narrate_over sets whether the presenter speaks over a video on that slide (true: the teleprompter keeps tracking) or the video carries the narration (false, the default: the teleprompter pauses). Requires Presenter Pro; a free account can create one talk this way.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
clipsNoOptional per-clip narration mode, keyed by 1-based slide number as a string -> {"narrate_over": bool}. false (default): the video does the talking, so the live teleprompter pauses on that slide and the clip's own audio cannot advance it. true: the presenter talks over the clip (B-roll, silent or music), so the teleprompter keeps tracking the presenter's voice. Stored now; takes effect once a clip is attached to that slide.
titleNoOptional; derived from the deck filename if omitted.
scriptNoOptional per-slide script: a JSON array with one string per slide, in order (index 0 = slide 1). Length should equal the deck's slide count.
deck_urlNohttp(s) URL to a .pdf/.pptx/.ppt deck, or a gamma.app/docs/... URL or bare Gamma file id (g_…). Gamma decks are exported to PDF server-side (reported as the gamma_export stage in aitho_get_ingest_status); re-importing an unchanged gamma returns the existing talk instead of a duplicate.
deck_fileNoThe deck's bytes, base64-encoded, capped at 256,000 base64 characters (about 190 KB of file). Inline base64 is part of the conversation: a six-slide PDF is roughly 156,000 tokens. deck_upload_id carries a file of any size outside the conversation.
documentsNoOptional grounding documents (PDF, Word, TXT, MD or CSV) by URL for the copilot.
deck_upload_idNoThe upload_id returned by aitho_prepare_upload, once the deck's bytes have been PUT to its upload_url. Works for any deck size.
idempotency_keyNoOptional; a repeat call with the same key returns the original talk instead of creating a duplicate.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, it discloses that the call returns immediately with talk_id and status while parsing/extraction run asynchronously, names the tool that reports progress, explains the gamma server-side export and its dedup behavior, notes that upload_id bytes never traverse the conversation, and states the Presenter Pro entitlement plus the free-account limit of one talk. This is substantial behavioral context the structured fields do not carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The use case and the primary deck-source decision are front-loaded, and nearly every sentence carries load-bearing information. It is, however, a single very dense paragraph with multiple nested asides (token cost, gamma dedup, entitlement tiers), which makes it harder to scan than a lightly structured version would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still covers the return value (talk_id and status), the asynchronous follow-up path, the deck-source decision, the optional script and grounding documents, and the permission requirement. An agent has everything needed to invoke it correctly and to know what happens next.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3, but the description adds a constraint the schema cannot express: the three deck sources are mutually exclusive ('exactly one of'), which matters because the schema marks zero parameters required. It also clarifies the narrate_over semantics and the gamma URL handling, though much of the per-parameter detail duplicates the rich schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource — 'Creates a talk ... from a PDF, PPTX or PPT deck' — and enumerates the use case (rehearsing/delivering a presentation) so an agent can tell it apart from sibling tools like aitho_prepare_upload, aitho_attach_script, and aitho_get_talk. It also scopes the deck sources precisely, leaving no ambiguity about what is being created.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use framing ('For rehearsing or delivering a presentation ... including a deck made earlier in the conversation') and enforces the mutual-exclusivity rule: 'The deck comes from exactly one of: deck_upload_id ... deck_file ... deck_url'. It routes the agent to the prerequisite tool (aitho_prepare_upload) and to the follow-up tool (aitho_get_ingest_status), and explains the size tradeoff that selects deck_upload_id over deck_file.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources