In this guide, you’ll create a presentation directly from JSON by choosing a template, picking slide layouts, and supplying content that matches each layout’s schema.
What you’ll do
- List available templates
- Inspect a template to see its slide layouts and JSON schema
- Create a presentation from your own JSON
- Download the exported file or open it in the editor
Step 1: List templates
Use this to find built‑in and custom templates you can use.
GET /api/v1/ppt/template/all
curl -s https://api.presenton.ai/api/v1/ppt/template/all \
-H "Authorization: Bearer sk-presenton-xxxxx"
Example response:
[
{ "id": "general", "name": "Default" },
{ "id": "modern", "name": "Default" },
{ "id": "standard", "name": "Default" },
{ "id": "swift", "name": "Default" },
{ "id": "custom-20f600db-e55d-4f14-b373-5c43c1668170", "name": "Template with flower" },
{ "id": "custom-88ac23b3-3e1f-4bb0-af7a-860350ab645f", "name": "One Slide Template" }
]
Step 2: Inspect a template (layouts + schema)
Fetch a specific template to see its available slides and the JSON schema for each layout.
GET /api/v1/ppt/template/{template_id}
curl -s https://api.presenton.ai/api/v1/ppt/template/custom-20f600db-e55d-4f14-b373-5c43c1668170 \
-H "Authorization: Bearer sk-presenton-xxxxx"
Example response (truncated):
{
"name": "custom-20f600db-e55d-4f14-b373-5c43c1668170",
"ordered": false,
"slides": [
{
"id": "custom-20f600db-e55d-4f14-b373-5c43c1668170:header-subtitle-decorative-illustration-slide",
"name": "dynamicSlideLayout",
"description": "A slide with a centered header, centered subtitle, and a decorative illustration in the corner",
"json_schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"description": "Centered header text. Max 5 words",
"type": "string",
"minLength": 12,
"maxLength": 32
},
"subtitle": {
"description": "Centered subtitle text under the header. Max 16 words",
"type": "string",
"minLength": 40,
"maxLength": 95
}
},
"required": ["title", "subtitle"],
"additionalProperties": false
}
}
]
}
Your slide content must match the layout’s json_schema.
Use the layout id as the layout value in your request.
Step 3: Create a presentation from JSON
Endpoint:
POST /api/v1/ppt/presentation/create/from-json
Payload structure:
{
"title": "Your Presentation Title",
"template": "<template_id>",
"theme": "professional-dark",
"export_as": "pdf",
"slides": [
{
"layout": "<slide_layout_id>",
"content": { /* must conform to the layout's json_schema */ }
}
]
}
curl -X POST https://api.presenton.ai/api/v1/ppt/presentation/create/from-json \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-presenton-xxxxx" \
-d '{
"title": "Taco Bell",
"template": "custom-20f600db-e55d-4f14-b373-5c43c1668170",
"theme": "professional-dark",
"export_as": "pdf",
"slides": [
{
"layout": "custom-20f600db-e55d-4f14-b373-5c43c1668170:header-subtitle-decorative-illustration-slide",
"content": {
"title": "Introduction to Taco Bell",
"subtitle": "Taco bell was a small shop opened by a small town guy who was recognized greatest chef"
}
}
]
}'
Response:
{
"presentation_id": "f60f4fb2-5dba-4daf-86ae-e7cb39f693c6",
"path": "https://presenton-public.s3.amazonaws.com/users/1d5ec2f2-3119-4132-b483-df5c3c6b05c4/exports/Taco%20Bell-e46c34d6-e8a0-4d80-9671-e81ee95a3521.pdf",
"edit_path": "https://presenton.ai/presentation?id=f60f4fb2-5dba-4daf-86ae-e7cb39f693c6",
"credits_consumed": 0.5
}
Open edit_path in your browser to refine the design visually.
Notes and tips
- Validate content: Respect each layout’s
minLength/maxLength and required fields.
- Themes: See available built‑in themes and customization options in the
Templates & Themes guide.
- Export formats: Use
export_as like pptx or pdf.
Next steps
- Try other layouts from your chosen template and mix multiple slides.
- Explore built‑in templates and themes: Templates & Themes.
- Edit an existing presentation in place: Edit via API.