Generate Presentation
Create a new presentation from text content. This is an async operation.
Workflow:
- Submit your content and options
- Receive a
generation_idimmediately - Poll
GET /generations/{generation_id}until status iscompletedorfailed - Access your presentation via the URLs in the response
Rate limit: Max 5 concurrent generations per user.
generation_id immediately and poll for results.
Workflow
- Submit your content with
POST /generations - Receive a
generation_idimmediately - Poll
GET /generations/{generation_id}untilstatusiscompletedorfailed - Access your presentation via URLs in the
formatsfield
Request Body
Required
| Parameter | Type | Description |
|---|---|---|
input_text | string | Content to transform into slides. Can be plain text, markdown, or structured notes. |
Optional Top-Level Fields
| Parameter | Type | Description |
|---|---|---|
additional_instructions | string | Extra guidance for the AI on style, focus areas, or specific requirements not captured by other options. |
image_ids | array of strings | IDs (UUIDs) of previously uploaded images from POST /upload-images. Images are matched to relevant slides automatically. |
Export Formats
| Parameter | Type | Default | Description |
|---|---|---|---|
export_formats | array | ["link"] | Formats to export: link, pdf, ppt. Can request multiple. |
Presentation Options
| Parameter | Type | Default | Description |
|---|---|---|---|
presentation_options.title | string | ”API Generated Presentation” | Title shown on title slide and in exports |
presentation_options.theme_id | string | "27874e6b-8c1c-4301-bce7-d22e6e8df7d6" | Theme ID controlling colors, fonts, and styling. Use GET /themes to discover available theme IDs. Legacy theme display names are still accepted for backward compatibility, but deprecated. |
presentation_options.slide_range | string | ”auto” | Target slide count: auto, 1, 2-5, 6-10, 11-15, 16-20, 21-25, 26-50 |
presentation_options.existing_presentation_id | string | - | Append slides to existing presentation |
presentation_options.total_variants_per_slide | integer | 1 | Variants per slide (1-4) |
presentation_options.vibe_id | string | - | Vibe ID controlling the visual aesthetic of creative variants. Use GET /vibes to discover available vibe IDs. Requires image_options.num_image_variants >= 1 when set. If omitted, standard theme styling is used. |
Text Options
| Parameter | Type | Default | Description |
|---|---|---|---|
text_options.language | string | (auto) | Output language |
Image Options
| Parameter | Type | Default | Description |
|---|---|---|---|
image_options.include_ai_images | boolean | true | Generate AI images |
image_options.include_web_images | boolean | true | Search the web for relevant images to include in slides |
image_options.style | string | ”auto” | Image style: auto, realistic, artistic, cartoon, three_d, custom |
image_options.style_instructions | string | - | Required when style is custom |
image_options.num_image_variants | integer | 0 | Number of creative image-led slide variants generated using Nano Banana Pro (0-2). Required (>=1) when presentation_options.vibe_id is set. Increases cost. |
Response
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 withGET /vibes.
vibe_id is set, image_options.num_image_variants must be >= 1. Vibes are applied through creative image variants.Add to Existing Presentation
Authorizations
Your Alai API key. Get one from your account settings at app.getalai.com
Body
Content to transform into slides. Can be plain text, markdown, or structured notes. Longer input typically produces more slides.
Guidance for the AI on style, focus areas, or specific requirements not captured in other options.
IDs of previously uploaded images (from POST /upload-images) to incorporate. Images are matched to relevant slides automatically.
Formats to export upon completion. 'link' is a shareable web URL. 'pdf' and 'ppt' provide downloadable files.
link, pdf, ppt Response
Successful Response
Unique identifier to poll for generation status via GET /generations/{generation_id}