Skip to main content

Base URL

http://localhost:8080
All endpoints are prefixed with /api/v1/. You can change the host by setting endpoint in config.toml.

Starting the API server

python main.py
Interactive documentation is available at:

Response format

Every endpoint returns a JSON envelope:
{
  "status": 200,
  "message": "success",
  "data": { ... }
}
Errors return a non-200 status with a descriptive message.

Async task model

Video generation is asynchronous. Requests to generation endpoints return a task_id immediately. Poll GET /api/v1/tasks/{task_id} to track progress.
POST /api/v1/videos  →  { task_id: "abc123" }
GET  /api/v1/tasks/abc123  →  { state: 1, progress: 100, videos: [...] }
Task states: 4 = processing, 1 = success, -1 = failed.

Endpoints

Video Generation

Generate full videos, subtitles only, or audio only

Task Management

Query, list, and delete generation tasks

Scripts & Terms

Generate scripts and search terms via LLM

Media Management

Upload and list background music and video materials

Build docs developers (and LLMs) love