# Send Slides/PPT generation and voice narration to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "2slides-skills",
    "name": "Slides/PPT generation and voice narration",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/javainthinking/2slides-skills",
    "canonicalUrl": "https://clawhub.ai/javainthinking/2slides-skills",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/2slides-skills",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=2slides-skills",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "UPDATE_SUMMARY.md",
      "CHANGELOG.md",
      "README.md",
      "SKILL.md",
      "scripts/generate_narration.py",
      "scripts/get_job_status.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/2slides-skills"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/2slides-skills",
    "downloadUrl": "https://openagent3.xyz/downloads/2slides-skills",
    "agentUrl": "https://openagent3.xyz/skills/2slides-skills/agent",
    "manifestUrl": "https://openagent3.xyz/skills/2slides-skills/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/2slides-skills/agent.md"
  }
}
```
## Documentation

### 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 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

export SLIDES_2SLIDES_API_KEY="your_api_key_here"

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:

# 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 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:

--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 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:

# Basic generation
python scripts/create_pdf_slides.py --content "Your content here"

# With design specifications
python scripts/create_pdf_slides.py \\
  --content "Sales Report Q4 2025" \\
  --design-spec "modern minimalist, blue color scheme"

# High resolution with auto page detection
python scripts/create_pdf_slides.py \\
  --content "Marketing Plan" \\
  --resolution "4K" \\
  --page 0 \\
  --content-detail "standard"

Optional parameters:

--design-spec "text"            # Design specifications (e.g., "corporate professional")
--aspect-ratio "16:9"           # width:height format
--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)
--language "Auto"               # Language for content

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:

# 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

### 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:

# Basic narration with default voice
python scripts/generate_narration.py --job-id "abc-123-def-456"

# With specific voice
python scripts/generate_narration.py --job-id "abc-123-def-456" --voice "Aoede"

# Multi-speaker mode
python scripts/generate_narration.py --job-id "abc-123-def-456" --multi-speaker

# In specific language
python scripts/generate_narration.py \\
  --job-id "abc-123-def-456" \\
  --language "Spanish" \\
  --voice "Charon"

Parameters:

--job-id: Job ID from slide generation (required, must be UUID format for Nano Banana)
--voice: Voice name (default: "Puck")
--multi-speaker: Enable multi-speaker mode (default: off)
--language: Language for narration (default: "Auto")

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:

# Download with default filename (<job_id>.zip)
python scripts/download_slides_pages_voices.py --job-id "abc-123-def-456"

# Download to specific path
python scripts/download_slides_pages_voices.py \\
  --job-id "abc-123-def-456" \\
  --output "my-presentation.zip"

Step 3: Extract Contents

The ZIP archive contains:

Pages: PNG files for each slide
Voices: WAV audio files (if narration was generated)
Transcripts: Text transcripts of narration

Notes:

Cost: Completely FREE (no credits used)
Download URLs valid for 1 hour only
Includes all pages and voice files
High quality PNG export
WAV format for audio

### 7. 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 content
slides_create_like_this - Generate from reference image
themes_search - Search themes
jobs_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

### 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
Recommended polling: Check every 20-30 seconds to avoid server strain

### Rate Limits

Different endpoints have different rate limits:

Fast PPT (generate): 10 requests per minute
Nano Banana (create-like-this, create-pdf-slides): 6 requests per minute

If rate limited, wait before retrying or check plan limits.

### Credit Costs

Fast PPT (generate endpoint): 10 credits per page
Nano Banana 1K/2K (create-like-this, create-pdf-slides): 100 credits per page
Nano Banana 4K: 200 credits per page
Voice Narration: 210 credits per page (10 for text, 200 for audio)
Download Export: FREE (no credits)

### Purchasing Credits

2slides uses a pay-as-you-go credit system with no subscriptions required.

Credit Packages: (Current promotion: up to 20% off)

2,000 credits: $5.00
4,000 credits: $9.50 (5% off)
10,000 credits: $22.50 (10% off)
20,000 credits: $42.50 (15% off)
40,000 credits: $80.00 (20% off)

New users receive 500 free credits for onboarding (~50 Fast PPT pages).

Credits never expire - use them at your own pace.

Purchase credits at: https://2slides.com/pricing

### Download URL Expiration

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):

--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:

Missing API key
Error: API key not found
Solution: Set SLIDES_2SLIDES_API_KEY environment variable



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)



INSUFFICIENT_CREDITS
Error: Not enough credits
Solution: Add credits at https://2slides.com/api



INVALID_JOB_ID
Error: Job ID not found or invalid
Solution: Verify job ID format (must be UUID for Nano Banana)



Invalid content
Error: 400 Bad Request
Solution: Verify content format and parameters

### API Reference

See 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 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
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: javainthinking
- Version: 1.0.0
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/2slides-skills)
- [Send to Agent page](https://openagent3.xyz/skills/2slides-skills/agent)
- [JSON manifest](https://openagent3.xyz/skills/2slides-skills/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/2slides-skills/agent.md)
- [Download page](https://openagent3.xyz/downloads/2slides-skills)