Skip to main content
The Babou REST API lets you create, manage, and export video projects programmatically. No rendering expertise required - just straightforward REST calls.

Base URL

All API requests should be made to:

Authentication

Every API request must include your API key in the Authorization header:
See the Authentication guide for detailed information.

API Structure

The Babou API is organized around creating and managing video projects:
1

Projects

Create a project container for your video
2

Chapters

Add one or more chapters to organize your video content
3

Prompts

Submit text prompts to create video content for each chapter
4

Exports

Export your complete project as a downloadable video file

Core Concepts

Projects

A project is the top-level container for a video. It holds metadata like name and description, and contains one or more chapters.

Chapters

A chapter is a segment of your video. Each chapter can have its own content, duration, and video prompt. Chapters are rendered sequentially to create the final video.

Prompts

A prompt is a text description submitted to create video content for a chapter. Babou’s AI processes the prompt and creates video content automatically.

Assets

Assets are media files (videos, images, audio) you upload to use in your projects. Upload assets separately, then reference them in your prompts.

API Endpoints

Assets

Upload Asset

POST /api/v1/assets

Get Asset

GET /api/v1/assets/{assetId}

List Assets

GET /api/v1/assets

Projects

Create Project

POST /api/v1/projects

List Projects

GET /api/v1/projects

Get Project

GET /api/v1/projects/{projectId}

Chapters

Create Chapter

POST /api/v1/projects/{projectId}/chapters

List Chapters

GET /api/v1/projects/{projectId}/chapters

Get Chapter

GET /api/v1/projects/{projectId}/chapters/{chapterId}

Prompts

Submit Prompt

POST /api/v1/projects/{projectId}/chapters/{chapterId}/prompt

Exports

Start Export

POST /api/v1/projects/{projectId}/export

Get Export Status

GET /api/v1/projects/{projectId}/export

Rate Limiting

The Babou API implements rate limiting to ensure fair usage and system stability. Rate limits are applied per API key.
If you exceed rate limits, you’ll receive a 429 Too Many Requests response. Implement exponential backoff in your retry logic.

Request Format

All POST and PUT requests should send JSON in the request body with the Content-Type: application/json header (except for asset uploads, which send binary data).

Response Format

All API responses are JSON. Successful responses return the relevant data:
Error responses include an error message and a code:
See the Error Reference for complete error documentation.

ID Formats

Babou uses predictable ID prefixes to make debugging easier:
  • Projects: prj_[A-Za-z0-9]{21} (e.g., prj_abc123xyz)
  • Chapters: cht_[A-Za-z0-9]{21} (e.g., cht_def456uvw)
  • Prompts/Interactions: int_[A-Za-z0-9]{21} (e.g., int_abc123xyz789)
  • Exports: exp_[A-Za-z0-9]{21} (e.g., exp_xyz789abc123)
  • Assets: ast_[A-Za-z0-9]{21} (e.g., ast_abc123xyz456)

Timestamps

All timestamps are in ISO 8601 format with UTC timezone:

Pagination

List endpoints support pagination via limit and offset parameters:
Response includes pagination metadata:

Next Steps

Quickstart

Create your first video in 5 minutes

Authentication

Learn how to authenticate requests

Error Reference

Understand error codes and responses

Video Creation Guide

Deep dive into creating videos