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.
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.
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.
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.
Unique identifier to poll for generation status via GET /generations/{generation_id}
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Alai Docs","colors":{"primary":"#0A1E2D","light":"#B8B8B8","dark":"#9586E8"},"logo":{"light":"https://mintcdn.com/alai/xn84WwHB7IuxElVC/logo/alai_dark.svg?fit=max\u0026auto=format\u0026n=xn84WwHB7IuxElVC\u0026q=85\u0026s=5d6b020c697e644acef297e312db456e","dark":"https://mintcdn.com/alai/xn84WwHB7IuxElVC/logo/alai_white.svg?fit=max\u0026auto=format\u0026n=xn84WwHB7IuxElVC\u0026q=85\u0026s=6b7d4712c577d26c853d5fed40384903","href":"https://getalai.com/"},"favicon":"https://mintcdn.com/alai/kUfmVSAedx3k7AVI/favicon.png?fit=max\u0026auto=format\u0026n=kUfmVSAedx3k7AVI\u0026q=85\u0026s=43ee0124d72ad46fbafe9696e0a86d24","api":{"openapi":["openapi.json"],"playground":{"display":"interactive"}},"navbar":{"links":[{"href":"mailto:founders@getalai.com","label":"Support"}],"primary":{"type":"button","label":"Try Now","href":"https://getalai.com"}},"footer":{"socials":{}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"alai","hasAudioNarration":false,"actualSubdomain":"alai","customDomains":["docs.getalai.com"],"gitSource":{"type":"github","owner":"getalai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6a99c7b0be1eead4d3da8863","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"Classic \u0026 Creative Slides API (Beta)","count":15},{"language":"default","tag":"Modern Slides API (Beta)","count":14},{"language":"default","tag":"Presentations","count":13},{"language":"default","tag":"AI Operations","count":5},{"language":"default","tag":"Start Here","count":3},{"language":"default","tag":"Slides","count":2}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api/generations","slug":"/api/generations","pageMetadata":{"title":"Generate Presentation","openapi":"POST /api/v1/generations","description":"Create a new presentation from text content. This is an async operation.\n\n**Workflow:**\n1. Submit your content and options\n2. Receive a `generation_id` immediately\n3. Poll `GET /generations/{generation_id}` until status is `completed` or `failed`\n4. Access your presentation via the URLs in the response\n\n**Rate limit:** Max 5 concurrent generations per user.","href":"/api/generations"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n ol: \"ol\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Create a new presentation from text content. This is an async operation.\"\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Workflow:\"\n })\n }), \"\\n\", _jsxs(_components.ol, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Submit your content and options\"\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Receive a \", _jsx(_components.code, {\n children: \"generation_id\"\n }), \" immediately\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Poll \", _jsx(_components.code, {\n children: \"GET /generations/{generation_id}\"\n }), \" until status is \", _jsx(_components.code, {\n children: \"completed\"\n }), \" or \", _jsx(_components.code, {\n children: \"failed\"\n })]\n }), \"\\n\", _jsx(_components.li, {\n children: \"Access your presentation via the URLs in the response\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Rate limit:\"\n }), \" Max 5 concurrent generations per user.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Table,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Generate a presentation from text content. This is an `,_jsx(_components.strong,{children:`async operation`}),` - you receive a `,_jsx(_components.code,{children:`generation_id`}),` immediately and poll for results.`]}),`\n`,_jsx(Heading,{level:`2`,id:`workflow`,children:`Workflow`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Submit`}),` your content with `,_jsx(_components.code,{children:`POST /generations`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Receive`}),` a `,_jsx(_components.code,{children:`generation_id`}),` immediately`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Poll`}),` `,_jsx(_components.code,{children:`GET /generations/{generation_id}`}),` until `,_jsx(_components.code,{children:`status`}),` is `,_jsx(_components.code,{children:`completed`}),` or `,_jsx(_components.code,{children:`failed`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Access`}),` your presentation via URLs in the `,_jsx(_components.code,{children:`formats`}),` field`]}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`request-body`,children:`Request Body`}),`\n`,_jsx(Heading,{level:`3`,id:`required`,children:`Required`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parameter`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`input_text`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Content to transform into slides. Can be plain text, markdown, or structured notes.`})]})})]}),`\n`,_jsx(Heading,{level:`3`,id:`optional-top-level-fields`,children:`Optional Top-Level Fields`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parameter`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`additional_instructions`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Extra guidance for the AI on style, focus areas, or specific requirements not captured by other options.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`image_ids`})}),_jsx(_components.td,{children:`array of strings`}),_jsxs(_components.td,{children:[`IDs (UUIDs) of previously uploaded images from `,_jsx(_components.code,{children:`POST /upload-images`}),`. Images are matched to relevant slides automatically.`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`export-formats`,children:`Export Formats`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parameter`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`export_formats`})}),_jsx(_components.td,{children:`array`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`[\"link\"]`})}),_jsxs(_components.td,{children:[`Formats to export: `,_jsx(_components.code,{children:`link`}),`, `,_jsx(_components.code,{children:`pdf`}),`, `,_jsx(_components.code,{children:`ppt`}),`. Can request multiple.`]})]})})]}),`\n`,_jsx(Heading,{level:`3`,id:`presentation-options`,children:`Presentation Options`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parameter`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`presentation_options.title`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`”API Generated Presentation”`}),_jsx(_components.td,{children:`Title shown on title slide and in exports`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`presentation_options.theme_id`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`\"27874e6b-8c1c-4301-bce7-d22e6e8df7d6\"`})}),_jsxs(_components.td,{children:[`Theme ID controlling colors, fonts, and styling. Use `,_jsx(_components.code,{children:`GET /themes`}),` to discover available theme IDs. Legacy theme display names are still accepted for backward compatibility, but deprecated.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`presentation_options.slide_range`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`”auto”`}),_jsxs(_components.td,{children:[`Target slide count: `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`1`}),`, `,_jsx(_components.code,{children:`2-5`}),`, `,_jsx(_components.code,{children:`6-10`}),`, `,_jsx(_components.code,{children:`11-15`}),`, `,_jsx(_components.code,{children:`16-20`}),`, `,_jsx(_components.code,{children:`21-25`}),`, `,_jsx(_components.code,{children:`26-50`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`presentation_options.existing_presentation_id`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`-`}),_jsx(_components.td,{children:`Append slides to existing presentation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`presentation_options.total_variants_per_slide`})}),_jsx(_components.td,{children:`integer`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`1`}),_jsx(_components.td,{children:`Variants per slide (1-4)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`presentation_options.vibe_id`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`-`}),_jsxs(_components.td,{children:[`Vibe ID controlling the visual aesthetic of creative variants. Use `,_jsx(_components.code,{children:`GET /vibes`}),` to discover available vibe IDs. Requires `,_jsx(_components.code,{children:`image_options.num_image_variants >= 1`}),` when set. If omitted, standard theme styling is used.`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`text-options`,children:`Text Options`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parameter`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`text_options.language`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`(auto)`}),_jsx(_components.td,{children:`Output language`})]})})]}),`\n`,_jsx(Heading,{level:`3`,id:`image-options`,children:`Image Options`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parameter`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`image_options.include_ai_images`})}),_jsx(_components.td,{children:`boolean`}),_jsx(_components.td,{children:`true`}),_jsx(_components.td,{children:`Generate AI images`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`image_options.include_web_images`})}),_jsx(_components.td,{children:`boolean`}),_jsx(_components.td,{children:`true`}),_jsx(_components.td,{children:`Search the web for relevant images to include in slides`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`image_options.style`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`”auto”`}),_jsxs(_components.td,{children:[`Image style: `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`realistic`}),`, `,_jsx(_components.code,{children:`artistic`}),`, `,_jsx(_components.code,{children:`cartoon`}),`, `,_jsx(_components.code,{children:`three_d`}),`, `,_jsx(_components.code,{children:`custom`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`image_options.style_instructions`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`-`}),_jsxs(_components.td,{children:[`Required when style is `,_jsx(_components.code,{children:`custom`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`image_options.num_image_variants`})}),_jsx(_components.td,{children:`integer`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`0`}),_jsxs(_components.td,{children:[`Number of creative image-led slide variants generated using Nano Banana Pro (0-2). Required (>=1) when `,_jsx(_components.code,{children:`presentation_options.vibe_id`}),` is set. Increases cost.`]})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"generation_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123-def456-789...\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Use this `,_jsx(_components.code,{children:`generation_id`}),` to poll `,_jsx(_components.code,{children:`GET /generations/{generation_id}`}),` for status.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`examples`,children:`Examples`}),`\n`,_jsx(Heading,{level:`3`,id:`basic-generation`,children:`Basic Generation`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://slides-api.getalai.com/api/v1/generations\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_KEY\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"input_text\": \"Our company achieved 25% revenue growth this quarter.\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`with-multiple-export-formats`,children:`With Multiple Export Formats`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`13`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`13`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# First, discover a theme ID with GET /themes`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://slides-api.getalai.com/api/v1/generations\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_KEY\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"input_text\": \"Quarterly sales report content...\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"export_formats\": [\"link\", \"pdf\", \"ppt\"],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"presentation_options\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"title\": \"Q4 Sales Report\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"theme_id\": \"27874e6b-8c1c-4301-bce7-d22e6e8df7d6\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"slide_range\": \"6-10\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`theme_id`}),` now primarily expects a theme ID from `,_jsx(_components.code,{children:`GET /themes`}),`. Legacy theme display names still work for backward compatibility, but they are deprecated.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`with-a-vibe`,children:`With a Vibe`}),`\n`,_jsxs(_components.p,{children:[`Vibes are visual aesthetic presets applied through creative image variants. Discover available vibe IDs with `,_jsx(_components.code,{children:`GET /vibes`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`14`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`14`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://slides-api.getalai.com/api/v1/generations\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_KEY\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"input_text\": \"Launch announcement for our new product line\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"presentation_options\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"title\": \"Product Launch\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"vibe_id\": \"f1c2d3e4-5678-90ab-cdef-1234567890ab\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"slide_range\": \"6-10\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"image_options\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"num_image_variants\": 1`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`When `,_jsx(_components.code,{children:`vibe_id`}),` is set, `,_jsx(_components.code,{children:`image_options.num_image_variants`}),` must be `,_jsx(_components.code,{children:`>= 1`}),`. Vibes are applied through creative image variants.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`add-to-existing-presentation`,children:`Add to Existing Presentation`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://slides-api.getalai.com/api/v1/generations\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_KEY\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"input_text\": \"Additional slides content...\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"presentation_options\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"existing_presentation_id\": \"xyz789-...\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"slide_range\": \"2-5\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Request multiple `,_jsx(_components.code,{children:`export_formats`}),` in a single call to get link, PDF, and PPT\nall at once. Check the `,_jsx(_components.code,{children:`formats`}),` object in the status response for download URLs.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Generate Presentation","openapi":"POST /api/v1/generations","description":"Create a new presentation from text content. This is an async operation.\n\n**Workflow:**\n1. Submit your content and options\n2. Receive a `generation_id` immediately\n3. Poll `GET /generations/{generation_id}` until status is `completed` or `failed`\n4. Access your presentation via the URLs in the response\n\n**Rate limit:** Max 5 concurrent generations per user.","href":"/api/generations"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Workflow","slug":"workflow","depth":2,"children":[]},{"title":"Request Body","slug":"request-body","depth":2,"children":[{"title":"Required","slug":"required","depth":3,"children":[]},{"title":"Optional Top-Level Fields","slug":"optional-top-level-fields","depth":3,"children":[]},{"title":"Export Formats","slug":"export-formats","depth":3,"children":[]},{"title":"Presentation Options","slug":"presentation-options","depth":3,"children":[]},{"title":"Text Options","slug":"text-options","depth":3,"children":[]},{"title":"Image Options","slug":"image-options","depth":3,"children":[]}]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Examples","slug":"examples","depth":2,"children":[{"title":"Basic Generation","slug":"basic-generation","depth":3,"children":[]},{"title":"With Multiple Export Formats","slug":"with-multiple-export-formats","depth":3,"children":[]},{"title":"With a Vibe","slug":"with-a-vibe","depth":3,"children":[]},{"title":"Add to Existing Presentation","slug":"add-to-existing-presentation","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["External API"],"summary":"Generate a presentation","description":"Create a new presentation from text content. This is an async operation.\n\n**Workflow:**\n1. Submit your content and options\n2. Receive a `generation_id` immediately\n3. Poll `GET /generations/{generation_id}` until status is `completed` or `failed`\n4. Access your presentation via the URLs in the response\n\n**Rate limit:** Max 5 concurrent generations per user.","operationId":"generate_presentation_api_v1_generations_post","requestBody":"7679004b-d74d-4586-ab99-7e5ee24dd2d7","responses":{"200":"74223b60-6825-4c9d-a701-3a451d6f46cc","422":"37f134f5-1c08-46b3-8426-d84a572718cc"},"method":"post","type":"path","servers":["05b837e4-3b64-439f-b286-c998dbfccd24"],"security":["96e73dfc-5cc7-4e86-b4d3-f55139d15ac0"],"path":"/api/v1/generations","baseUrlOptions":["https://slides-api.getalai.com"],"title":"Generate a presentation","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"properties":{"input_text":{"type":"string","title":"Input Text","description":"Content to transform into slides. Can be plain text, markdown, or structured notes. Longer input typically produces more slides.","isRequired":true,"uniqueKey":"input_text","typeLabel":"string"},"additional_instructions":{"oneOf":[{"type":"string","title":"Additional Instructions","description":"Guidance for the AI on style, focus areas, or specific requirements not captured in other options.","uniqueKey":"additional_instructions.oneOf.0","typeLabel":"string"},{"type":"null","title":"Additional Instructions","description":"Guidance for the AI on style, focus areas, or specific requirements not captured in other options.","uniqueKey":"additional_instructions.oneOf.1","typeLabel":"null"}],"uniqueKey":"additional_instructions","typeLabel":"string | null"},"image_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"image_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Image Ids","description":"IDs of previously uploaded images (from POST /upload-images) to incorporate. Images are matched to relevant slides automatically.","uniqueKey":"image_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Image Ids","description":"IDs of previously uploaded images (from POST /upload-images) to incorporate. Images are matched to relevant slides automatically.","uniqueKey":"image_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"image_ids","typeLabel":"string[] | null"},"export_formats":{"items":{"type":"string","enum":["link","pdf","ppt"],"title":"ApiExportFormat","uniqueKey":"export_formats.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Export Formats","description":"Formats to export upon completion. 'link' is a shareable web URL. 'pdf' and 'ppt' provide downloadable files.","default":["link"],"uniqueKey":"export_formats","typeLabel":"enum\u003cstring>[]"},"presentation_options":{"properties":{"title":{"type":"string","title":"Title","description":"Presentation title shown on the title slide and in exports","default":"API Generated Presentation","uniqueKey":"presentation_options.title","typeLabel":"string"},"theme_id":{"type":"string","title":"Theme Id","description":"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.","default":"27874e6b-8c1c-4301-bce7-d22e6e8df7d6","uniqueKey":"presentation_options.theme_id","typeLabel":"string"},"slide_range":{"type":"string","enum":["1","auto","2-5","6-10","11-15","16-20","21-25","26-50"],"title":"SlideRange","description":"Target slide count. 'auto' analyzes input length. '1' generates a single slide. Ranges like '2-5' set bounds.","default":"auto","uniqueKey":"presentation_options.slide_range","typeLabel":"enum\u003cstring>"},"existing_presentation_id":{"oneOf":[{"type":"string","title":"Existing Presentation Id","description":"Append slides to an existing presentation instead of creating a new one","uniqueKey":"presentation_options.existing_presentation_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Existing Presentation Id","description":"Append slides to an existing presentation instead of creating a new one","uniqueKey":"presentation_options.existing_presentation_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"presentation_options.existing_presentation_id","typeLabel":"string | null"},"total_variants_per_slide":{"type":"integer","maximum":4,"minimum":1,"title":"Total Variants Per Slide","description":"Number of distinct options to generate for each slide","default":1,"uniqueKey":"presentation_options.total_variants_per_slide","typeLabel":"integer"},"vibe_id":{"oneOf":[{"type":"string","title":"Vibe Id","description":"Vibe ID controlling the visual aesthetic of creative variants. Use GET /vibes to list available IDs. Requires image_options.num_image_variants >= 1 when set. If omitted, standard theme styling is used.","uniqueKey":"presentation_options.vibe_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Vibe Id","description":"Vibe ID controlling the visual aesthetic of creative variants. Use GET /vibes to list available IDs. Requires image_options.num_image_variants >= 1 when set. If omitted, standard theme styling is used.","uniqueKey":"presentation_options.vibe_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"presentation_options.vibe_id","typeLabel":"string | null"}},"type":"object","title":"PresentationOptions","uniqueKey":"presentation_options","typeLabel":"PresentationOptions · object"},"text_options":{"properties":{"language":{"oneOf":[{"type":"string","title":"LanguageType","description":"Output language. If not set, matches the input language.","enum":["English (US)","English (UK)","Spanish (Latin America)","Spanish (Mexico)","Spanish (Spain)","French","German","Italian","Portuguese (Brazil)","Portuguese (Portugal)","Dutch","Polish","Russian","Japanese","Korean","Chinese (Simplified)","Hindi","Swedish","Norwegian","Danish","Finnish","Greek","Turkish","Czech","Hungarian","Romanian","Bulgarian","Ukrainian","Vietnamese","Thai","Indonesian","Serbian","Croatian","Bosnian","Slovenian","Macedonian","Albanian","Montenegrin","Lithuanian"],"uniqueKey":"text_options.language.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Output language. If not set, matches the input language.","uniqueKey":"text_options.language.oneOf.1","typeLabel":"null"}],"uniqueKey":"text_options.language","typeLabel":"enum\u003cstring> | null"}},"type":"object","title":"TextOptions","uniqueKey":"text_options","typeLabel":"TextOptions · object"},"image_options":{"properties":{"include_ai_images":{"type":"boolean","title":"Include Ai Images","description":"Generate AI images for slides. Disable to use only uploaded images or no images.","default":true,"uniqueKey":"image_options.include_ai_images","typeLabel":"boolean"},"include_web_images":{"type":"boolean","title":"Include Web Images","description":"Search the web for relevant images to include in slides.","default":true,"uniqueKey":"image_options.include_web_images","typeLabel":"boolean"},"style":{"type":"string","enum":["auto","realistic","artistic","cartoon","three_d","custom"],"title":"AIImageStyleType","description":"AI image style: 'auto' (content-aware), 'realistic', 'artistic', 'cartoon', 'three_d', or 'custom'.","default":"auto","uniqueKey":"image_options.style","typeLabel":"enum\u003cstring>"},"style_instructions":{"oneOf":[{"type":"string","title":"Style Instructions","description":"Required when style='custom'. Describe the desired image aesthetic.","uniqueKey":"image_options.style_instructions.oneOf.0","typeLabel":"string"},{"type":"null","title":"Style Instructions","description":"Required when style='custom'. Describe the desired image aesthetic.","uniqueKey":"image_options.style_instructions.oneOf.1","typeLabel":"null"}],"uniqueKey":"image_options.style_instructions","typeLabel":"string | null"},"num_image_variants":{"type":"integer","maximum":2,"minimum":0,"title":"Num Image Variants","description":"Number of image slide variants generated using Nano Banana Pro. Increases cost.","default":0,"uniqueKey":"image_options.num_image_variants","typeLabel":"integer"}},"type":"object","title":"ImageOptions","uniqueKey":"image_options","typeLabel":"ImageOptions · object"}},"type":"object","required":["input_text"],"title":"GeneratePresentationInput","uniqueKey":"","typeLabel":"GeneratePresentationInput · object"},"examples":{"Example":{"title":"Example","value":{"input_text":"\u003cstring>","additional_instructions":"\u003cstring>","image_ids":["\u003cstring>"],"export_formats":["link"],"presentation_options":{"title":"API Generated Presentation","theme_id":"27874e6b-8c1c-4301-bce7-d22e6e8df7d6","slide_range":"auto","existing_presentation_id":"\u003cstring>","total_variants_per_slide":1,"vibe_id":"\u003cstring>"},"text_options":{},"image_options":{"include_ai_images":true,"include_web_images":true,"style":"auto","style_instructions":"\u003cstring>","num_image_variants":0}}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"74223b60-6825-4c9d-a701-3a451d6f46cc":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"generation_id":{"type":"string","title":"Generation Id","description":"Unique identifier to poll for generation status via GET /generations/{generation_id}","isRequired":true,"uniqueKey":"generation_id","typeLabel":"string"}},"type":"object","required":["generation_id"],"title":"ExternalApiGenerationResponse","uniqueKey":"","typeLabel":"ExternalApiGenerationResponse · object"},"examples":{"Example":{"title":"Example","value":{"generation_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"37f134f5-1c08-46b3-8426-d84a572718cc":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"96e73dfc-5cc7-4e86-b4d3-f55139d15ac0":{"BearerAuth":{"type":"http","scheme":"bearer","description":"Your Alai API key. Get one from your account settings at app.getalai.com","scopes":[]}}},"servers":{"05b837e4-3b64-439f-b286-c998dbfccd24":{"url":"https://slides-api.getalai.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Your Alai API key. Get one from your account settings at app.getalai.com","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Your Alai API key. Get one from your account settings at app.getalai.com","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"alai","siteName":"Alai Docs","title":"Generate Presentation - Alai Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-04-16T07:20:35.575Z","originalFileLocation":"api/generations.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create a new presentation from text content. This is an async operation. Workflow: 1. Submit your content and options 2. Receive a generation_id immediately 3. Poll GET /generations/{generation_id} until status is completed or failed 4. Access your presentation via the URLs in the response Rate limit: Max 5 concurrent generations per user.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Alai Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/alai/duOYO6Ajm9VQzTDX/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/alai/duOYO6Ajm9VQzTDX/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/alai/duOYO6Ajm9VQzTDX/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/alai/duOYO6Ajm9VQzTDX/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/alai/duOYO6Ajm9VQzTDX/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/alai/duOYO6Ajm9VQzTDX/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/alai/duOYO6Ajm9VQzTDX/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/alai/duOYO6Ajm9VQzTDX/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/alai/duOYO6Ajm9VQzTDX/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Generate Presentation - Alai Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a new presentation from text content. This is an async operation. Workflow: 1. Submit your content and options 2. Receive a generation_id immediately 3. Poll GET /generations/{generation_id} until status is completed or failed 4. Access your presentation via the URLs in the response Rate limit: Max 5 concurrent generations per user.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Alai Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.getalai.com/api/generations\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://alai.mintlify.site/_mintlify/api/og/v2?division=Presentations\u0026amp;title=Generate+Presentation\u0026amp;description=Create+a+new+presentation+from+text+content.+This+is+an+async+operation.%0A%0A**Workflow%3A**%0A1.+Submit+your+content+and+options%0A2.+Receive+a+%60generation_id%60+immediat\u0026amp;theme=c55528165354c52a65aaec78\u0026amp;signature=7696b83541de1acc6ecb7906cbfd11d6af950041377d7b38be7936f04d3714fb\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Generate Presentation - Alai Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a new presentation from text content. This is an async operation. Workflow: 1. Submit your content and options 2. Receive a generation_id immediately 3. Poll GET /generations/{generation_id} until status is completed or failed 4. Access your presentation via the URLs in the response Rate limit: Max 5 concurrent generations per user.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://alai.mintlify.site/_mintlify/api/og/v2?division=Presentations\u0026amp;title=Generate+Presentation\u0026amp;description=Create+a+new+presentation+from+text+content.+This+is+an+async+operation.%0A%0A**Workflow%3A**%0A1.+Submit+your+content+and+options%0A2.+Receive+a+%60generation_id%60+immediat\u0026amp;theme=c55528165354c52a65aaec78\u0026amp;signature=7696b83541de1acc6ecb7906cbfd11d6af950041377d7b38be7936f04d3714fb\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/alai/duOYO6Ajm9VQzTDX/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Alai Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0A1E2D\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.getalai.com/api/generations\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api/generations.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.getalai.com/#organization\",\"name\":\"Alai Docs\",\"url\":\"https://docs.getalai.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/alai/xn84WwHB7IuxElVC/logo/alai_dark.svg?fit=max\u0026auto=format\u0026n=xn84WwHB7IuxElVC\u0026q=85\u0026s=5d6b020c697e644acef297e312db456e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.getalai.com#website\",\"name\":\"Alai Docs\",\"url\":\"https://docs.getalai.com\",\"publisher\":{\"@id\":\"https://docs.getalai.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.getalai.com/api/generations#webpage\",\"url\":\"https://docs.getalai.com/api/generations\",\"name\":\"Generate Presentation\",\"description\":\"Create a new presentation from text content. This is an async operation. Workflow: 1. Submit your content and options 2. Receive a generation_id immediately 3. Poll GET /generations/{generation_id} until status is completed or failed 4. Access your presentation via the URLs in the response Rate limit: Max 5 concurrent generations per user.\",\"dateModified\":\"2026-04-16T07:20:35.575Z\",\"isPartOf\":{\"@id\":\"https://docs.getalai.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getalai.com/api/generations#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getalai.com/api/generations#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Classic \u0026 Creative Slides API (Beta)\",\"item\":\"https://docs.getalai.com/api/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Presentations\",\"item\":\"https://docs.getalai.com/api/get-presentations\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Generate Presentation\",\"item\":\"https://docs.getalai.com/api/generations\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.getalai.com/api/generations#apireference\",\"headline\":\"Generate Presentation\",\"name\":\"Generate Presentation\",\"description\":\"Create a new presentation from text content. This is an async operation. Workflow: 1. Submit your content and options 2. Receive a generation_id immediately 3. Poll GET /generations/{generation_id} until status is completed or failed 4. Access your presentation via the URLs in the response Rate limit: Max 5 concurrent generations per user.\",\"url\":\"https://docs.getalai.com/api/generations\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getalai.com/api/generations#webpage\"},\"dateModified\":\"2026-04-16T07:20:35.575Z\",\"publisher\":{\"@id\":\"https://docs.getalai.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.getalai.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Alai Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Alai Docs","nav":{"global":null,"groups":[{"group":"Classic \u0026 Creative Slides API (Beta)","pages":[{"title":"Getting Started","sidebarTitle":"Introduction","href":"/api/introduction"},{"title":"MCP Integration","sidebarTitle":"MCP (AI Agents)","href":"/api/mcp"},{"title":"A2A Agent","sidebarTitle":"A2A (Agent Protocol)","href":"/api/a2a"},{"title":"Examples \u0026 Use Cases","sidebarTitle":"Examples","href":"/api/examples"},{"group":"Presentations","pages":[{"title":"Get Presentations","openapi":"GET /api/v1/presentations","href":"/api/get-presentations"},{"title":"Get Themes","openapi":"GET /api/v1/themes","href":"/api/get-themes"},{"title":"Get Vibes","openapi":"GET /api/v1/vibes","description":"Returns vibe IDs and names for all system vibes and custom user vibes accessible to the authenticated user. Pass the `id` as `presentation_options.vibe_id` on a generation request.","href":"/api/get-vibes"},{"title":"Generate Presentation","openapi":"POST /api/v1/generations","href":"/api/generations"},{"title":"Check Generation Status","openapi":"GET /api/v1/generations/{generation_id}","description":"Poll this endpoint to check the status of any async operation (presentation generation, slide creation, export, or transcript generation).\n\n**Status values:**\n- `pending` - Queued, not yet started\n- `in_progress` - Currently processing\n- `completed` - Finished successfully; results available in response\n- `failed` - Error occurred; check `error` field for details\n\n**Recommended polling:** Every 2-5 seconds. Most generations complete within 30-120 seconds.","href":"/api/generation-status"},{"title":"Export Presentation","openapi":"POST /api/v1/presentations/{presentation_id}/exports","href":"/api/export-presentation"},{"title":"Extract Transcripts","openapi":"POST /api/v1/presentations/{presentation_id}/transcripts","href":"/api/generate-transcripts"},{"title":"Delete Presentation","openapi":"DELETE /api/v1/presentations/{presentation_id}","href":"/api/delete-presentation"}]},{"group":"Slides","pages":[{"title":"Create Slide","openapi":"POST /api/v1/presentations/{presentation_id}/slides","href":"/api/create-slide"},{"title":"Delete Slide","openapi":"DELETE /api/v1/presentations/{presentation_id}/slides/{slide_id}","href":"/api/delete-slide"}]},{"title":"Upload Images","openapi":"POST /api/v1/upload-images","href":"/api/upload-images"}]},{"group":"Modern Slides API (Beta)","pages":[{"title":"Modern Slides API","sidebarTitle":"Introduction","href":"/modern/introduction"},{"group":"Start Here","pages":[{"title":"Verify Authentication","openapi":"GET /api/modern/v1/ping","href":"/modern/ping"},{"title":"List Models","openapi":"GET /api/modern/v1/models","href":"/modern/models"},{"title":"List Design Systems","openapi":"GET /api/modern/v1/design-systems","href":"/modern/design-systems"}]},{"group":"Presentations","pages":[{"title":"Create Presentation","openapi":"POST /api/modern/v1/presentations","href":"/modern/create-presentation"},{"title":"List Presentations","openapi":"GET /api/modern/v1/presentations","href":"/modern/list-presentations"},{"title":"Get Presentation","openapi":"GET /api/modern/v1/presentations/{presentation_id}","href":"/modern/get-presentation"},{"title":"Delete Presentation","openapi":"DELETE /api/modern/v1/presentations/{presentation_id}","href":"/modern/delete-presentation"},{"title":"Upload Assets","openapi":"POST /api/modern/v1/presentations/{presentation_id}/assets","href":"/modern/upload-assets"}]},{"group":"AI Operations","pages":[{"title":"Generate Presentation","openapi":"POST /api/modern/v1/presentations/{presentation_id}/generate","href":"/modern/generate-presentation"},{"title":"Edit Presentation","openapi":"POST /api/modern/v1/presentations/{presentation_id}/edits","href":"/modern/edit-presentation"},{"title":"Export Presentation","openapi":"POST /api/modern/v1/presentations/{presentation_id}/exports","href":"/modern/export-presentation"},{"title":"Get Operation","openapi":"GET /api/modern/v1/operations/{operation_id}","href":"/modern/get-operation"},{"title":"Cancel Operation","openapi":"POST /api/modern/v1/operations/{operation_id}/cancel","href":"/modern/cancel-operation"}]}]}]},"basePath":"","title":"Generate Presentation - Alai Docs","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CBsVopKK.js","utils-DZAk68jJ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D32AYZrP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D_A5_cny.js","snippetPresets-xNRfS9th.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BIB25-tq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CydJ4w4j.js","shallow-CYPBeQSG.js","getApiPlaygroundDisplay-A5xJVBOu.js","CodeSnippet-BVRTgi3m.js","CodeSnippets-DjD6BSlt.js","Page-Dr40SSJq.js","getPastedJson-D4V4JyrR.js","icon-uhcnG22T.js","MethodPill-CM-ZQdGH.js","DuplicateIcon-B_WnOiNf.js","createIcon-CJsb8utt.js","DynamicMarkdown-D-2HDKEp.js","SectionHeading-KP5xmMgQ.js","axios-vUo_bRtp.js","Markdown-D_k0dg6k.js","clsx-DK3K4Z1S.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DE3EVdvd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fN9H9n9g.js"]}