← 返回 Skills 市场
javainthinking

Slides/PPT generation and voice narration

作者 javainthinking · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
1580
总下载
0
收藏
5
当前安装
1
版本数
在 OpenClaw 中安装
/install 2slides-skills
功能描述
AI-powered presentation generation using 2slides API. Create slides from text content, match reference image styles, or summarize documents into presentations. Use when users request to "create a presentation", "make slides", "generate a deck", "create slides from this content/document/image", or any presentation creation task. Supports theme selection, multiple languages, and both synchronous and asynchronous generation modes.
使用说明 (SKILL.md)

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:

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

  1. Generate slides first using any method (Section 1, 2, 3, or 4)
  2. Get the job ID from the generation result
  3. 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 (\x3Cjob_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:

  1. Show user available themes with names and descriptions
  2. Ask user to choose or let them use default
  3. 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:

  1. Streamable HTTP Protocol (Recommended)

    • Simplest setup, no local installation
    • Configure: "url": "https://2slides.com/api/mcp?apikey=YOUR_API_KEY"
  2. 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

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

  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
    

Additional Documentation

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
安全使用建议
What to check before installing: - Metadata vs runtime: The registry metadata says no env vars, but SKILL.md and every script require SLIDES_2SLIDES_API_KEY. Treat that as a documentation bug — confirm the skill will only need that single API key before installing. - API key safety: This skill sends your SLIDES_2SLIDES_API_KEY to https://2slides.com endpoints. Only provide the key if you trust that service and are willing to accept API usage and credit costs (narration and high-res generation can be expensive). Rotate the key later if you test it in a shared environment. - Dependencies and execution environment: The bundle includes Python scripts that use the 'requests' package but there is no install spec. Run them in an isolated environment (virtualenv/container) and install packages from a trusted source (pip). Avoid running arbitrary scripts system-wide without review. - Verify domain and endpoints: The scripts only call https://2slides.com/api/v1. Confirm that domain (and certificate) is legitimate and matches the service you expect. - Sandboxing: If you have doubts, run the scripts in a sandboxed VM or container, and monitor outbound network calls to confirm only 2slides endpoints are contacted. - Cost & privacy: Be aware that uploads (content, reference images, documents) and generated audio/images are sent to the vendor. Check the provider's privacy policy if you handle sensitive data. - Fixes recommended: Ask the publisher to correct the registry metadata to declare SLIDES_2SLIDES_API_KEY and to add a minimal install section listing Python and 'requests' (and any other deps). If the publisher cannot be reached, treat the missing metadata as a risk factor and follow the sandboxing guidance above.
功能分析
Type: OpenClaw Skill Name: 2slides-skills Version: 1.0.0 The skill is classified as suspicious due to potential vulnerabilities related to input sanitization and command execution. Specifically, the `SKILL.md` instructs the AI agent to execute Python scripts with arguments that are likely derived from user input (e.g., `--content`, `--query`, `--output`). If the agent does not properly sanitize or escape user-provided strings before interpolating them into shell commands, this could lead to shell injection vulnerabilities. Additionally, the `scripts/download_slides_pages_voices.py` script accepts an `--output` argument for the download path, which, if not sanitized for path traversal by the agent, could allow arbitrary file writes to the system. While the skill's code itself does not exhibit explicit malicious intent (e.g., data exfiltration to unauthorized domains, backdoors), these design choices create significant attack surfaces for an agent that lacks robust input validation.
能力评估
Purpose & Capability
Name/description (Slides/PPT generation + voice narration via 2slides) match the included scripts and SKILL.md: scripts call only the https://2slides.com API and implement generation, narration, download, theme search, and job-status polling. However, the registry metadata lists no required environment variables while SKILL.md and every script require SLIDES_2SLIDES_API_KEY — a clear metadata/runtime mismatch that should be resolved.
Instruction Scope
Runtime instructions are narrowly scoped to contacting the 2slides API, creating jobs, polling job status, requesting narration, and downloading export archives. The SKILL.md asks the user to set an API key and to provide content, reference image URLs, or job IDs; the scripts only read the declared SLIDES_2SLIDES_API_KEY and do not attempt to access unrelated system files or credentials.
Install Mechanism
This is an instruction-only skill (no install spec), but the bundle includes multiple Python scripts that depend on the 'requests' library and a Python runtime. There is no declared dependency list or installation instructions for Python packages. No remote downloads or unusual URLs are used by the install process; network calls go to the 2slides domain. Missing dependency/install guidance is a usability/security gap (could lead users to run scripts without knowing required packages or to install missing packages from unverified sources).
Credentials
Scripts require a single API credential (SLIDES_2SLIDES_API_KEY), which is proportionate for a cloud API integration. The inconsistency is that the registry metadata indicates no required env vars while SKILL.md and all scripts depend on that single secret — the omission in metadata is misleading and should be corrected. No other secrets/config paths are requested.
Persistence & Privilege
The skill does not request permanent/always-on privileges (always:false) and does not modify other skills or system-wide settings. It writes downloaded ZIP files to the local working directory (expected behavior for a downloader) but otherwise does not persist credentials or alter agent configuration.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install 2slides-skills
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /2slides-skills 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of 2slides: AI-powered presentation generation. - Generate professional slides from text, images, or entire documents using the 2slides API. - Supports content-based slide creation, style matching from reference images, custom PDF slide generation, and document summarization. - Includes theme selection, multiple languages, and both synchronous and asynchronous (long-running) modes. - Detailed workflow steps, setup instructions, and credit/pricing breakdown provided. - Additional features: slide export, voice narration, and theme search.
元数据
Slug 2slides-skills
版本 1.0.0
许可证
累计安装 5
当前安装数 5
历史版本数 1
常见问题

Slides/PPT generation and voice narration 是什么?

AI-powered presentation generation using 2slides API. Create slides from text content, match reference image styles, or summarize documents into presentations. Use when users request to "create a presentation", "make slides", "generate a deck", "create slides from this content/document/image", or any presentation creation task. Supports theme selection, multiple languages, and both synchronous and asynchronous generation modes. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1580 次。

如何安装 Slides/PPT generation and voice narration?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install 2slides-skills」即可一键安装,无需额外配置。

Slides/PPT generation and voice narration 是免费的吗?

是的,Slides/PPT generation and voice narration 完全免费(开源免费),可自由下载、安装和使用。

Slides/PPT generation and voice narration 支持哪些平台?

Slides/PPT generation and voice narration 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Slides/PPT generation and voice narration?

由 javainthinking(@javainthinking)开发并维护,当前版本 v1.0.0。

💬 留言讨论