Skip to content
All pages
  1. Overview
  2. Quick start
  3. Authentication
  4. API reference
    1. GET /media
    2. POST /media
    3. GET /media/{id}/preview
    4. GET /integrations/google/connect
    5. GET /integrations/google
    6. DELETE /integrations/google
    7. GET /integrations/google/folders
    8. POST /media/import
    9. GET /media/imports/{id}
    10. POST /renders
    11. GET /renders/{id}
    12. GET /renders/{id}/download
    13. GET /usage
  5. Code examples
  6. Error handling
  7. Rate limits & quotas
  8. Troubleshooting
  9. Changelog

History

Changelog

The API is v1. Breaking changes get a new version rather than a quiet edit, and no error code is added to the taxonomy without an entry here. Everything below is additive or a fix.

2026-08-25 · v1

  • Docs rebuilt: quick start separated from the reference, code examples in JavaScript and Python with a correct poll loop, a troubleshooting section, and this changelog.
  • Added /docs/api.md — the whole reference as one markdown file, for handing to a coding agent.
  • GET /api/v1/media/{id}/preview and GET /api/v1/renders/{id}/download are now documented as first-class endpoints rather than notes.

2026-08-24 · v1

  • Asset and preview links moved onto our own domain and no longer expire — your API key authorises them instead of a token in the URL. asset.expires_at is now always null.
  • Added GET /api/v1/media so an integration can discover media_ids instead of being handed them.
  • Captions are now composited before a render is queued, and a failure there returns 502 caption_prep_failed without charging.
  • Polling no longer counts against a key’s daily spend cap. Only POST /api/v1/renders does.