For the complete documentation index, see llms.txt. This page is also available as Markdown.

Presentations API

Presentations API requires a Pro or Team plan. Learn more about pricing.

The Plus AI Presentations API allows you to create new presentations programmatically via HTTP request. Creating presentations via the Presentations API is a two step process. First, you being presentation creation with a create request, and then you poll for the final presentation file using the presentations endpoint.

Authentication

To authenticate with the Presentations API, you must first generate an API key. You can generate an API key here. Note: Only one active API key per user is currently allowed. Once you have an API key, you can authenticate your requests to the presentations api using HTTP Bearer authentication:

Authorization: Bearer {PLUSAI_API_KEY}

Creating presentations via HTTP request

Creating presentations is done by sending a POST request to the presentations endpoint:

POST https://api.plusdocs.com/r/v0/presentation

The following content can be sent inside the body payload of the request:

Name

Required

Type

Description

prompt

Yes

string

The input text prompt and content for the presentation

language

No

string, ISO 639-1

Defaults to "en"

numberOfSlides

No

integer, <= 30

If not provided, will be determined by AI

includeUserTips

No

boolean

If set to false, Plus user tips will not be added to slides in presentation

templateId

No

string

Id of the custom template to create the presentation from. Contact us for information on using custom templates

textHandling

No

string,

See API text handling section below

generationMode

No

string,

See image mode section below

attachments

No

array, [{"fileId": "<fileId>"}]

Files to use as source content for the presentation, uploaded via the Files API.

Text Handling

There are three different modes of text handling available via the Presentations API, which allow for control over how much editing Plus AI will do to your inputs while creating your presentation:

  • Default mode: Plus AI will use your initial input as a reference, but will both edit the initial input and expand upon the input to create the best presentation possible.

  • Preserve mode: Plus AI will use your initial input as a reference, and will use direct excerpts from your documents in the presentation, while minimizing edits and expansion, but will use editing and expansion of the original input when necessary.

  • Strict mode: Plus AI will only use directs quotes/excerpts from your initial input when making your presentation. Note: While Plus AI will only use your initial input in direct quotes, certain types of content such as charts, images, tables, and other formatted content may result in slight changes from your initial document.

Image mode

Pass "generationMode": "IMAGES" to generate a deck where each slide is one AI-generated 16:9 image. Plus AI first writes an outline from your prompt, then generates an image per slide that reflects your prompt's style instructions.

The response is the same as slides mode (pollingUrl + status). Poll the URL until generation finishes — note that image-mode presentations finish with status COMPLETED (slides-mode presentations finish with status GENERATED):

  • images — one stable CDN URL per slide (1920×1080 JPEG), in deck order. Ready to embed directly in a web page or social carousel.

  • thumbnailUrl — a 1200px-wide share-card image derived from slide 1.

  • url — a downloadable .pptx with one full-bleed image per slide. The .pptx is assembled shortly after status becomes COMPLETED, so url may be null for up to a minute — keep polling until it is non-null if you need the file.

Using image attachments

In image mode, attached PNG and JPEG files are provided to the image model alongside each slide's prompt. Say in your prompt how the images should be used — for example:

  • As a style reference: "...Match the visual style of the attached reference image."

  • As a logo: "...Include the attached logo in the corner of every slide."

  • As content: "...Use the attached product photo as the centerpiece of the slide about the product."

Attachments that aren't mentioned in the prompt may have little or no effect on the output. Non-image attachments (PDFs, docs, etc.) are used as source content for the outline in both generation modes.

Example Request

Response

The response from the create presentations endpoint will contain a polling endpoint that you can use to access your generated presentation when it finishes generating.

Polling for Generated Presentation

Poll this endpoint to check the progress of a presentation generation request. When the status field in the response returns as "GENERATED" (slides mode) or "COMPLETED" (image mode), your presentation file will be included in the request and ready to be downloaded.

Path Parameters

Name

Required

Type

Description

presentationId

Yes

string

The ID of the presentation generation request

Example Request

Response

Polling for all Generated Presentations

Poll this endpoint to retrieve all generated presentations you have created via the Presentations API.

Note: This endpoint currently only shows the last 100 generated presentations.

Example Request

Response

Generate a presentation from a prompt

post
Authorizations
AuthorizationstringRequired

API key issued for your Plus organization, sent as a bearer token.

