AI assistant
AI uses your model API key (OpenAI, Anthropic, Gemini, DeepSeek, Kimi, Hugging Face, OpenRouter, and similar). Image generation can use OpenAI, OpenRouter, FLUX, Stability, Fal, Seedream, and other compatible endpoints. Keys stay in the browser only. SlimPPT does not upload or store them. Usage is billed by the model vendor.
Open the AI button at the top right. Until a key is set, chat shows a prompt to fill one in Settings.

Four tabs:
| Tab | Role |
|---|---|
| Generate | Wizard to build a full deck from a brief |
| Chat | Natural-language edits to copy, layout, color, or animation |
| Capabilities | Toggle MCP (stock / fonts / history) and Skills |
| Settings | Provider, API key, image generation, stock keys |
Bring-your-own-key is available in beta; AI is not plan-gated.
Settings
- Pick a provider (international / China / local custom)
- Paste an API key; optional Base URL and proxy URL (if the browser hits CORS)
- For images: enable an image provider and/or Unsplash / Pexels keys
- Stock libraries are preferred for one-click generate enrichment; without a stock key, image generation is the fallback
Settings live in this browser’s localStorage. Another device or cleared site data means you fill them in again.
Generate from a brief
The wizard is three steps:
- Brief: topic. Audience, length, and notes stay optional. The layout template dropdown is "none" or a saved template. Uploading a PPTX saves it to the library and drops the words on the slides. When the file has text placeholders, generation fills them and uses the page record only to match density. When it has none, generation follows the recorded page composition. A file with no slides keeps the masters and layouts only. Attach documents or images as reference documents. With reference documents, facts come only from those files; the topic is angle and length. If the current model cannot read a file directly, you are asked before text is extracted; declining stops the run. Without a template, the model chooses type and palette.
- Outline: edit titles and bullets. With a layout template that has text placeholders, each slide picks one of that template's layouts.
- Build: without a template, or when the template has no text placeholders, the model authors each page (system + palette + canvas), then polish copy, imagery, contrast, and motion when keys are set. With text placeholders, content is written into them. The result is a normal editable deck.
Toggle Skills on the Capabilities tab; they inject into the outline prompt and are not asked again here.
Decks of eight or more slides (or with two or more sections) get a contents page after the cover; each row is a click-to-jump link to its section, in the player and in exported PPTX. Page numbers are decided per deck: say "加页码" / "with page numbers" or "no page numbers" in the notes to force it; otherwise formal, long, briefing, or training decks get them and short showcase or story decks do not. Photography is decided once per deck as well: by default only the anchor pages (cover, section openers, hero claims, close) are full-bleed photographs and every content page is plain paper. No more "half the pages have a background photo"; showcase decks let pictures lead throughout. Say "no photos" or "photo-heavy" in the notes to force it. Photos within a deck are picked to share one tone, and a page whose photo fetch fails borrows the cover's picture instead of falling back to paper.
Copy follows one voice rule at every stage that writes words (outline, key points, page text, chat rewrites): titles say what the page shows in plain words, no "not X, it's Y" antithesis beyond one per deck, no launch-copy verbs (seamless / unlock / empower / 赋能 / 打造), and never a line about the slide's own design. The same rule runs as a deterministic check after authoring, and pages that trip it are rewritten in the repair pass.
The result loads into the editor and can be undone. Review contrast, layers, and motion.
Chat edits
Select a slide or object, then describe the change. Each step is Ctrl/Cmd+Z undoable. You can pin the current slide so the model stays on that page.
You can also attach a document or image with the icon to the right of Add context. The model first shows an editable change proposal (which slides to edit, add, or delete, plus title, body, and notes). The deck changes only after you confirm, and the confirmed text is written as-is. Chat cannot restyle the deck from another PPTX.
Good for titles, backgrounds, motion, chart captions, brand colors. Poor for rebuilding the whole deck in one prompt. Use Generate or split the work.
What the model can build through tools (ask in plain words):
| Ask | Tool the model uses |
|---|---|
| Contents / agenda page with links | insertAgendaSlide (rows jump to their pages) |
| "Click this to go to slide N", back-to-contents | setShapeHyperlink |
| Page numbers on / off | setSlideHeaderFooter |
| Charts, tables, KPI tiles | insertChart, insertTable, insertTextBox |
| Diagrams (process, cycle, hierarchy…) | convertToSmartArt |
| Icons beside labels | searchIcons → insertIcon (vector, recolorable) |
| Display titles / art type | insertWordArt, setWordArtStyle |
| Photos and generated images | stock_images_search / stock_images_use, generateImage |
| Backgrounds, themes, fonts | setSlideBackground, applyTheme / generateAndApplyTheme, fonts_search → fonts_apply |
| Motion | applyMainstreamAnimations, addAnimation, setSlideTransition |
| Sections, notes, hidden slides | addDeckSection, setSlideNotes, setSlideVisibility |
| Masters and layouts | edit_master_text_style, applySlideLayout |
Skills and MCP
- Skills: named rule sets injected into generate / chat prompts. You can author or upload Markdown skills in Console → AI Skills; they sync to the editor when cloud storage is on.
- Custom visual systems: a Skill can ship its own deckgen look. Add a fenced
```visual-systemJSON block to the Skill body withid, optionalextends(a builtin system:editorial,swiss,dark-tech,soft-rounded,photo-editorial,data-dense,brutalist),voice(serif/grotesk/humanist/neo-grotesk),typeScale,grid,bans,fonts(CSS stacks),fontFamilies(Google Fonts to load),canvas(radius / shadow / glow / tone / displayTreatment / character) and a seedpalette. The block is validated on save and removed from the prompt; while the Skill is enabled, the AI can choose thatidas the deck'ssystemId, and the prose in the same Skill tells it when to. A ready-made example ispackages/ai/src/skills/samples/apple-keynote.md; in the Playground Skills section, "Add from template: + Apple keynote" adds it in one click (templates are never injected on their own once added, it is an ordinary editable user Skill). - MCP: tools the model can call. Built-in stock images (Unsplash / Pexels), fonts (Google Fonts), and chat history; remote MCP servers can be added in Settings. Chat can override defaults per turn. Cloud-deck tools in Cursor use a short-lived grant from Console → Profile; enter the same encryption passphrase.
- Enabling full chat-history access is treated as privacy-sensitive and asks for confirmation.
Tips
- Put a valid key in settings and confirm the vendor account has credit
- Prompts go to the vendor you configured. Do not send confidential decks to a model you do not trust
- Always review output: contrast, overlapping layers, fonts, and motion
- After a theme or background change, re-check text contrast
If it does not work
- Confirm the API key in settings
- Check the vendor bill and quota
- Try another network or disable ad blockers; set a proxy URL if CORS blocks direct calls
- Email support@slimppt.com with browser version and the error (never paste the key)