Skip to main content

Generate

Generate a presentation

Base URL

https://appdev.mexus.cc

Authentication

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

ParameterTypeRequiredDescription
projectIdstringYesProject ID
presentationobjectYesPresentation content
presentation.slideListarrayYesList of slides
presentation.slideList[].templateKeystringYesTemplate identifier
presentation.slideList[].contentobjectYesField 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[].attributesobjectNoSlide attributes
presentation.slideList[].attributes.speakerNotestringNoSpeaker notes
presentation.slideList[].attributes.hiddenbooleanNoWhether to hide this slide
presentation.slideList[].attributes.slideNumberobject or booleanNoSlide number settings
presentation.attributesobjectNoPresentation attributes
presentation.attributes.titlestringNoPresentation title
presentation.attributes.authorstringNoAuthor name
presentation.attributes.companystringNoCompany name
presentation.attributes.subjectstringNoPresentation subject

Slide Number Settings

If slideNumber is an object, it supports the following properties:

PropertyTypeRequiredDescription
xnumberYesX-position (0.0 to 1.0)
ynumberYesY-position (0.0 to 1.0)
colorstringNoText color (e.g., "#333333")
fontSizenumberNoFont 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.