POST /api/v1/embed/generate
Used by sdk.js with a publishable key. A live API key is also accepted for server-side integrations.

Authentication

Bearer Token API Key (header: X-API-Key)

Request Body

application/json
project_id string
prompt string
template string
Optional recording template hint such as auto, guided-tour, pricing-focus, or proof-scroll.
section string
Optional section hint for section-focused or auto-selected recordings.
presentation object
Optional presentation config override, including recordingTemplate.
context object
url string (uri)
title string
headings string[]
Array of:
description string

Responses

200 Existing demo reused
application/json
demoId string REQUIRED
status string REQUIRED
embedUrl string REQUIRED
cached boolean REQUIRED
202 Demo generation started
400 Missing project_id or invalid request
401 API key required
404 Project not found
429 Quota or rate limit exceeded
curl -X POST 'https://littledemo.com/api/v1/embed/generate' \  -H 'Authorization: Bearer YOUR_API_TOKEN' \  -H 'Content-Type: application/json' \  -d '{  "project_id": "string",  "prompt": "string",  "template": "string",  "section": "string",  "presentation": {},  "context": {    "url": "https://example.com",    "title": "string",    "headings": [      "string"    ],    "description": "string"  }}'
const response = await fetch('https://littledemo.com/api/v1/embed/generate', {  method: 'POST',  headers: {      "Authorization": "Bearer YOUR_API_TOKEN",      "Content-Type": "application/json"  },  body: JSON.stringify({    "project_id": "string",    "prompt": "string",    "template": "string",    "section": "string",    "presentation": {},    "context": {      "url": "https://example.com",      "title": "string",      "headings": [        "string"      ],      "description": "string"    }  })});const data = await response.json();console.log(data);
import requestsheaders = {    'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.post('https://littledemo.com/api/v1/embed/generate', headers=headers, json={  "project_id": "string",  "prompt": "string",  "template": "string",  "section": "string",  "presentation": {},  "context": {    "url": "https://example.com",    "title": "string",    "headings": [      "string"    ],    "description": "string"  }})print(response.json())
200 Response
{  "demoId": "<string>",  "status": "<string>",  "embedUrl": "<string>",  "cached": true}
Ask a question... ⌘I