Skip to main content

Base URL

All paths in this reference are relative to that base.

Conventions

  • JSON in, JSON out, UTF-8. File endpoints (speech, music, a finished clip) return the file itself.
  • Errors use a single standardized envelope: { error: { code, message, ...extra } }. See Errors.
  • Idempotency is opt-in via the Idempotency-Key header on POSTs that cost money or create entities. The same key and body within 24 hours replays the first response. See Idempotency.
  • Spend limit. Generate and render accept max_credits. If the price is higher, you get 402 quote_exceeded and nothing is charged.
  • Personal scope. API keys and connected apps act in your personal space and spend your own credits.
  • Versioning is in the path (/v1). Breaking changes get a new prefix; additive changes (new endpoint, new optional field) ship in /v1.

Endpoints

Every endpoint, with its parameters and response shapes, is listed under Endpoints in this reference. The pages are generated from openapi.json, the same file behind the in-app reference at lavendly.ai/ApiDocs, so the two always agree. The usual agent loop:
  1. POST /v1/workflows with shots: describe the video (free).
  2. GET /v1/workflows/{id}/cost-estimate: the price (free).
  3. POST /v1/workflows/{id}/renders with max_credits: generate and stitch.
  4. GET /v1/workflows/{id}/renders/{job_id}: poll until done.
  5. GET /v1/channels, then POST /v1/workflows/{id}/publish: post it.
The server also describes itself at GET /v1/_schema.