Generate an Outline
Generates a new presentation outline or edits an existing one using AI.
Provide a topic prompt, previously uploaded document UUIDs, or both.
To edit an existing outline, pass the current outline along with editing instructions in prompt.
The endpoint returns a task_id; poll /task_status/{task_id} until SUCCESS to retrieve the generated outline.
The returned outline can then be passed to /presentation/generate
to create a full presentation.
Headers
Section titled “Headers”application/json
The API key to use for the request.
<YOUR_API_KEY>
Body Parameters
Section titled “Body Parameters”The topic to generate an outline about, or editing instructions when outline is also provided.
The UUIDs of the uploaded documents to use as context for the outline. The UUID can be obtained by uploading a document using the Upload a Document endpoint.
An existing outline to edit. When provided, prompt is required and is used as editing instructions.
Each item in the list is an outline slide object:
The title of the slide.
A description of the slide content.
A detailed description of how the slide should look, including layout structure, image placement, chart types, and visual elements.
The language to use in the outline.
Example: French
The tone to use for the outline content.
The number of outline slides to generate.
Code Examples
Section titled “Code Examples”curl -X POST "https://api.slidespeak.co/api/v1/presentation/outline" \ -H "Content-Type: application/json" \ -H "X-API-Key: YOUR_API_KEY" \ -d '{ "prompt": "Key moments in the French Revolution", "length": 6, "language": "ORIGINAL", "tone": "default" }'fetch('https://api.slidespeak.co/api/v1/presentation/outline', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-API-Key': 'YOUR_API_KEY' }, body: JSON.stringify({ "prompt": "Key moments in the French Revolution", "length": 6, "language": "ORIGINAL", "tone": "default" }),}) .then(response => response.json()) .then(data => { console.log('Response:', data); }) .catch(error => { console.error('Error:', error); });import requests
url = "https://api.slidespeak.co/api/v1/presentation/outline"headers = { "Content-Type": "application/json", "X-API-Key": "YOUR_API_KEY"}payload = { "prompt": "Key moments in the French Revolution", "length": 6, "language": "ORIGINAL", "tone": "default"}
response = requests.post(url, headers=headers, json=payload)print(response.json())<?phprequire 'vendor/autoload.php';
use GuzzleHttp\Client;
$client = new Client();
$response = $client->post('https://api.slidespeak.co/api/v1/presentation/outline', [ 'headers' => [ 'Content-Type' => 'application/json', 'X-API-Key' => 'YOUR_API_KEY' ], 'json' => [ 'prompt' => 'Key moments in the French Revolution', 'length' => 6, 'language' => 'ORIGINAL', 'tone' => 'default' ]]);
$body = $response->getBody();$data = json_decode($body, true);
print_r($data);Example body (generate)
Section titled “Example body (generate)”{ "prompt": "Key moments in the French Revolution", "length": 6, "language": "ORIGINAL", "tone": "default"}Example body (edit)
Section titled “Example body (edit)”{ "prompt": "Add a slide about the Reign of Terror and make it more educational", "outline": [ { "title": "Key Moments in the French Revolution", "description": "This is a cover slide. The slide presents the presentation title and a concise subtitle indicating the focus on major events from 1789 to 1799, setting the stage for the timeline of the French Revolution.", "appearance": "Centered large title at top with a smaller subtitle below. Full-bleed background image of a revolutionary crowd or the French tricolor flag (stock image). Bottom-right small caption with presenter name and date. No other content on the slide to keep it clean and compelling." }, { "title": "Background: Financial Crisis and the Estates-General (1789)", "description": "This slide explains how chronic debt, costly wars, and an unfair tax system plunged France into financial crisis and led King Louis XVI to call the Estates-General in 1789, creating the conditions for political upheaval.", "appearance": "Left column: concise paragraph summarizing the fiscal crisis and why the Estates-General was called. Right column: bar chart labeled 'Annual Royal Deficit (pre-1789)' showing rising deficits across three sample years. Top-right corner small stock image of a palace or assembly hall (stock image)." } ], "tone": "educational"}Response
Section titled “Response”{ "task_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab"}Example Task Result
Section titled “Example Task Result”{ "task_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab", "task_status": "SUCCESS", "task_result": { "slides": [ { "title": "Key Moments in the French Revolution", "description": "This is a cover slide. The slide presents the presentation title and a concise subtitle indicating the focus on major events from 1789 to 1799, setting the stage for the timeline of the French Revolution.", "appearance": "Centered large title at top with a smaller subtitle below. Full-bleed background image of a revolutionary crowd or the French tricolor flag (stock image). Bottom-right small caption with presenter name and date. No other content on the slide to keep it clean and compelling." }, { "title": "Background: Financial Crisis and the Estates-General (1789)", "description": "This slide explains how chronic debt, costly wars, and an unfair tax system plunged France into financial crisis and led King Louis XVI to call the Estates-General in 1789, creating the conditions for political upheaval.", "appearance": "Left column: concise paragraph summarizing the fiscal crisis and why the Estates-General was called. Right column: bar chart labeled 'Annual Royal Deficit (pre-1789)' showing rising deficits across three sample years. Top-right corner small stock image of a palace or assembly hall (stock image)." }, { "title": "The Tennis Court Oath: Unity and Resolve (June 1789)", "description": "This slide describes how members of the Third Estate, locked out of the Estates-General, gathered at a tennis court and swore not to separate until they had drafted a constitution, marking a pivotal assertion of popular political authority.", "appearance": "Top third: wide stock image of the Tennis Court Oath scene (stock image). Middle third: single sentence summarizing the pledge and its political significance. Bottom third: two-column callout boxes—left box titled 'Who' with a note on the National Assembly members, right box titled 'Why it mattered' with a note on constitutional legitimacy." } ], "request_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab" }}