Skip to content

Generate a Presentation Slide by Slide

POST https://api.slidespeak.co/api/v1/presentation/generate/slide-by-slide

Generates a custom presentation by allowing you to define the structure and content of each slide individually. Specify titles, layouts, item counts, and content for every slide, along with the presentation template. This endpoint is ideal for advanced users who require precise control over the presentation’s flow and appearance. Returns a task ID for asynchronous processing; poll the task status to retrieve the completed presentation file.


Content-Type: string

application/json

X-API-Key: string

The API key to use for the request.


<YOUR_API_KEY>


slides: list[dict]

A list of slides, each defined as a dictionary. The keys are:

title: string

The title of the slide.

layout: string

The layout type for the slide. See available layout options below.

item_amount: integer

Number of items for the slide (must match the layout constraints).

content: string

The content that will be used for the slide.

images: list[ImageRequest] OPTIONAL

Array of image specifications for the slide. Example:

"images": [
{"type": "url", "data": "https://example.com/image.jpg"},
{"type": "stock", "data": "search keywords"},
{"type": "ai", "data": "generation prompt"},
]

Note: Currently only supports layouts with a single image. Only the first image in the array will be used.

ImageRequest object:

  • type: One of 'url', 'stock', or 'ai'
  • data: URL for 'url', search keywords for 'stock' or generation prompt for 'ai'

See the available layout options in the Layouts section and sample body below for further reference about the contents of each key.

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 the Get All Templates endpoint.

language: string OPTIONAL (default: 'ORIGINAL' — implied from the content.)

The language to use in the presentation.

fetch_images: boolean OPTIONAL (default: true)

Whether to include stock images.

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

How verbose, or long, the text should be.

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_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


Terminal window
curl -X POST https://api.slidespeak.co/api/v1/presentation/generate/slide-by-slide -H "Content-Type: application/json" -H "x-api-key: <YOUR_API_KEY>" -d '{
"template": "default",
"language": "ENGLISH",
"fetch_images": true,
"slides": [
{
"title": "Introduction to African Wildlife",
"layout": "items",
"item_amount": 3,
"content": "Diversity of Species Over 1,100 mammal species, including iconic animals like elephants, lions, and rhinoceroses. Approximately 2,600 bird species, making Africa a birdwatcher's paradise. Ecosystems and Habitats Savannas: Home to large herbivores and predators, characterized by grasslands and scattered trees.",
"images": [
{
"type": "stock_photo",
"data": "herd of elephants"
}
]
},
{
"title": "Conservation Success Timeline",
"layout": "timeline",
"item_amount": 4,
"content": "1961: World Wildlife Fund established. 1973: CITES treaty signed to regulate wildlife trade. 1989: Ivory trade ban implemented globally. 2016: African elephant population stabilizes in protected areas."
},
{
"title": "Threats vs Solutions",
"layout": "comparison",
"item_amount": 2,
"content": "Threats: Poaching for ivory and rhino horn, habitat loss due to agriculture, human-wildlife conflict in border areas. Solutions: Anti-poaching patrols, community conservation programs, wildlife corridors connecting protected areas."
},
{
"title": "Key Statistics",
"layout": "big-number",
"item_amount": 3,
"content": "1.1 million square kilometers of protected areas across Africa. 70% decline in wildlife populations since 1970. $29.2 billion annual revenue from wildlife tourism."
}
]
}'

{
"template": "default",
"language": "ENGLISH",
"fetch_images": true,
"slides": [
{
"title": "Introduction to African Wildlife",
"layout": "items",
"item_amount": 3,
"content": "Diversity of Species Over 1,100 mammal species, including iconic animals like elephants, lions, and rhinoceroses. Approximately 2,600 bird species, making Africa a birdwatcher's paradise. Ecosystems and Habitats Savannas: Home to large herbivores and predators, characterized by grasslands and scattered trees.",
"images": [
{"type": "stock", "data": "herd of elephants"}
]
},
{
"title": "Conservation Success Timeline",
"layout": "timeline",
"item_amount": 4,
"content": "1961: World Wildlife Fund established. 1973: CITES treaty signed to regulate wildlife trade. 1989: Ivory trade ban implemented globally. 2016: African elephant population stabilizes in protected areas."
},
{
"title": "Threats vs Solutions",
"layout": "comparison",
"item_amount": 2,
"content": "Threats: Poaching for ivory and rhino horn, habitat loss due to agriculture, human-wildlife conflict in border areas. Solutions: Anti-poaching patrols, community conservation programs, wildlife corridors connecting protected areas."
},
{
"title": "Key Statistics",
"layout": "big-number",
"item_amount": 3,
"content": "1.1 million square kilometers of protected areas across Africa. 70% decline in wildlife populations since 1970. $29.2 billion annual revenue from wildlife tourism."
}
]
}

{
"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"
}
}