Quick start
Get started in 3 easy steps
Objective
Generate a fresh presentation by utilizing a PowerPoint template and JSON data via a request to the PowerPointGeneratorAPI service.
Step 1. Create an account
Sign up to PowerPointGeneratorAPI here. Make a note of your email address, password and security key. You will need these to create an authentication token.
Step 2. Create an authentication token
All API calls require authentication. You can create an authentication token manually using the Web Console or programmatically using the POST below.
Create authentication token
POST https://auth.powerpointgeneratorapi.com/v1.0/token/create
This endpoint enables you to create an authentication token. You will need this for all requests to the API. Your authentication token is only valid for 24 hours. Once your token has expired you will need to request a new token.
Headers
Content-Type*
String
multipart/form-data
Request Body
username*
String
your email address
password*
String
your account password
key*
String
your security key
SuccessBad Request Example Requests
curl -d "username=<your_username>&password=<your_password>&key=<your_security_key>" \
-X POST https://auth.powerpointgeneratorapi.com/v1.0/token/createimport requests
# API endpoint for token creation
url = "https://auth.powerpointgeneratorapi.com/v1.0/token/create"
# Your credentials and security key
credentials = {
'username': '<your_username>',
'password': '<your_password>',
'key': '<your_security_key>'
}
# Headers for the HTTP request
headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
# Send a POST request to the API endpoint with credentials
response = requests.post(url, headers=headers, data=credentials)
# Print the response from the API
print(response.text)
// Create a new FormData object to handle the form data
const formData = new FormData();
formData.append("username", "<your_username>");
formData.append("password", "<your_password>");
formData.append("key", "<your_security_key>");
// Define the options for the fetch request
const requestOptions = {
method: 'POST',
body: formData, // Set the body of the request to the FormData object
redirect: 'follow' // Specify the redirect behavior
};
// Make a POST request to the authentication endpoint
fetch("https://auth.powerpointgeneratorapi.com/v1.0/token/create", requestOptions)
.then(response => response.text()) // Parse the response as text
.then(result => console.log(result)) // Log the result to the console
.catch(error => console.error('Error:', error)); // Log any errors that occur
Select
form-datain theBodytabPopulate the
KEYandVALUEwith your username, password and keyHit
Sendto get your Token

Step 3: Make a request to PowerPointGeneratorAPI
Download the ZIP folder below and extract its contents. Then, use Postman or any API client to send the .pptx template file and the JSON data file to the generator/create endpoint to generate your presentation.
Create presentation
POST https://gen.powerpointgeneratorapi.com/v1.0/generator/create
Headers
Content-Type*
String
multipart/form-data
Authorization*
String
Bearer authentication token
Request Body
files*
Object
.pptx template file
jsonData*
String
JSON payload
SuccessBad RequestUnauthorizedExample Requests
curl --location --request POST 'https://gen.powerpointgeneratorapi.com/v1.0/generator/create' \
-H 'Content-Type: multipart/form-data' \
-H 'Authorization: Bearer <add_your_token_here>' \
-F 'files=@title_slide_template.pptx' \
-F 'jsonData={"presentation":{"template":"title_slide_template.pptx","export_version":"Pptx2010","resultFileName":"quick_start_example","slides":[{"type":"slide","slide_index":0,"shapes":[{"name":"Title 1","content":"Your generated PowerPoint presentation"},{"name":"Subtitle 2","content":"Create,fill and manage PowerPoint documents through simple API requests."}]}]}}'import requests
auth_token = 'your_actual_token_here'
payload = {
"jsonData": '''{
"presentation": {
"template": "title_slide_template.pptx",
"export_version": "Pptx2013",
"slides": [
{
"type": "slide",
"slide_index": 0,
"shapes": [
{
"name": "Title 1",
"content": "Your generated PowerPoint presentation"
},
{
"name": "Subtitle 2",
"content": "Create, fill and manage PowerPoint documents through simple API requests."
}
]
}
]
}
}'''
}
with open("./title_slide_template.pptx", "rb") as pptx_file:
files = [
('files', ('title_slide_template.pptx', pptx_file, 'application/vnd.openxmlformats-officedocument.presentationml.presentation'))
]
try:
print("⏳ Sending request...")
response = requests.post(
'https://gen.powerpointgeneratorapi.com/v1.0/generator/create',
data=payload,
files=files,
headers={'Authorization': f'Bearer {auth_token}'},
timeout=360
)
print("🚀 Response received!")
# Validate response before saving
if response.status_code == 200:
with open("./generated.pptx", "wb") as output_file:
output_file.write(response.content)
print("✅ PowerPoint file generated successfully!")
else:
print(f"❌ Error: {response.status_code} - {response.text}")
except requests.exceptions.RequestException as e:
print(f"⚠️ Request failed: {e}")
const formData = new FormData();
formData.append("jsonData", JSON.stringify('{"presentation":{"template":"url of title_slide_template.pptx","export_version":"Pptx2010","resultFileName":"quick_start_example","slides":[{"type":"slide","slide_index":0,"shapes":[{"name":"Title 1","content":"YourgeneratedPowerPointpresentation"},{"name":"Subtitle 2","content":"Create,fillandmanagePowerPointdocumentsthroughsimpleAPIrequests."}]}]}}'));
const request = new XMLHttpRequest();
request.open(
"POST",
"https://gen.powerpointgeneratorapi.com/v1.0/generator/create",
true
);
request.setRequestHeader(
"Authorization",
"Bearer <add_your_token_here>"
);
request.responseType = "blob";
request.onload = function () {
if (request.readyState === request.DONE && request.status === 200) {
var blob = new Blob([request.response], {
type: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
});
var link = document.createElement("a");
link.href = window.URL.createObjectURL(blob);
link.download = "generated.pptx";
link.click();
}
};
request.send(formData);Select the
Authorizationtab, enter yourToken.

Select the
Bodytab, selectform-data, add the two key-value parameters below:
files
upload/ attach the .pptx file from the quick-start.zip folder above
jsonData
Copy and paste the data from the .json file in the quick-start.zip folder above.

Click the down arrow next to
Sendthen selectSend and Download. Once the result is successfully received, save the output as.pptx.

Output .pptx file
You will receive a byte array that can be converted to a PowerPoint presentation. Your PowerPoint will contain a single slide that looks like this:
Last updated
Was this helpful?