# Skroll > Type an idea and Skroll builds a clean, on-brand deck in seconds. Real HTML you step through with your arrow keys, edit by chat, and share with a link. ## Product - Overview and live demo: https://skrollai.com/ - Example skrolls built from real brands: https://skrollai.com/gallery - Talk to the team: https://skrollai.com/contact ## What Skroll does - An interactive presentation maker for ideas that move: https://skrollai.com/interactive-presentation-maker - An AI slide deck generator that gives you the whole story: https://skrollai.com/ai-slide-deck-generator - An AI presentation generator built beyond the template: https://skrollai.com/ai-presentation-generator - An HTML presentation maker for the browser, not the file: https://skrollai.com/html-presentation-maker - An online presentation maker that stays ready to share: https://skrollai.com/online-presentation-maker - A branded presentation generator that starts with your website: https://skrollai.com/on-brand-presentation-generator - An animated presentation maker with more than transitions: https://skrollai.com/animated-presentation-maker - A web presentation maker for stories that stay live: https://skrollai.com/web-presentation-maker ## Who it is for - All solutions: https://skrollai.com/solutions - Consultants: https://skrollai.com/solutions/consultants - Marketing: https://skrollai.com/solutions/marketing - Sales: https://skrollai.com/solutions/sales - Educators: https://skrollai.com/solutions/educators - Start-Ups: https://skrollai.com/solutions/startups ## Compared with other presentation tools Written by Skroll from public product information. Each page carries its review date and sources. - All comparisons: https://skrollai.com/alternatives - Gamma: https://skrollai.com/alternatives/gamma - Beautiful.ai: https://skrollai.com/alternatives/beautiful-ai - Canva: https://skrollai.com/alternatives/canva - Pitch: https://skrollai.com/alternatives/pitch - Plus AI: https://skrollai.com/alternatives/plus-ai - Presentations.AI: https://skrollai.com/alternatives/presentations-ai - Tome: https://skrollai.com/alternatives/tome - Google Slides: https://skrollai.com/alternatives/google-slides - PowerPoint: https://skrollai.com/alternatives/powerpoint - SlideSpeak: https://skrollai.com/alternatives/slidespeak - Prezent: https://skrollai.com/alternatives/prezent - SlidesAI: https://skrollai.com/alternatives/slidesai - Slidebean: https://skrollai.com/alternatives/slidebean ## API and MCP server > Create, edit, publish and export skrolls. Content is stored as versioned deck-tsx modules (compiled TSX + theme tokens); every write appends an immutable version. ### Access - Base URL: https://skrollai.com/api/v1 - Authentication: HTTP bearer token (`Authorization: Bearer sk_...`) - Create a key: Skroll → Settings → Integrations (organization owner/admin) - OpenAPI 3.1 spec (machine-readable): https://skrollai.com/api/v1/openapi.json - MCP server (Streamable HTTP): https://skrollai.com/api/mcp (send the same bearer header) - Human documentation: https://skrollai.com/developers ### Conventions - Requests and responses are JSON over HTTPS. - Errors use a single envelope: `{ "error": { "code": string, "message": string, "featureId"?: string } }`. - Rate limits are per key in one-minute windows: standard 120/min; heavy 10/min for generate_deck, create_brand_from_url and create_export. Exceeding a limit returns 429 with a Retry-After header. - generate_deck and create_brand_from_url run their model calls synchronously and can take 30-180 seconds. - Exports are async: POST create_export returns 202, then poll get_export until status is `completed` and follow its downloadUrl. - A key acts as its creator for writes: it can read anything its organization can see, but only modify skrolls that creator owns. ### Endpoints Each endpoint marked [MCP tool: ] is also callable as an MCP tool of that name. #### Decks - GET /decks: List skrolls [MCP tool: list_decks] Lists skrolls in the organization. Use scope=mine for those the API key's owner created. - POST /decks: Create a skroll [MCP tool: create_deck] Creates an empty skroll against one of the organization's brands. Call generate_deck afterwards to fill it in. - GET /decks/{id}: Get a skroll [MCP tool: get_deck] Returns a skroll's metadata plus the content of its latest version (deck-tsx source, compiled module and theme tokens). - PATCH /decks/{id}: Rename or publish a skroll [MCP tool: update_deck] Updates title and/or visibility. Only the key creator's own skrolls can be modified. Setting visibility to 'public' mints a stable share slug. - DELETE /decks/{id}: Delete a skroll [MCP tool: delete_deck] Permanently deletes a skroll and all of its versions. Only the key creator's own skrolls. - PUT /decks/{id}/content: Replace skroll content [MCP tool: set_deck_content] Writes a deck-tsx module (TSX source, optionally theme tokens) as the skroll's newest version, compiled and validated server-side. History is append-only, so this never overwrites an earlier version. Consumes one version edit. - POST /decks/{id}/generate: Generate skroll content with AI [MCP tool: generate_deck] Runs the skroll generator against a brief and saves the result as a new version. Synchronous and slow (typically 60-180 seconds). Consumes one version edit in 'revise' mode. - POST /decks/{id}/edit: Edit skroll content with AI [MCP tool: edit_deck] Applies a targeted AI edit (copy tweaks, restyling a slide or beat, adding/removing/reordering a few slides or beats) and saves the result as a new version. Works for both slides and webpage skrolls. Faster and cheaper than generate_deck; use generate_deck for a full restructure. Consumes one version edit. #### Versions - GET /decks/{id}/versions: List versions [MCP tool: list_deck_versions] Lists a skroll's version history, newest first. Content is omitted; fetch a version to get it. - GET /decks/{id}/versions/{version}: Get a version [MCP tool: get_deck_version] Returns one version of a skroll including its full content (deck-tsx source, compiled module and theme tokens). - POST /decks/{id}/versions/{version}/revert: Revert to a version [MCP tool: revert_deck_version] Copies an earlier version's content forward as a new newest version. History is preserved. Consumes one version edit. #### Exports - POST /decks/{id}/exports: Request an export [MCP tool: create_export] Queues a PDF or PPTX render of a skroll and returns immediately. Poll get_export until status is 'completed', then use its downloadUrl. Repeated requests within 10 minutes reuse the in-flight export. Only 'slides' skrolls can be exported. - GET /exports/{id}: Get export status [MCP tool: get_export] Returns an export's status. Once 'completed', downloadUrl points at the authenticated file download. - GET /exports/{id}/download: Download a completed export Redirects to the rendered file. Requires the same API key that requested the export. #### Brands - GET /brands: List brands [MCP tool: list_brands] Lists the organization's brands. A brand id is required to create a skroll. - POST /brands: Extract a brand from a website [MCP tool: create_brand_from_url] Scrapes a public website and synthesizes a brand book from it. Synchronous and slow (typically 30-90 seconds). - GET /brands/{id}: Get a brand [MCP tool: get_brand] Returns a brand including its full brand book (palette, typography, voice, imagery). - DELETE /brands/{id}: Delete a brand [MCP tool: delete_brand] Deletes a brand. Fails with 409 if any skroll still uses it. ### Full reference Every parameter, request body and response schema is documented in the OpenAPI spec at https://skrollai.com/api/v1/openapi.json and rendered for humans at https://skrollai.com/developers/api-reference.