API docs · Tools
Changelog and beta status
What the public beta includes, what it does not, known limits, deprecations, and dated changes to the API contract.
Beta status
The API is in public beta. The contract lives under /v1 and the OpenAPI document is the source of truth. During the beta, changes are additive: new fields, endpoints and enum values can appear, so ignore fields you do not know and treat enum values you do not recognise as plain strings. Anything we have to remove is deprecated first and listed below.
Included: scene detection with captions, object labels, colour palettes and shot type and angle; speaker-labelled transcription with SRT, WebVTT and plain-text export; uploads, URL fetches and batches; multi-track audio; signed webhooks; per-stage, per-second billing with prepaid credits.
Not included: search or indexing endpoints, face recognition, NLE export (those are desktop-app features), word-level timestamps, team or organisation accounts, and scoped keys.
Known limits:
- Camera RAW formats are switched on one at a time; R3D comes first.
GET /formatsshows which are live. - The Go, Rust and Ruby SDKs are at 0.1 until they adopt the 0.2 surface.
- The MCP server is not released yet.
Deprecations
| Deprecated | Use instead |
|---|---|
The job status field and the GET /jobs?status= filter | state and ?state= |
DELETE /jobs/{jobId} | POST /jobs/{jobId}/cancel |
speakerTag on transcript segments | speaker |
startTs / endTs on scenes | startTime / endTime (the aliases go when SDK 0.1 is retired) |
errorMessage on the job | error.message |
The uploading state value in filters | awaiting_upload |
2026-10-13: v1 public beta contract
Added
- A derived job
state(awaiting_upload,queued,processing,completed,failed,cancelled,expired) and per-stagestages.{ingest,vision,transcript}withstatus, timestamps anderror. - Every create endpoint returns the full Job object; jobs carry absolute
linksand yourmetadata. GET /jobs/{jobId}/transcriptwithtext,speakersand aspeakerlabel per segment, and SRT, WebVTT and plain-text export;GET /jobs/{jobId}/scenes.RESULTS_NOT_READY(retry) andRESULTS_UNAVAILABLE(never coming, with areason).POST /jobs/{jobId}/cancel.- Webhooks for
job.completed,job.failedandjob.cancelled, signed per account following Standard Webhooks, with secret rotation, a delivery log and a test endpoint. - Errors carry
docUrlandparam; every retryable error carriesRetry-After; idempotent replays carryIdempotent-Replayed: true. GET /jobspagination withhasMore,nextCursorand aLinkheader.- Keyless
GET /openapi.json,GET /pricing,GET /pricing/estimateandGET /formats. - Per-stage pricing: $1.15 vision and $0.35 transcript per footage-hour ($1.50 together), camera RAW $2.50, volume rates after 500 hours a month. Failed and skipped stages are never charged.
- Keys are Polar license keys (
fq_live_), issued with credit purchases and managed from the dashboard.
Changed
- The
uploadingstate is nowawaiting_upload(?state=uploadingstill works). - Rate limits are per account: 600 reads, 30 job creations and 120 other requests per minute.
Removed
POST /keysand key revocation through the API: keys are issued and managed through the dashboard and Polar.