slidespeakGenerate, edit, and manage PowerPoint presentations via the SlideSpeak API. Use this skill when users want to create presentations from text or documents, edit existing presentations, or work with presentation templates.
Install via ClawdBot CLI:
clawdbot install mve/slidespeakThis skill enables you to create and edit PowerPoint presentations using the SlideSpeak API.
Presentation generation takes 30-60 seconds.
Run the command and wait. The script polls internally until complete:
node scripts/slidespeak.mjs generate --text "Topic"
--no-waitIf you cannot wait for the command to complete, use --no-wait:
node scripts/slidespeak.mjs generate --text "Topic" --no-wait
Returns immediately with:
{
"success": true,
"data": {
"task_id": "abc123...",
"message": "Task started. Check status with: node scripts/slidespeak.mjs status abc123..."
}
}
Then poll the status until complete:
node scripts/slidespeak.mjs status <task_id>
When task_status is SUCCESS, use the request_id to download.
If the script times out while waiting, it returns the task_id so you can continue polling:
{
"success": true,
"data": {
"complete": false,
"task_id": "abc123...",
"task_status": "STARTED",
"message": "Task still processing. Check status with: node scripts/slidespeak.mjs status abc123..."
}
}
The SLIDESPEAK_API_KEY environment variable must be set. Get your API key from https://app.slidespeak.co/settings/developer
All commands use the helper script at scripts/slidespeak.mjs. The script handles API authentication and waits for async tasks to complete automatically (no manual polling needed).
node scripts/slidespeak.mjs generate --text "Your topic or content" --length 6
Options:
--text (required): Topic or content for the presentation--length: Number of slides (default: 10)--template: Template name or ID (default: "default")--language: Output language (default: "ORIGINAL")--tone: casual, professional, funny, educational, sales_pitch--verbosity: concise, standard, text-heavy--no-images: Disable stock image fetching--no-cover: Exclude cover slide--no-toc: Exclude table of contentsFirst upload the document, then generate:
# Upload a document (PDF, DOCX, PPTX, etc.)
node scripts/slidespeak.mjs upload /path/to/document.pdf
# Use the returned document_uuid to generate
node scripts/slidespeak.mjs generate --document <document_uuid> --length 10
Supported formats: .pdf, .docx, .doc, .pptx, .ppt, .xlsx, .txt, .md
# Default templates
node scripts/slidespeak.mjs templates
# Branded templates (if configured)
node scripts/slidespeak.mjs templates --branded
After generation completes, use the request_id to download:
node scripts/slidespeak.mjs download <request_id>
Returns a JSON object with a short-lived download URL.
Edit slides in an existing presentation:
# Insert a new slide at position 2
node scripts/slidespeak.mjs edit-slide \
--presentation-id <id> \
--type INSERT \
--position 2 \
--prompt "Content about market analysis"
# Regenerate slide at position 3
node scripts/slidespeak.mjs edit-slide \
--presentation-id <id> \
--type REGENERATE \
--position 3 \
--prompt "Updated content for this slide"
# Remove slide at position 4
node scripts/slidespeak.mjs edit-slide \
--presentation-id <id> \
--type REMOVE \
--position 4
Edit types:
INSERT: Add a new slide at the positionREGENERATE: Replace existing slide contentREMOVE: Delete the slide (no prompt needed)For debugging or manual polling:
node scripts/slidespeak.mjs status <task_id>
node scripts/slidespeak.mjs me
For precise control over each slide, use the slide-by-slide endpoint. See references/API.md for the full schema.
node scripts/slidespeak.mjs generate-slides --config slides.json
Where slides.json contains:
{
"slides": [
{"title": "Introduction", "layout": "title", "content": "Welcome message"},
{"title": "Key Points", "layout": "bullets", "item_amount": 4, "content": "Main discussion points"}
],
"template": "default"
}
Subscribe to receive notifications when tasks complete:
# Subscribe
node scripts/slidespeak.mjs webhook-subscribe --url "https://your-webhook.com/endpoint"
# Unsubscribe
node scripts/slidespeak.mjs webhook-unsubscribe --url "https://your-webhook.com/endpoint"
The script outputs JSON with either:
{"success": true, "data": {...}}{"success": false, "error": "message"}node scripts/slidespeak.mjs generate --text "Introduction to Machine Learning" --length 8 --tone educational
# Upload the PDF
RESULT=$(node scripts/slidespeak.mjs upload report.pdf)
DOC_ID=$(echo $RESULT | jq -r '.data.document_uuid')
# Generate presentation
node scripts/slidespeak.mjs generate --document "$DOC_ID" --length 12
node scripts/slidespeak.mjs edit-slide \
--presentation-id "abc123" \
--type INSERT \
--position 5 \
--prompt "Add a slide about quarterly revenue growth with charts"
For detailed API documentation including all parameters, layout types, and constraints, read references/API.md.
Generated Mar 1, 2026
HR departments can use SlideSpeak to quickly create training presentations from existing policy documents or new content, ensuring consistent messaging across onboarding sessions. The ability to edit slides allows for easy updates to compliance materials as regulations change.
Sales teams can generate tailored sales presentations from product briefs or customer data, using the tone and length options to match client needs. The template feature helps maintain brand consistency while speeding up proposal development.
Educators can convert lecture notes or research papers into structured presentations for classroom use, leveraging the educational tone and slide-by-slide control for clarity. This saves time in course material preparation while enhancing student engagement.
Consultants can transform lengthy reports into concise PowerPoint summaries for client meetings, using document upload to process PDFs and edit features to highlight key insights. This improves communication and decision-making in project reviews.
Founders can create investor pitch decks from business plans or text descriptions, utilizing templates and tone settings to convey professionalism. The async polling allows for iterative refinement without blocking other tasks during fundraising.
Offer tiered subscription plans based on API usage, such as number of presentations generated per month or advanced features like branded templates. This provides recurring revenue while scaling with customer needs.
Sell annual licenses to large organizations for unlimited access, including custom integrations and dedicated support. This model targets corporations needing bulk presentation creation across departments.
Charge per presentation generated or edited, with volume discounts for heavy users. This appeals to freelancers or small businesses with sporadic needs, minimizing upfront costs.
๐ฌ Integration Tip
Set the SLIDESPEAK_API_KEY environment variable securely and use the --no-wait flag in automated workflows to handle async tasks without timeouts.
Edit PDFs with natural-language instructions using the nano-pdf CLI.
Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.
Convert documents and files to Markdown using markitdown. Use when converting PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx, .xls), HTML, CSV, JSON, XML, images (with EXIF/OCR), audio (with transcription), ZIP archives, YouTube URLs, or EPubs to Markdown format for LLM processing or text analysis.
็จ MinerU API ่งฃๆ PDF/Word/PPT/ๅพ็ไธบ Markdown๏ผๆฏๆๅ ฌๅผใ่กจๆ ผใOCRใ้็จไบ่ฎบๆ่งฃๆใๆๆกฃๆๅใ
Generate hand-drawn style diagrams, flowcharts, and architecture diagrams as PNG images from Excalidraw JSON
The awesome PPT format generation tool provided by baidu.