{
  "markdown": "# slideshot\n\n<!-- mcp-name: io.github.06ketan/slideshot -->\n\n[![npm](https://img.shields.io/npm/v/slideshot)](https://www.npmjs.com/package/slideshot)\n[![npm downloads](https://img.shields.io/npm/dm/slideshot)](https://www.npmjs.com/package/slideshot)\n[![npm mcp](https://img.shields.io/npm/v/slideshot-mcp?label=slideshot-mcp)](https://www.npmjs.com/package/slideshot-mcp)\n[![GitHub stars](https://img.shields.io/github/stars/06ketan/slideshot)](https://github.com/06ketan/slideshot)\n[![license](https://img.shields.io/github/license/06ketan/slideshot)](LICENSE)\n[![MCP compatible](https://img.shields.io/badge/MCP-compatible-8A2BE2)](https://modelcontextprotocol.io)\n[![MCP Registry](https://img.shields.io/badge/MCP_Registry-verified-blue)](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.06ketan/slideshot)\n[![Anthropic DXT](https://img.shields.io/badge/Anthropic_DXT-.mcpb-D97706)](https://github.com/06ketan/slideshot/releases/latest)\n[![Glama MCP server](https://glama.ai/mcp/servers/06ketan/slideshot/badges/score.svg)](https://glama.ai/mcp/servers/06ketan/slideshot)\n[![MCP Badge](https://lobehub.com/badge/mcp/06ketan-slideshot)](https://lobehub.com/mcp/06ketan-slideshot)\n\n<a href=\"https://glama.ai/mcp/servers/06ketan/slideshot\">\n  <img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/06ketan/slideshot/badges/card.svg\" alt=\"slideshot MCP server card on Glama\" />\n</a>\n\nConvert AI-generated HTML carousels into high-res PNG, WebP, PDF, and PPTX — via **CLI**, **Web App**, **MCP Server**, or **REST API**.\n\n**[Web App](https://slideshot.vercel.app)** · **[npm CLI](https://www.npmjs.com/package/slideshot)** · **[npm MCP](https://www.npmjs.com/package/slideshot-mcp)** · **[API Spec](https://slideshot.vercel.app/api/openapi.json)**\n\n## Architecture\n\n```\nslideshot/\n  packages/\n    cli/           ← Core Puppeteer rendering engine + CLI\n    mcp-server/    ← MCP stdio server for AI tools\n    webapp/        ← Next.js web app with live preview\n  prompts/\n    generic.md           ← Clean minimal\n    branded.md           ← Ketan Slides design system\n    instagram-carousel.md ← Bold vibrant IG style\n    infographic.md       ← Data-heavy charts\n    pitch-deck.md        ← Professional presentations\n    dark-modern.md       ← Neon glassmorphism\n    editorial.md         ← Magazine serif\n```\n\n## Quick Start\n\n### CLI\n\n```bash\nnpx slideshot ./my-carousel.html --formats png,webp,pdf --scale 4\n```\n\n**Options:**\n\n| Flag | Default | Description |\n|------|---------|-------------|\n| `-s, --selector` | `.slide` | CSS selector for slide elements |\n| `-W, --width` | `540` | Slide width (CSS px) |\n| `-H, --height` | `675` | Slide height (CSS px) |\n| `--scale` | `4` | Device scale (4x = 2160x2700) |\n| `-f, --formats` | `png,webp,pdf` | Output formats (png, webp, pdf, pptx) |\n| `-q, --quality` | `95` | WebP quality (0-100) |\n| `-o, --out` | `./slides` | Output directory |\n\n### Web App\n\n**Live:** [slideshot.vercel.app](https://slideshot.vercel.app)\n\nOr run locally:\n\n```bash\ncd packages/webapp && npm install && npm run dev\n```\n\nOpen `http://localhost:3000` — paste HTML, preview, export.\n\n### MCP Server\n\nAdd to Claude Desktop or Cursor config:\n\n```json\n{\n  \"mcpServers\": {\n    \"slideshot\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"slideshot-mcp\"]\n    }\n  }\n}\n```\n\n**Tools:**\n\n- `create_slides` — guided creation workflow with 7 themes and output presets\n- `render_html_to_images` — render HTML to PNG/WebP/PDF/PPTX\n- `get_slide_prompt` — get AI prompt template for any theme variant\n- `health_check` — verify Puppeteer/Chromium availability\n\n**Prompts (7 themes):**\n\n- `generic-slides` — clean minimal\n- `branded-slides` — Ketan Slides design system\n- `instagram-carousel-slides` — bold vibrant IG style\n- `infographic-slides` — data-heavy charts and stats\n- `pitch-deck-slides` — professional presentations\n- `dark-modern-slides` — neon glassmorphism\n- `editorial-slides` — magazine serif with gold accents\n\n### REST API (ChatGPT Actions / OpenWebUI)\n\nThe web app exposes an OpenAPI-compatible REST API at `https://slideshot.vercel.app`.\n\n**Endpoints:**\n\n| Method | Path | Description |\n|--------|------|-------------|\n| `POST` | `/api/render` | Render HTML slides to PNG/WebP/PDF (returns ZIP) |\n| `GET` | `/api/prompt?variant=generic` | Get AI prompt template |\n| `GET` | `/api/openapi.json` | OpenAPI 3.1.0 spec |\n\n**Platform support:**\n\n| Platform | Method | Setup |\n|----------|--------|-------|\n| Cursor | MCP | `npx slideshot-mcp` in `.cursor/mcp.json` |\n| Claude Desktop | MCP | `npx slideshot-mcp` in config |\n| ChatGPT | OpenAPI Action | Import `/api/openapi.json` |\n| OpenWebUI | OpenAPI Tool | Import `/api/openapi.json` |\n\n## AI Prompt Templates\n\n7 prompt variants in `prompts/` — copy-paste or use via `get_slide_prompt` tool:\n\n| Variant | File | Style |\n|---------|------|-------|\n| Generic | `prompts/generic.md` | Clean minimal, Inter font |\n| Branded | `prompts/branded.md` | Space Mono, teal/coral accents |\n| Instagram | `prompts/instagram-carousel.md` | Bold gradients, Poppins |\n| Infographic | `prompts/infographic.md` | DM Sans, stat cards |\n| Pitch Deck | `prompts/pitch-deck.md` | Professional, KPI cards |\n| Dark Modern | `prompts/dark-modern.md` | Neon, glassmorphism |\n| Editorial | `prompts/editorial.md` | Playfair Display, gold |\n\n## Build All\n\n```bash\nnpm install   # from root — installs all workspaces\nnpm run build # builds cli → mcp-server\ncd packages/webapp && npm run build  # builds webapp separately\n```\n\n## Links\n\n| Surface | URL |\n|---------|-----|\n| Web App | [slideshot.vercel.app](https://slideshot.vercel.app) |\n| npm CLI | [npmjs.com/package/slideshot](https://www.npmjs.com/package/slideshot) |\n| npm MCP | [npmjs.com/package/slideshot-mcp](https://www.npmjs.com/package/slideshot-mcp) |\n| GitHub | [github.com/06ketan/slideshot](https://github.com/06ketan/slideshot) |\n| API Spec | [slideshot.vercel.app/api/openapi.json](https://slideshot.vercel.app/api/openapi.json) |\n\n## License\n\nMIT\n",
  "bytes": 5988,
  "sha": "0b272c80d1e8f6b783c4434709c3579fe5eb346927dd6e24a37061e0fcf7baf9",
  "repo_slug": "06ketan/slideshot",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_06ketan_slideshot_7084e7a1/readme"
}