Topic to PPT
Generate PowerPoint presentations from any topic using the MagicSlides API.
Endpoint
POST https://api.magicslides.app/public/api/ppt_from_topic
Request Parameters
topic
The topic you want to generate a presentation about.
Type: string
Required: Yes
extraInfoSource
Additional context or specific focus areas for the presentation.
Type: string
Required: No
Your registered email address.
Type: string
Required: Yes
accessId
Your API access ID.
Type: string
Required: Yes
template
Presentation template style.
Type: string
Required: No
Default: "bullet-point1"
language
Target language for the presentation.
Type: string
Required: No
Default: "en"
slideCount
Number of slides to generate (1-50).
Type: number
Required: No
Default: 10
aiImages
Enable AI-generated images.
Type: boolean
Required: No
Default: false
imageForEachSlide
Include images on every slide.
Type: boolean
Required: No
Default: true
googleImage
Use Google Images instead of AI images.
Type: boolean
Required: No
Default: false
googleText
Use Google search for content enhancement.
Type: boolean
Required: No
Default: false
model
AI model to use - "gpt-4" or "gpt-3.5".
Type: string
Required: No
Default: "gpt-4"
presentationFor
Target audience for the presentation.
Type: string
Required: No
Example Request
{
"topic": "Artificial Intelligence in Healthcare",
"extraInfoSource": "Focus on recent developments and future prospects",
"email": "your-email@example.com",
"accessId": "your-access-id",
"template": "bullet-point1",
"language": "en",
"slideCount": 10,
"aiImages": false,
"imageForEachSlide": true,
"googleImage": false,
"googleText": false,
"model": "gpt-4",
"presentationFor": "healthcare professionals"
}
Example Response
{
"success": true,
"data": {
"url": "https://example.com/path/to/presentation.pptx",
...
},
"message": "Presentation generated successfully"
}
Code Examples
TypeScript
import axios from 'axios';
async function generateFromTopic() {
try {
const response = await axios.post(
'https://api.magicslides.app/public/api/ppt_from_topic',
{
topic: 'Artificial Intelligence in Healthcare',
extraInfoSource: 'Focus on recent developments and future prospects',
email: 'your-email@example.com',
accessId: 'your-access-id',
template: 'bullet-point1',
language: 'en',
slideCount: 10,
aiImages: false,
imageForEachSlide: true,
googleImage: false,
googleText: false,
model: 'gpt-4',
presentationFor: 'healthcare professionals'
},
{
headers: {
'Content-Type': 'application/json'
}
}
);
console.log('Presentation URL:', response.data.data.url);
return response.data;
} catch (error) {
console.error('Error generating presentation:', error);
throw error;
}
}
Python
import requests
def generate_from_topic():
try:
response = requests.post(
'https://api.magicslides.app/public/api/ppt_from_topic',
json={
'topic': 'Artificial Intelligence in Healthcare',
'extraInfoSource': 'Focus on recent developments and future prospects',
'email': 'your-email@example.com',
'accessId': 'your-access-id',
'template': 'bullet-point1',
'language': 'en',
'slideCount': 10,
'aiImages': False,
'imageForEachSlide': True,
'googleImage': False,
'googleText': False,
'model': 'gpt-4',
'presentationFor': 'healthcare professionals'
},
headers={
'Content-Type': 'application/json'
}
)
response.raise_for_status()
data = response.json()
print('Presentation URL:', data['data']['url'])
return data
except requests.exceptions.RequestException as e:
print('Error:', e)
raise
cURL
curl -X POST https://api.magicslides.app/public/api/ppt_from_topic \
-H "Content-Type: application/json" \
-d '{
"topic": "Artificial Intelligence in Healthcare",
"extraInfoSource": "Focus on recent developments and future prospects",
"email": "your-email@example.com",
"accessId": "your-access-id",
"template": "bullet-point1",
"language": "en",
"slideCount": 10,
"aiImages": false,
"imageForEachSlide": true,
"googleImage": false,
"googleText": false,
"model": "gpt-4",
"presentationFor": "healthcare professionals"
}'