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:
https://api.babou.ai/api/v1

Authentication

Every API request must include your API key in the Authorization header:
Authorization: Bearer sk-bab-your-api-key-here
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.
{
  "id": "prj_abc123xyz",
  "name": "My Marketing Video",
  "description": "Q4 2025 product launch",
  "created_at": "2025-12-02T10:00:00Z"
}

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.
{
  "id": "cht_def456uvw",
  "project_id": "prj_abc123xyz",
  "name": "Introduction",
  "duration": 30,
  "created_at": "2025-12-02T10:01:00Z"
}

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.
{
  "prompt_id": "int_abc123xyz789",
  "status": "processing",
  "message": "Prompt processing started",
  "estimated_time": "30-90 seconds"
}

Assets

Assets are media files (videos, images, audio) you upload to use in your projects. Upload assets separately, then reference them in your prompts.
{
  "id": "ast_abc123xyz456789012",
  "url": "https://babou-assets.s3.amazonaws.com/assets/...",
  "content_type": "image/png",
  "state": "ready"
}

API Endpoints

Assets

Projects

Chapters

Prompts

Exports

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).
curl -X POST https://api.babou.ai/api/v1/projects \
  -H "Authorization: Bearer $BABOU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "My Project"}'

Response Format

All API responses are JSON. Successful responses return the relevant data:
{
  "id": "prj_abc123xyz",
  "name": "My Project",
  "created_at": "2025-12-02T10:00:00Z"
}
Error responses include an error message and a code:
{
  "error": "Project not found",
  "code": "NOT_FOUND"
}
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:
2025-12-02T10:00:00Z

Pagination

List endpoints support pagination via limit and offset parameters:
GET /api/v1/projects?limit=20&offset=40
Response includes pagination metadata:
{
  "projects": [...],
  "pagination": {
    "limit": 20,
    "offset": 40,
    "total": 150
  }
}

Next Steps