AI-powered presentation generation via the 2slides API — create slides from text, match a reference image style, summarize documents into decks, add AI voice narration, and export pages/audio. Use for any \"make slides\", \"create a deck\", or \"slides from this document\"
Installs just this skill. Get the whole plugin for auto-invocation.
⚡ How it fires
How this skill gets triggered: by you, by Claude, or both.
Fires itselfClaude auto-loads it when your prompt matches the work.
You can call itInvoke it directly when you want it.
Slash command/2slides-ppt-generator
👁️ Context preview
The summary Claude sees to decide when to auto-load this skill.
AI-powered presentation generation via the 2slides API — create slides from text, match a reference image style, summarize documents into decks, add AI voice narration, and export pages/audio. Use for any \"make slides\", \"create a deck\", or \"slides from this document\"
📊 Stats
Stars43,758
Forks6,464
LanguagePython
LicenseMIT
📦 Ships with agentic-awesome-skills
</> SKILL.md
2slides-ppt-generator.SKILL.md
---name: 2slides-ppt-generator
description: "AI-powered presentation generation via the 2slides API — create slides from text, match a reference image style, summarize documents into decks, add AI voice narration, and export pages/audio. Use for any \"make slides\", \"create a deck\", or \"slides from this document\" request."
category: api-integration
risk: safe
source: community
source_repo: 2slides/slides-generation-2slides-skills
source_type: community
date_added: "2026-06-05"
author: 2slides
tags: [presentations, slides, powerpoint, ai, api-integration, pdf, narration, document-summarization]
tools: [claude, cursor, gemini, codex, antigravity]
plugin:
setup:
type: manual
summary: "Install Python requirements and configure a 2slides API key before running generation scripts."
docs: SKILL.md
---# 2slides Presentation Generation
## Overview
Generate professional presentations using the 2slides AI API. The skill supports content-based generation (theme-driven Fast PPT), style matching from a reference image, custom PDF design, document summarization, AI voice narration, and exporting pages/audio. It returns both an interactive slide URL and a downloadable PDF.
This skill is adapted from the official 2slides skill repository ([`2slides/slides-generation-2slides-skills`](https://github.com/2slides/slides-generation-2slides-skills)). It calls the hosted 2slides API and requires the user's own API key and credits.
## When to Use This Skill
- Use when the user asks to "create a presentation", "make slides", or "generate a deck" from text or an outline.
- Use when the user wants slides that match the style of a reference image ("create slides like this image").
- Use when the user wants custom-designed PDF slides without a reference image.
- Use when the user uploads a document and asks to "create slides from this document".
- Use when the user wants to add AI voice narration to generated slides, or export slides as PNG images and narration as WAV audio.
- Use when the user asks "what themes are available?" or wants to browse/select a theme.
## Setup Requirements
Users must have a 2slides API key and credits:
1. **Get API Key:** Visit https://2slides.com/api to create an account and API key
- New users receive **500 free credits** (~50 Fast PPT pages)
2. **Purchase Credits (Optional):** Visit https://2slides.com/pricing to buy additional credits
- Pay-as-you-go, no subscriptions
- Credits never expire
- Up to 20% off on larger packages
3. **Set API Key:** Store the key in environment variable: `SLIDES_2SLIDES_API_KEY`
```bash
read -r -s SLIDES_2SLIDES_API_KEY
export SLIDES_2SLIDES_API_KEY
```
4. **Install Script Dependencies:** From this skill directory, install the pinned local requirements before using the Python scripts:
```bash
python -m pip install -r requirements.txt
```
**Credit Costs:**
- Fast PPT: 10 credits/page
- Nano Banana 1K/2K: 100 credits/page
- Nano Banana 4K: 200 credits/page
- Voice Narration: 210 credits/page
- Download Export: FREE
See [references/pricing.md](references/pricing.md) for detailed pricing information.
## Workflow Decision Tree
Choose the appropriate approach based on the user's request:
```
User Request
│
├─ "Create slides from this content/text"
│ └─> Use Content-Based Generation (Section 1)
│
├─ "Create slides like this image"
│ └─> Use Reference Image Generation (Section 2)
│
├─ "Create custom designed slides" or "Create PDF slides"
│ └─> Use Custom PDF Generation (Section 3)
│
├─ "Create slides from this document"
│ └─> Use Document Summarization (Section 4)
│
├─ "Add voice narration" or "Generate audio for slides"
│ └─> Use Voice Narration (Section 5)
│
├─ "Download slides as images" or "Export slides and voices"
│ └─> Use Download Export (Section 6)
│
└─ "Search for themes" or "What themes are available?"
└─> Use Theme Search (Section 7)
```
---
## 1. Content-Based Generation
Generate slides from user-provided text content.
### When to Use
- User provides content directly in their message
- User says "create a presentation about X"
- User provides structured outline or bullet points
### Workflow
**Step 1: Prepare Content**
Structure the content clearly for best results:
```
Title: [Main Topic]
Section 1: [Subtopic]
- Key point 1
- Key point 2
- Key point 3
Section 2: [Subtopic]
- Key point 1
- Key point 2
```
**Step 2: Choose Theme (Required)**
Search for an appropriate theme (themeId is required):
All download URLs (PDF, ZIP archives) are valid for **1 hour only**. Download files promptly after generation.
### Language Support
Generate slides in multiple languages (use full language name):
```bash
--language "Auto" # Automatic detection (default)
--language "English" # English
--language "Simplified Chinese" # 简体中文
--language "Traditional Chinese" # 繁體中文
--language "Spanish" # Español
--language "French" # Français
--language "German" # Deutsch
--language "Japanese" # 日本語
--language "Korean" # 한국어
```
And more: Arabic, Portuguese, Indonesian, Russian, Hindi, Vietnamese, Turkish, Polish, Italian
### Error Handling
**Common error codes:**
1. **Missing API key**
```
Error: API key not found
Solution: Set SLIDES_2SLIDES_API_KEY environment variable
```
2. **RATE_LIMIT_EXCEEDED**
```
Error: 429 Too Many Requests
Solution: Wait 20-30 seconds before retrying
Rate limits: Fast PPT (10/min), Nano Banana (6/min)
```
3. **INSUFFICIENT_CREDITS**
```
Error: Not enough credits
Solution: Add credits at https://2slides.com/api
```
4. **INVALID_JOB_ID**
```
Error: Job ID not found or invalid
Solution: Verify job ID format (must be UUID for Nano Banana)
```
5. **Invalid content**
```
Error: 400 Bad Request
Solution: Verify content format and parameters
```
---
## Script Parameter Reference (2slides API)
All scripts accept parameters that match [2slides API](https://2slides.com/api.md). Allowed values are defined in `scripts/api_constants.py` and enforced where applicable.
| Script | Key parameters | Allowed values (see script `--help` or api_constants.py) |
See [api-reference.md](references/api-reference.md) for:
- All endpoints and parameters
- Request/response formats
- Authentication details
- Rate limits and best practices
- Error codes and handling
### Pricing Information
See [pricing.md](references/pricing.md) for:
- Credit packages and pricing
- Cost examples and calculations
- Free trial details
- Refund policy
- Enterprise options
---
## Tips for Best Results
**Content Structure:**
- Use clear headings and subheadings
- Keep bullet points concise
- Limit to 3-5 points per section
- Include relevant examples or data
**Theme Selection:**
- Theme ID is required for standard generation
- Search with keywords matching presentation purpose
- Common searches: "business", "professional", "creative", "education", "modern"
- Each theme has unique styling and layout
**Reference Images:**
- Use high-quality images for best results
- Can use URL or base64 encoded image
- Public URL must be accessible
- Consider resolution setting (1K/2K/4K) based on quality needs
- Use page=0 for automatic slide count detection
**Document Processing:**
- Extract only key information
- Don't try to fit entire document in slides
- Focus on main insights and takeaways
- Ask user which sections to emphasize
---
## Security & Safety Notes
- **Credentials:** This skill reads the API key from the `SLIDES_2SLIDES_API_KEY` environment variable. Never hard-code the key in commands, commit it, or echo it back to the user. The scripts send it as a bearer/`apikey` value to `https://2slides.com` over HTTPS only.
- **Network + paid mutations:** Every generation call makes an outbound network request to the 2slides API and **spends the user's credits** (10–210 credits/page depending on mode). Treat generation, reference-image, custom-PDF, and narration calls as billable actions — confirm intent before generating large or high-resolution (4K) decks, and surface the expected page count/cost when it is non-trivial.
- **No destructive local actions:** The scripts only read content/files the user points to and write generated output (e.g. a downloaded ZIP) to the path the user specifies. They do not modify or delete unrelated files.
- **Input handling:** Reference-image and document inputs are sent to the 2slides service for processing. Do not submit confidential material the user has not authorized for third-party processing.
- **Download URLs expire in 1 hour** — fetch artifacts promptly and do not treat the URLs as durable storage.
## Limitations
- Requires a valid 2slides account, API key, and sufficient credits; this skill does not provision or pay for credits.
- Results are AI-generated drafts intended as a starting point, not a final, fact-checked deliverable — review content before use.
- This skill does not replace environment-specific validation or expert review. Stop and ask for clarification if the API key, required inputs, or intended cost/scope are missing.
- Rate limits apply (Fast PPT 10/min, Nano Banana 6/min); poll async jobs every 20–30s rather than tight-looping.
## Related Skills
- `@youtube-full` — fetch source material (transcripts) that can be summarized into a deck with this skill.