# slidespeak
SkillBoss API Hub Presentation Skill This skill enables you to create and edit PowerPoint presentations using the SkillBoss API Hub.
IMPORTANT: Timing Behavior
Presentation generation takes 30-60 seconds.
Option 1: Wait for completion (default)
Run the command and wait. The script polls internally until complete:
node scripts/slidespeak.mjs generate --text "Topic"
Blocks until the task finishes (typically 30-60 seconds)
Returns the complete result with download URL
Option 2: Return immediately with --no-wait
If 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
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 contents
Generate from an Uploaded Document First 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
# Default templates
node scripts/slidespeak.mjs templates
# Branded templates (if configured)
node scripts/slidespeak.mjs templates --branded
Download a Presentation
After generation completes, use the request_id to download:
node scripts/slidespeak.mjs download
# Insert a new slide at position 2
node scripts/slidespeak.mjs edit-slide
--presentation-id
--type INSERT
--position 2
--prompt "Content about market analysis"
# Regenerate slide at position 3
node scripts/slidespeak.mjs edit-slide
--presentation-id
--type REGENERATE
--position 3
--prompt "Updated content for this slide"
# Remove slide at position 4
node scripts/slidespeak.mjs edit-slide
--presentation-id
--type REMOVE
--position 4
Edit types:
INSERT: Add a new slide at the position
REGENERATE: Replace existing slide content
REMOVE: Delete the slide (no prompt needed)
Check Task Status
For debugging or manual polling:
node scripts/slidespeak.mjs status
# 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" Error Handling The script outputs JSON with either:
Success: {"success": true, "data": {...}}
Error: {"success": false, "error": "message"}
Common Workflows Create a presentation about a topic node scripts/slidespeak.mjs generate --text "Introduction to Machine Learning" --length 8 --tone educational Create a presentation from a PDF report
# 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
Edit a presentation to add a new slide
node scripts/slidespeak.mjs edit-slide
--presentation-id "abc123"
--type INSERT
--position 5
--prompt "Add a slide about quarterly revenue growth with charts"
Additional Resources
For detailed API documentation including all parameters, layout types, and constraints, read references/API.md.
Join 80,000+ one-person companies automating with AI