Skip to content

Generate a Presentation

POST https://api.slidespeak.co/api/v1/presentation/generate

Creates a new presentation using AI by providing either plain text or previously uploaded document UUIDs. Customize the presentation with various parameters such as template, language, tone, verbosity, and branding options. The endpoint returns a task ID for asynchronous processing; poll the task status to retrieve the final presentation file.


Content-Type: string

application/json

X-API-Key: string

The API key to use for the request.


<YOUR_API_KEY>


plain_text: string OPTIONAL

The topic to generate a presentation about.

document_uuids: list[string] OPTIONAL

The UUIDs of the uploaded documents to use for the presentation.

length: number OPTIONAL

The number of slides.

template: string

The name of the template or the ID of a branded template. See the branded templates section for more information.


For options, see Get All Templates.

language: string OPTIONAL (default: 'ORIGINAL')

The language to use in the presentation.


Example: French

fetch_images: boolean OPTIONAL (default: true)

Whether to include stock images.

use_document_images: boolean OPTIONAL (default: true)

Whether to include images from the provided documents. If use_document_images is true, the document_uuids parameter must be provided.

tone: 'default' | 'casual' | 'professional' | 'funny' | 'educational' | 'sales_pitch' OPTIONAL (default: 'default')

The tone to use for the text.

verbosity: 'concise' | 'standard' | 'text-heavy' OPTIONAL (default: 'standard')

How verbose, or long, the text should be.

custom_user_instructions: string OPTIONAL (default: None)

A custom instruction that should be followed when generating the presentation.

include_cover: boolean OPTIONAL (default: true)

Whether to include the ‘cover’ slide.

include_table_of_contents: boolean OPTIONAL (default: true)

Whether to include the ‘table of contents’ slides.

add_speaker_notes: boolean OPTIONAL (default: false)

Whether to add speaker notes to the slides.

use_general_knowledge: boolean OPTIONAL (default: false)

Whether to expand the content with related information, using general knowledge.

use_wording_from_document: boolean OPTIONAL (default: false)

Whether to use wording very similar to the provided documents. If use_wording_from_document is true, the document_uuids parameter must be provided.

use_branding_logo: boolean OPTIONAL (default: false)

Whether to include the ‘Brand Logo’ in the slides. The Brand Logo can be configured in SlideSpeak’s web app under Brand Settings.

use_branding_fonts: boolean OPTIONAL (default: false)

Whether to apply the ‘Brand Fonts’ to the slides. The Brand Fonts can be configured in SlideSpeak’s web app under Brand Settings.


To properly view the presentation with the selected fonts, make sure the fonts are installed on your local machine.

use_branding_color: boolean OPTIONAL (default: false)

Whether to apply the ‘Brand Color’ to the slides. The Brand Color can be configured in SlideSpeak’s web app under Brand Settings.

branding_logo: string OPTIONAL (default: None)

The URL of the brand logo to use in the slides. If both branding_logo and use_branding_logo are provided, branding_logo will take precedence.

branding_fonts: object OPTIONAL (default: None)

The object of brand fonts to use in the slides. If both branding_fonts and use_branding_fonts are provided, branding_fonts will take precedence.


Object structure:

title: string

Font used for slide titles.

body: string

Font used for slide body content.

To properly view the presentation with the selected fonts, make sure the fonts are installed on your local machine.

branding_color: string OPTIONAL (default: None)

The hex color code to use for the slides. If both branding_color and use_branding_color are provided, branding_color will take precedence.


Example: #000000

run_sync: boolean OPTIONAL (default: false)

Whether to run the task synchronously. If set to true, the API will return the presentation as soon as it is ready.


If set to false, the API will return a task ID and the presentation will be available at the task_result URL.


See the Get Task Status endpoint for more information.

response_format: 'powerpoint' | 'pdf' OPTIONAL (default: powerpoint)

The file format of the generated presentation.


Terminal window
curl -X POST "https://api.slidespeak.co/api/v1/presentation/generate" -H "Content-Type: application/json" -H "x-api-key: YOUR_API_KEY" -d '{
"plain_text": "Key moments in the French Revolution",
"length": 6,
"template": "default",
"language": "ORIGINAL",
"fetch_images": true,
"tone": "default",
"verbosity": "standard",
"custom_user_instructions": "Make sure to mention the storming of the Bastille"
}'

{
"plain_text": "Key moments in the French Revolution",
"length": 6,
"template": "default",
"language": "ORIGINAL",
"fetch_images": true,
"tone": "default",
"verbosity": "standard",
"custom_user_instructions": "Make sure to mention the storming of the Bastille"
}

{
"task_id": "353509d6-8efe-401c-a8a9-53ca64b520a3"
}

{
"task_id": "353509d6-8efe-401c-a8a9-53ca64b520a3",
"task_status": "SUCCESS",
"task_result": {
"url": "https://slidespeak-files.s3.us-east-2.amazonaws.com/24d89111-71a1-4c05-a909-2d84123c9ba9.pptx"
},
"task_info": {
"url": "https://slidespeak-files.s3.us-east-2.amazonaws.com/24d89111-71a1-4c05-a909-2d84123c9ba9.pptx"
}
}