Skip to main content
POST
Generate a presentation
Generate a presentation from text content. This is an async operation - you receive a generation_id immediately and poll for results.

Workflow

  1. Submit your content with POST /generations
  2. Receive a generation_id immediately
  3. Poll GET /generations/{generation_id} until status is completed or failed
  4. Access your presentation via URLs in the formats field

Request Body

Required

Optional Top-Level Fields

Export Formats

Presentation Options

Text Options

Image Options


Response

Use this generation_id to poll GET /generations/{generation_id} for status.

Examples

Basic Generation

With Multiple Export Formats

theme_id now primarily expects a theme ID from GET /themes. Legacy theme display names still work for backward compatibility, but they are deprecated.

With a Vibe

Vibes are visual aesthetic presets applied through creative image variants. Discover available vibe IDs with GET /vibes.
When vibe_id is set, image_options.num_image_variants must be >= 1. Vibes are applied through creative image variants.

Add to Existing Presentation

Request multiple export_formats in a single call to get link, PDF, and PPT all at once. Check the formats object in the status response for download URLs.

Authorizations

Authorization
string
header
required

Your Alai API key. Get one from your account settings at app.getalai.com

Body

application/json
input_text
string
required

Content to transform into slides. Can be plain text, markdown, or structured notes. Longer input typically produces more slides.

additional_instructions
string | null

Guidance for the AI on style, focus areas, or specific requirements not captured in other options.

image_ids
string[] | null

IDs of previously uploaded images (from POST /upload-images) to incorporate. Images are matched to relevant slides automatically.

export_formats
enum<string>[]

Formats to export upon completion. 'link' is a shareable web URL. 'pdf' and 'ppt' provide downloadable files.

Available options:
link,
pdf,
ppt
presentation_options
PresentationOptions · object
text_options
TextOptions · object
image_options
ImageOptions · object

Response

Successful Response

generation_id
string
required

Unique identifier to poll for generation status via GET /generations/{generation_id}