Generate
Generate a presentation
Base URL
https://appdev.mexus.ccAuthentication
All API requests require an API Key included in the Header. If you don't have one, create it on the API Tokens page:
Authorization: Bearer YOUR_API_KEY
Endpoint
POST /api/v1/project/export
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
Request Body
Basic Example
{
"projectId": "your_project_id",
"presentation": {
"slideList": [
{
"templateKey": "your_template_key",
"content": {
"your_field_key": "value1",
"your_field_key2": "value2"
}
}
]
}
}
If you are unsure about what to include in the slideList, you can go to the Playground page to test it out.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
projectId | string | Yes | Project ID |
presentation | object | Yes | Presentation content |
presentation.slideList | array | Yes | List of slides |
presentation.slideList[].templateKey | string | Yes | Template identifier |
presentation.slideList[].content | object | Yes | Field data in key-value format. The structure depends on the fields defined in the selected template. These fields are customizable and controlled by the user |
presentation.slideList[].attributes | object | No | Slide attributes |
presentation.slideList[].attributes.speakerNote | string | No | Speaker notes |
presentation.slideList[].attributes.hidden | boolean | No | Whether to hide this slide |
presentation.slideList[].attributes.slideNumber | object or boolean | No | Slide number settings |
presentation.attributes | object | No | Presentation attributes |
presentation.attributes.title | string | No | Presentation title |
presentation.attributes.author | string | No | Author name |
presentation.attributes.company | string | No | Company name |
presentation.attributes.subject | string | No | Presentation subject |
Slide Number Settings
If slideNumber
is an object, it supports the following properties:
Property | Type | Required | Description |
---|---|---|---|
x | number | Yes | X-position (0.0 to 1.0) |
y | number | Yes | Y-position (0.0 to 1.0) |
color | string | No | Text color (e.g., "#333333") |
fontSize | number | No | Font size in points |
Full Example
{
"projectId": "proj_123456",
"presentation": {
"slideList": [
{
"templateKey": "title-slide",
"content": {
"title": "Annual Report 2025",
"subtitle": "Financial Performance Overview"
},
"attributes": {
"speakerNote": "Welcome everyone to our annual report presentation."
}
},
{
"templateKey": "bullet-list",
"content": {
"title": "Key Achievements",
"bullets": [
"Increased revenue by 25%",
"Expanded to 3 new markets",
"Launched 5 new products"
]
},
"attributes": {
"slideNumber": {
"x": 0.95,
"y": 0.95,
"color": "#333333",
"fontSize": 12
}
}
},
{
"templateKey": "chart-slide",
"content": {
"title": "Revenue Growth",
"chartData": {
"labels": ["Q1", "Q2", "Q3", "Q4"],
"values": [1.2, 1.8, 2.3, 2.9]
}
},
"attributes": {
"hidden": false
}
}
],
"attributes": {
"title": "Annual Report 2025",
"author": "Finance Team",
"company": "Acme Corporation",
"subject": "Financial Performance"
}
}
}
Response
A successful request returns a JSON object with a task ID:
{
"taskId": 123456
}
You can use this task ID to check the status of your presentation generation.