How It Works
Learn the three-step process to generate presentations with Pluslide's API.
Pluslide's architecture is designed for simplicity and speed. This page explains the complete workflow from template design to PPTX generation.
Overview
The Pluslide workflow consists of three main steps:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Design │ │ Call │ │ Download │
│ Template │ ──▶ │ API │ ──▶ │ PPTX │
│ (Once) │ │ (Single Call) │ │ (Instant) │
└─────────────────┘ └─────────────────┘ └─────────────────┘Step 1: Design Your Template
Templates are the foundation of your presentations. Using the Pluslide Editor, you can:
Create a Project
A Project is a container for your templates. Each project has:
- A unique Project ID used in API calls
- Multiple templates for different slide layouts
Add Templates
Each Template represents a slide layout. When designing templates:
- Define the visual structure (title, content areas, images)
- Add Fields as placeholders for dynamic data
Define Fields
Fields are the dynamic elements in your template:
| Field Type | Description | Example Use |
|---|---|---|
| Text | Dynamic text content | Titles, paragraphs, labels |
| Image | Dynamic images | Logos, photos, diagrams |
| Shape | Vector shapes | Decorative elements |
| Group | Grid layout container | Responsive grids, card layouts |
| List | Repeatable items | Bullet points, numbered lists |
| Chart | Data visualizations | Bar, line, pie charts |
Responsive Layouts with Group
Group is the key to adaptive layouts in Pluslide. It works like CSS grid, automatically arranging child elements based on the available space and data. This means your templates adapt gracefully when the data changes, without manual repositioning.
Step 2: Call the API
Once your template is ready, generating presentations is a single API call:
POST /v1/project/export
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"projectId": "proj_123456",
"presentation": {
"slideList": [
{
"templateKey": "title-slide",
"content": {
"title": "Quarterly Report",
"subtitle": "Q4 2024 Results"
}
}
]
}
}Understanding slideList
The slideList array is where you compose your presentation. Each item pairs a template with a content object—the dynamic data you provide:
{
"slideList": [
{ "templateKey": "title-slide", "content": { "title": "..." } },
{ "templateKey": "chart-slide", "content": { "chartData": [...] } },
{ "templateKey": "summary-slide", "content": { "bullets": [...] } }
]
}Key concepts:
- Reuse templates: Use the same template multiple times with different data
- Mix and match: Combine different templates to build a complete deck
- Dynamic length: Generate 5 slides or 20 slides—same API, same logic
- Order matters: Slides appear in the order you define them
This design separates structure (templates you design once) from content (dynamic data you pass per request), making it trivial to generate presentations from databases, APIs, or user input.
Step 3: Download Your PPTX
The API response includes a direct download URL:
{
"url": "https://storage.pluslide.com/presentations/abc123.pptx"
}