Generate professional presentations programmatically. One API call to transform data into slides.
https://api.slidestrike.comAll API requests require authentication using an API key in the Authorization header.
curl https://api.slidestrike.com/v1/presentations \ -H "Authorization: Bearer ss_live_your_api_key"
API Key Prefixes:ss_test_ - Test/sandbox keys (limited to 100 requests)ss_live_ - Production keys (full access)
SlideStrike accepts multiple data formats. Specify the type in your data.type field.
jsonJSON object with your data
csvCSV formatted string
textPlain text content
imageBase64 encoded image for OCR
urlURL to fetch data from
Choose a template to define the presentation structure. Each template is optimized for specific use cases.
executive-summaryweekly-statusmonthly-reviewquarterly-reportproject-kickoffsprint-reviewconstruction-progressfinancial-analysissales-pipelinethesis-defense/v1/presentations/generateGenerate a new presentation from your data
curl -X POST https://api.slidestrike.com/v1/presentations/generate \
-H "Authorization: Bearer ss_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"data": {
"type": "csv",
"content": "Task,Status,Progress\nDesign,Complete,100%\nDevelopment,In Progress,60%"
},
"template": "weekly-status",
"options": {
"title": "Sprint 42 Review",
"slides": 6
}
}'{
"data": {
"type": "json",
"content": "{\"project\": \"Website Redesign\", \"status\": \"On Track\", \"budget\": 50000}"
},
"template": "executive-summary",
"options": {
"title": "Q4 Status Update",
"slides": 8,
"style": "professional",
"branding": {
"primary_color": "#ff3b3b",
"secondary_color": "#1e1e1e"
}
},
"output": {
"format": "pptx",
"webhook_url": "https://yoursite.com/webhooks/slidestrike"
}
}{
"id": "pres_abc123xyz",
"status": "pending",
"progress": 0,
"created_at": "2024-01-15T10:30:00Z",
"estimated_completion": "2024-01-15T10:31:00Z",
"metadata": {
"title": "Q4 Status Update",
"template": "executive-summary",
"data_type": "json"
}
}/v1/presentations/{id}Retrieve the status and details of a presentation
curl https://api.slidestrike.com/v1/presentations/pres_abc123xyz \ -H "Authorization: Bearer ss_live_your_api_key"
{
"id": "pres_abc123xyz",
"status": "complete",
"progress": 100,
"created_at": "2024-01-15T10:30:00Z",
"completed_at": "2024-01-15T10:30:45Z",
"slides": 8,
"output": {
"pptx_url": "https://api.slidestrike.com/v1/presentations/pres_abc123xyz/download?format=pptx",
"pdf_url": "https://api.slidestrike.com/v1/presentations/pres_abc123xyz/download?format=pdf",
"embed_url": "https://slidestrike.com/embed/pres_abc123xyz",
"expires_at": "2024-01-22T10:30:45Z"
},
"metadata": {
"title": "Q4 Status Update",
"template": "executive-summary",
"data_type": "json"
}
}/v1/presentationsList all presentations for the authenticated user
limitintegerNumber of results (1-100, default: 20)offsetintegerPagination offset (default: 0)statusstringFilter by status: pending, processing, complete, failed{
"data": [
{
"id": "pres_abc123xyz",
"status": "complete",
"created_at": "2024-01-15T10:30:00Z",
"metadata": { "title": "Q4 Status Update" }
},
{
"id": "pres_def456uvw",
"status": "processing",
"created_at": "2024-01-15T10:35:00Z",
"metadata": { "title": "Weekly Report" }
}
],
"pagination": {
"total": 42,
"limit": 20,
"offset": 0,
"has_more": true
}
}/v1/presentations/{id}/downloadDownload the generated presentation file
formatstringFile format: pptx or pdf (default: pptx)curl -O https://api.slidestrike.com/v1/presentations/pres_abc123xyz/download?format=pptx \ -H "Authorization: Bearer ss_live_your_api_key"
Binary file data (application/vnd.openxmlformats-officedocument.presentationml.presentation)
/v1/presentations/{id}Delete a presentation and its associated files
{
"id": "pres_abc123xyz",
"deleted": true
}Receive notifications when presentations are ready. Include a webhook_url in your create request.
Sent when presentation generation completes successfully
{
"event": "presentation.complete",
"timestamp": "2024-01-15T10:30:45Z",
"data": {
"id": "pres_abc123xyz",
"status": "complete",
"output": { ... }
}
}Sent when presentation generation fails
{
"event": "presentation.failed",
"timestamp": "2024-01-15T10:30:45Z",
"data": {
"id": "pres_abc123xyz",
"status": "failed",
"error": {
"code": "processing_failed",
"message": "Unable to parse data format"
}
}
}All errors return a consistent JSON structure with error details.
{
"error": {
"type": "invalid_request_error",
"code": "missing_required_field",
"message": "The 'data' field is required",
"param": "data",
"doc_url": "https://docs.slidestrike.com/errors/missing_required_field"
}
}| Code | Status | Description |
|---|---|---|
invalid_api_key | 401 | The API key provided is invalid or expired |
insufficient_permissions | 403 | The API key does not have the required permissions |
rate_limit_exceeded | 429 | Too many requests. Check X-RateLimit-* headers |
invalid_json | 400 | Request body is not valid JSON |
missing_required_field | 400 | A required field is missing from the request |
invalid_data_type | 400 | The data.type field has an invalid value |
presentation_not_found | 404 | The requested presentation does not exist |
processing_failed | 500 | An error occurred during presentation generation |
API requests are rate-limited based on your plan. Check the response headers:
X-RateLimit-LimitMaximum requests per minuteX-RateLimit-RemainingRemaining requests in current windowX-RateLimit-ResetUnix timestamp when the limit resets