Skip to main content

AutoGen API

Overview

The AutoGen API lets you generate polished business presentations from structured data and natural language prompts. It’s designed to align with your organization’s templates, branding, and audience context. Use it to:

  • Automatically create decks based on user prompts
  • Track generation progress using callback IDs
  • Retrieve metadata like audiences for targeted presentations

Authentication

All endpoints require API key-based authentication. Add the API key in the request Authorization header using the Bearer token format:

Example:

Authorization: Bearer your-api-key

Common Headers

All responses include CORS headers:

{
"Access-Control-Allow-Origin": "*"
}

Key Endpoints

  • POST /api/v1/autogenerator – Create a new presentation
  • GET /api/v1/autogenerator/status – Track generation progress
  • POST /api/v1/autogenerator/download – Download generated presentation
  • GET /api/v1/themes – Retrieve themes
  • POST /api/v1/upload – Upload file for processing
  • GET /api/v1/audiences – Retrieve target audience metadata

AutoGen – Create Presentation

Create a new presentation generation job.

POST /api/v1/autogenerator

Request Body

{
"prompt": "string", // Required: Slide content prompt
"template_id": "string", // Required: Slide design template ID
"text": "string", // Optional: Additional context text
"files": ["string"], // Optional: Reference file paths
"web_links": ["string"], // Optional: URLs for contextual info
"image_ids": ["string"], // Optional: Specific image IDs to include
"audience": "string" // Optional: Target audience profile
}

AutoGen – Check Status

Track the progress of a previously submitted presentation generation request using the callback_id.

GET /api/v1/autogenerator/status?callback_id={callback_id}

Download Generated Presentation

Download a merged presentation file.

POST /api/v1/autogenerator/download
{
"callback_id": "string", // Required: Callback ID for tracking
"slides": [ // Required: Array of slide objects
{
"slideId": "string",
"isReplaced": false,
"isUploaded": false,
"isGenerated": true,
"source": "string"
}
]
}

Retrieve Themes

Retrieve themes associated with the company.

GET /api/v1/themes

Upload File

Upload a file for processing.

POST /api/v1/upload
{
"fileContent": "string", // Required: Base64 encoded file content
"fileName": "string" // Required: Name of the file
}

Retrieve Audiences

Use this to fetch a list of audiences in your organization (used in generation context).

GET /api/v1/audiences

Common Error Responses

Unauthorized Access

{
"statusCode": 401,
"body": {
"error": {
"code": "UNAUTHORIZED",
"message": "Unauthorized access."
}
}
}

Method Not Allowed

{
"statusCode": 405,
"body": {
"error": {
"code": "METHOD_NOT_ALLOWED",
"message": "HTTP method not allowed."
}
}
}

Endpoint Not Found

{
"statusCode": 404,
"body": {
"error": {
"code": "ENDPOINT_NOT_FOUND",
"message": "API path not found."
}
}
}

Invalid Input

{
"statusCode": 422,
"body": {
"error": {
"code": "INVALID_INPUT",
"message": "Invalid input provided.",
"details": ["error details"]
}
}
}

Internal Server Error

{
"statusCode": 500,
"body": {
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected server error occurred.",
"details": "error message"
}
}
}