2slides Presentation Generation
Generate professional presentations using the 2slides AI API. Supports content-based generation, style matching from reference images, and document summarization.
Setup Requirements
Users must have a 2slides API key:
- Visit https://2slides.com/api to create an API key
- Store the key in environment variable:
SLIDES_2SLIDES_API_KEY
export SLIDES_2SLIDES_API_KEY="your_api_key_here"
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 slides from this document"
│ └─> Use Document Summarization (Section 3)
│
└─ "Search for themes" or "What themes are available?"
└─> Use Theme Search (Section 4)
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:
# Basic generation (theme ID required)
python scripts/generate_slides.py --content "Your content here" --theme-id "theme123"
# In different language
python scripts/generate_slides.py --content "Your content" --theme-id "theme123" --language "Spanish"
# Async mode for longer presentations
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 slidespdfUrl: 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:
--aspect-ratio "16:9" # width:height format (e.g., "16:9", "4:3")
--resolution "2K" # "1K", "2K" (default), or "4K"
--page 5 # Number of slides (0 for auto-detection, max 100)
--content-detail "concise" # "concise" (brief) or "standard" (detailed)
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 workspacepdfUrl: Direct PDF download (expires in 1 hour)
Processing time: ~30 seconds per page (30-60 seconds typical for 1-2 pages)
3. 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:
# Search for appropriate theme
python scripts/search_themes.py --query "business"
# Generate with theme ID
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
4. Theme Search
Find appropriate themes for presentations.
When to Use
- Before generating slides with specific styling
- User asks "what themes are available?"
- User wants professional or branded appearance
Workflow
Search themes:
# Search for specific style (query is required)
python scripts/search_themes.py --query "business"
python scripts/search_themes.py --query "creative"
python scripts/search_themes.py --query "education"
python scripts/search_themes.py --query "professional"
# Get more results
python scripts/search_themes.py --query "modern" --limit 50
Theme selection:
- Show user available themes with names and descriptions
- Ask user to choose or let them use default
- Use the theme ID in generation request
Using the MCP Server
If the 2slides MCP server is configured in Claude Desktop, use the integrated tools instead of scripts.
Two Configuration Modes:
Streamable HTTP Protocol (Recommended)
- Simplest setup, no local installation
- Configure:
"url": "https://2slides.com/api/mcp?apikey=YOUR_API_KEY"
NPM Package (stdio)
- Uses local npm package
- Configure:
"command": "npx", "args": ["2slides-mcp"]
Available MCP tools:
slides_generate- Generate slides from contentslides_create_like_this- Generate from reference imagethemes_search- Search themesjobs_get- Check job status
See mcp-integration.md for complete setup instructions and detailed tool documentation.
When to use MCP vs scripts:
- Use MCP in Claude Desktop when configured
- Use scripts in Claude Code CLI or when MCP not available
Advanced Features
Sync vs Async Mode
Sync Mode (default):
- Waits for generation to complete (30-60 seconds)
- Returns results immediately
- Best for quick presentations
Async Mode:
- Returns job ID immediately
- Poll for results with
get_job_status.py - Best for large presentations or batch processing
Language Support
Generate slides in multiple languages (use full language name):
--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 issues:
Missing API key
Error: API key not found Solution: Set SLIDES_2SLIDES_API_KEY environment variableRate limiting
Error: 429 Too Many Requests Solution: Wait before retrying or check plan limitsInvalid content
Error: 400 Bad Request Solution: Verify content format and parameters
Complete API Reference
For detailed API documentation, see api-reference.md
Includes:
- All endpoints and parameters
- Request/response formats
- Authentication details
- Rate limits and best practices
- Error codes and handling
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