Body
promptstringRequired
languagestringOptionalDefault: en
numberOfSlidesintegerOptional
textHandlingstringOptional

How existing text content should be handled.

includeUserTipsbooleanOptionalDefault: false
templateIdstringOptional
Responses
post
/r/v0/presentation

Get a presentation

get
Authorizations
AuthorizationstringRequired

API key issued for your Plus organization, sent as a bearer token.

Path parameters
presentationIdstringRequired
Responses
200

The presentation.

application/json
idstringRequired
statusstringRequired
languagestring · nullableOptional
slidesstring[] · nullableOptional

Slide titles.

urlstring · nullableOptional

URL to the full generated PPTX.

createdAtstring · date-timeOptional
updatedAtstring · date-timeOptional
get
/r/v0/presentation/{presentationId}

List presentations

get

Returns up to 50 of the presentations created via this API.

Authorizations
AuthorizationstringRequired

API key issued for your Plus organization, sent as a bearer token.

Responses
200

A list of presentations.

application/json
get
/r/v0/presentations

Code Samples

cURL Example (Presentation Creation + Polling)

Python Example (Presentation Creation + Polling)

Plus Template IDs

If you would like to use a specific Plus template for your presentation generation you can use the associated template ID in your cURL request.

Template IDs
Template Name
Template ID

Aurora

EPX9O042Z6Sv6iQzbuARhS

Blackboard

ZudB2GVFiv1KzcgdRsbfM8

Brut Brick

p8pxA5qoot1I2WffVbQFaj

Brut Seascape

QBtFc6rV16vJpMoiX6vb8l

Brut Tigris

kOqAdCKG7xojGCT4ZfXSK4

Composition Book

ZudB2GVFiv1KzcgdRz9FC6

Corporate Blue

XFzedsfTQ3ccCtO09ZWSav

Editorial

p8pxA5qoot1I2WffVcrm2D

Feemo

OjeLTqC7loN3OmaqHD0qby

Forest Floor

kOqAdCKG7xojGCT4ZfbYAV

Fred

N12Yg407RXsoVq9xji1jA9

Herbert

N12Yg407RXsoVq9xjoYtXV

Indigo

p8pxA5qoot1I2WffVd69nF

Insight

iG190W6PEa3wEoxBjE7gtz

Insight Bold

D9fCV9f59UZFiLIMMzUMhy

Insight Modern

D9fCV9f59UZFiLIMLoUj3k

Kin

N12Yg407RXsoVq9xjozV7a

Mallorca

kqplMC1wKwvcjVhxZGoAQa

Manila

nXmZO8Fk1P14FXUEQFD78H

Metro

kqplMC1wKwvcjVhxZGqBaa

Minimalist Light

XFzedsfTQ3ccCtO09a4pZt

Modern Sketchpad

OjeLTqC7loN3OmaqHMjIIF

Modernist Professional

kqplMC1wKwvcjVhxZGz9ia

Modernist Siena

XFzedsfTQ3ccCtO09aA7vY

Plus Default

d1e65e54-753c-4368-946b-ddb430583b0d

Potpourri

1jelx0KVU9F6jq1WcIQDsD

Simple Notebook

nXmZO8Fk1P14FXUEQFFZEp

Spiral Notebook

N12Yg407RXsoVq9xk7LMTR

Swiss Dark

XFzedsfTQ3ccCtO09aCCgD

Swiss Light

kqplMC1wKwvcjVhxZHI0qO

Creating presentations via API with your custom branding or custom template is currently available for Enterprise accounts. If you'd like to inquire about Enterprise please contact us at support@plusdocs.com.

Rate Limits and Restrictions

The Presentations API is currently in beta, and has a rate limit of 3 presentation creation requests a minute.

Files API

Upload a file

put

Uploads a file as multipart/form-data. The upload is validated and accepted synchronously, then processed asynchronously.

Constraints:

  • The request method must be PUT.

  • Content-Type must be multipart/form-data.

  • Content-Length is required (chunked transfer encoding is not supported).

  • Maximum size is 125 MB.

Authorizations
AuthorizationstringRequired

API key issued for your Plus organization, sent as a bearer token.

Body
filestring · binaryRequired

The file to upload.

Responses
put
/r/v0/files/upload

Last updated

Was this helpful?