The themed path is quick and hands back a PowerPoint; the design path is slower, asynchronous by default, and is the only one narration will attach to, which slides_generate_narration says in as many words. That is a choice to make at the start, because reversing it means regenerating. The job model is stated clearly enough to build against — poll every 20 seconds — and both jobs_get and themes_search are free of credit charge, so orientation and polling do not cost anything. The export URL expiring after an hour is the detail that will catch an unattended pipeline.
A slide generation server with two engines — a themed PowerPoint path and a design path — plus narration and export, coordinated through an asynchronous job model.
- themes_search, returning theme objects with id, name, description, preview URL and tags, and providing the themeId the themed generator takes — free of credit charge
- slides_generate, producing a themed PowerPoint either synchronously with a download URL or asynchronously with a job ID, with the response language selectable from a named list
- slides_create_like_this, generating slides that match the style of a reference image, with aspect ratio, resolution, page count and content detail
- slides_create_pdf_slides, the same design engine driven from text alone with a free-text design style
- slides_generate_narration, adding AI voice narration to a completed design job in single- or two-narrator mode with named speakers and chosen voices
- slides_download_pages_voices, a ZIP of page PNGs, per-page WAV files and a transcript, with the download URL expiring after an hour
- jobs_get, polling a job for status, message, download URL, page count and duration — free, and the tool asks you to poll every 20 seconds
An API key in API_KEY. Narration attaches only to the design-engine jobs — slides_generate_narration states that the themed path does not support it — and the ZIP export needs a completed job that already has narration.
One command plus a key — npx 2slides-mcp, then supply credentials
