| 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). 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:
- 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)
- 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
- Set API Key: Store the key in environment variable:
SLIDES_2SLIDES_API_KEY
read -r -s SLIDES_2SLIDES_API_KEY
export SLIDES_2SLIDES_API_KEY
- Install Script Dependencies: From this skill directory, install the pinned local requirements before using the Python scripts:
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 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):
python scripts/search_themes.py --query "business"
python scripts/search_themes.py --query "professional"
python scripts/search_themes.py --query "creative"
Pick a theme ID from the results.
Step 3: Generate Slides
Use the generate_slides.py script with the theme ID:
python scripts/generate_slides.py --content "Your content here" --theme-id "theme123"
python scripts/generate_slides.py --content "Your content" --theme-id "theme123" --language "Spanish"
python scripts/generate_slides.py --content "Your content" --theme-id "theme123" --mode async
Step 4: Handle Results
Sync mode response:
{
"slideUrl": "https://2slides.com/slides/abc123",
"pdfUrl": "https://2slides.com/slides/abc123/download",
"status": "completed"
}
Provide both URLs to the user:
slideUrl: Interactive online slides
pdfUrl: Downloadable PDF version
Async mode response:
{
"jobId": "job123",
"status": "pending"
}
Poll for results:
python scripts/get_job_status.py --job-id "job123"
2. Reference Image Generation
Generate slides that match the style of a reference image.
When to Use
- User provides an image URL and says "create slides like this"
- User wants to match existing brand/design style
- User has a template image they want to emulate
Workflow
Step 1: Verify Image URL
Ensure the reference image is:
- Publicly accessible URL
- Valid image format (PNG, JPG, etc.)
- Represents the desired slide style
Step 2: Generate Slides
Use the generate_slides.py script with --reference-image:
python scripts/generate_slides.py \
--content "Your presentation content" \
--reference-image "https://example.com/template.jpg" \
--language "Auto"
Optional parameters (all values from 2slides API):
--language LANG
--mode sync|async
--aspect-ratio RATIO
--resolution 1K|2K|4K
--page N
--content-detail concise|standard
Note: This uses Nano Banana Pro mode with credit costs:
- 1K/2K: 100 credits per page
- 4K: 200 credits per page
Step 3: Handle Results
This mode always runs synchronously and returns:
{
"slideUrl": "https://2slides.com/workspace?jobId=...",
"pdfUrl": "https://...pdf...",
"status": "completed",
"message": "Successfully generated N slides",
"slidePageCount": N
}
Provide both URLs to the user:
slideUrl: View slides in 2slides workspace
pdfUrl: Direct PDF download (expires in 1 hour)
Processing time: ~30 seconds per page (30-60 seconds typical for 1-2 pages)
3. Custom PDF Generation
Generate custom-designed slides from text without needing a reference image.
When to Use
- User wants custom design without providing a reference image
- User requests "create PDF slides"
- User wants to specify design characteristics
- Alternative to theme-based generation with more design flexibility
Workflow
Step 1: Prepare Content
Structure the content clearly:
Title: [Main Topic]
Section 1: [Subtopic]
- Key point 1
- Key point 2
Section 2: [Subtopic]
- Key point 1
- Key point 2
Step 2: Generate Slides
Use the create_pdf_slides.py script:
python scripts/create_pdf_slides.py --content "Your content here"
python scripts/create_pdf_slides.py \
--content "Sales Report Q4 2025" \
--design-style "modern minimalist, blue color scheme"
python scripts/create_pdf_slides.py \
--content "Marketing Plan" \
--resolution 4K \
--page 0 \
--content-detail standard
Optional parameters:
--design-style "text"
--language LANG
--aspect-ratio RATIO
--resolution 1K|2K|4K
--page N
--content-detail concise|standard
Step 3: Handle Results
Returns same structure as create-like-this:
{
"slideUrl": "https://2slides.com/workspace?jobId=...",
"pdfUrl": "https://...pdf...",
"status": "completed",
"message": "Successfully generated N slides",
"slidePageCount": N
}
Notes:
- Same credit costs as create-like-this (100 credits/page for 1K/2K, 200 for 4K)
- Processing time: ~30 seconds per page
- Automatically generates PDF
- Uses AI to create custom design based on content and specs
4. Document Summarization
Generate slides from document content.
When to Use
- User uploads a document (PDF, DOCX, TXT, etc.)
- User says "create slides from this document"
- User wants to summarize long content into presentation format
Workflow
Step 1: Read Document
Use appropriate tool to read the document content:
- PDF: Use PDF reading tools
- DOCX: Use DOCX reading tools
- TXT/MD: Use Read tool
Step 2: Extract Key Points
Analyze the document and extract:
- Main topics and themes
- Key points for each section
- Important data, quotes, or examples
- Logical flow and structure
Step 3: Structure Content
Format extracted information into presentation structure:
Title: [Document Main Topic]
Introduction
- Context
- Purpose
- Overview
[Section 1 from document]
- Key point 1
- Key point 2
- Supporting detail
[Section 2 from document]
- Key point 1
- Key point 2
- Supporting detail
Conclusion
- Summary
- Key takeaways
- Next steps
Step 4: Generate Slides
Use content-based generation workflow (Section 1). First search for a theme, then generate:
python scripts/search_themes.py --query "business"
python scripts/generate_slides.py --content "[Structured content from step 3]" --theme-id "theme123"
Tips:
- Keep slides concise (3-5 points per slide)
- Focus on key insights, not full text
- Use document headings as slide titles
- Include important statistics or quotes
- Ask user if they want specific sections highlighted
5. Voice Narration
Add AI-generated voice narration to slides.
When to Use
- User wants to add audio to slides
- User requests "add voice narration" or "generate audio"
- User wants presentations with spoken content
- User needs multi-speaker narration
Prerequisites
IMPORTANT: The slide generation job must be completed before adding narration.
- Generate slides first using any method (Section 1, 2, 3, or 4)
- Get the job ID from the generation result
- Ensure job status is "completed" before requesting narration
Workflow
Step 1: Choose Voice
30 voices available including:
- Puck (default)
- Aoede
- Charon
- Kore
- Fenrir
- Phoebe
- And 24 more...
List all voices:
python scripts/generate_narration.py --list-voices
Step 2: Generate Narration
Use the generate_narration.py script with the job ID:
python scripts/generate_narration.py --job-id "abc-123-def-456"
python scripts/generate_narration.py --job-id "abc-123-def-456" --voice Aoede
python scripts/generate_narration.py --job-id "abc-123-def-456" --multi-speaker
Parameters (aligned with 2slides API):
--job-id: Job ID (required, UUID for Nano Banana)
--voice: Voice name (default: Puck); use --list-voices for all 30
--language: Narration language (default: Auto)
--multi-speaker: Enable multi-speaker mode
--list-voices: Print the supported voices without calling the API
Step 3: Check Status
Narration generation runs asynchronously:
python scripts/get_job_status.py --job-id "abc-123-def-456"
Step 4: Handle Results
Once completed, the job will include narration files. Use download endpoint (Section 6) to get audio files.
Notes:
- Cost: 210 credits per page (10 for text, 200 for audio)
- Processing time varies by slide count
- 30 voice options available
- Supports 19 languages plus auto-detection
- Multi-speaker mode uses different voices for variety
6. Download Export
Download slides as PNG images and voice narrations as WAV files.
When to Use
- User wants to download slides as images
- User needs voice files separately
- User wants transcripts
- User needs slides in image format for other tools
Workflow
Step 1: Verify Job Complete
Ensure slides (and optionally narration) are generated and job is completed.
Step 2: Download Archive
Use the download_slides_pages_voices.py script:
python scripts/download_slides_pages_voices.py --job-id "abc-123-def-456"
python scripts/download_slides_pages_voices.py \
--job-id "abc-123-def-456" \
--output "my-presentation.zip"