API docs · Reference
Pricing and billing
Per-stage prices per footage-hour, charged per second and only for stages that complete. Prepaid credits through Polar, the estimate endpoint, worked examples and an honest comparison.
Prices
US dollars per footage-hour (an hour of source media, not of processing time), per stage:
| Stage | Standard formats | Standard, volume | Camera RAW | Camera RAW, volume |
|---|---|---|---|---|
| Vision (scenes and captions) | $1.15 | $0.80 | $1.65 | $1.30 |
| Transcript (per audio track) | $0.35 | $0.20 | $0.85 | $0.70 |
Both (processingMode: "all", one audio track) | $1.50 | $1.00 | $2.50 | $2.00 |
- Camera RAW means R3D, BRAW and ARRIRAW, decoded on GPUs. Everything else, including ProRes and other high-bitrate intermediates, is standard.
- Volume rates apply to the footage beyond 500 footage-hours in a UTC calendar month, marginally: the first 500 hours of the month are always at the standard rate.
- The transcript rate is charged once per transcribed audio track.
GET /pricing returns this table (in US cents) and is the source of truth; it needs no key:
curl https://api.framequery.com/v1/api/pricing{
"data": {
"currency": "USD",
"unit": "footage_hour",
"standard": { "visionCentsPerHour": 115, "transcriptCentsPerHour": 35, "volumeVisionCentsPerHour": 80, "volumeTranscriptCentsPerHour": 20, "allCentsPerHour": 150, "volumeAllCentsPerHour": 100 },
"raw": { "visionCentsPerHour": 165, "transcriptCentsPerHour": 85, "volumeVisionCentsPerHour": 130, "volumeTranscriptCentsPerHour": 70, "allCentsPerHour": 250, "volumeAllCentsPerHour": 200 },
"volumeThresholdSeconds": 1800000,
"minBillableSeconds": 30,
"rounding": "per_second_ceil_total_to_cent"
}
}How charging works
- Per completed stage. Each billable stage is charged when it completes. A stage that fails or is skipped is never charged, so there is nothing to refund. Ingest is free.
- Per second. Billable seconds are the media duration rounded up to the next second, with a 30-second minimum per job. The job total is rounded up to the whole cent once (minimum 1 cent).
- Cancelling charges only the stages that complete; see Cancel a job.
- Holds. Once the duration is known, the job's full price is held against your balance so running jobs cannot overspend it.
billing.estimatedCentson the job is the current hold andbilling.chargedCentsis what has been charged so far (completed stages only). The hold is released when the job ends. - Credit checks. Creating a job needs available credits for at least 30 seconds of footage, otherwise
402INSUFFICIENT_CREDITS. If the balance cannot cover the whole file once its duration is known, the job fails with job errorINSUFFICIENT_CREDITSand nothing is charged.
Estimate a job before you send it
GET /pricing/estimate runs the same function that bills, so it cannot drift from the real charge. No key needed.
curl "https://api.framequery.com/v1/api/pricing/estimate?durationSeconds=2700&tier=standard&mode=all&audioTracks=1"{
"data": {
"cents": 113,
"usd": 1.13,
"currency": "USD",
"billableSeconds": 2700,
"durationSeconds": 2700,
"tier": "standard",
"mode": "all",
"audioTracks": 1,
"priorUsageSeconds": 0
}
}| Parameter | Notes |
|---|---|
durationSeconds (required) | Footage duration, 0 to 2 678 400 |
tier | standard (default) or raw |
mode | all (default), vision or transcript |
audioTracks | Transcribed tracks, 1 to 16 (default 1) |
priorUsageSeconds | Billable seconds already used this UTC month, to include volume pricing. Use api.monthUsageSeconds from GET /quota |
Worked examples
| Job | Calculation | Price |
|---|---|---|
2-minute clip, all | 120 s × $1.50/h | $0.05 |
10-second clip, all | billed as 30 s × $1.50/h = 1.25¢, rounded up | $0.02 |
45-minute interview, all | 2 700 s × $1.50/h = $1.125 | $1.13 |
45-minute interview, transcript | 2 700 s × $0.35/h = $0.2625 | $0.27 |
1 hour with 4 audio tracks, all | $1.15 + 4 × $0.35 | $2.55 |
1 hour of 8K RED R3D, all | 1 h × $2.50 | $2.50 |
30 minutes of R3D, vision | 1 800 s × $1.65/h = $0.825 | $0.83 |
1 hour all, vision failed, transcript completed | transcript only | $0.35 |
600 hours in a month, all | 500 h × $1.50 + 100 h × $1.00 | about $850 |
Credits and billing
The API is prepaid. One credit is one US cent.
- Buy credits on the API keys page in packs of $10 (1,000 credits), $50 (5,000) or $100 (10,000). Checkout runs on Polar, our billing provider, and the purchase also issues your API key.
- See your balance with
GET /quota, or in the Polar customer portal (the Open Polar portal button on the API keys page). - Enterprise pay-as-you-go: accounts with high or unpredictable volume can be billed monthly in arrears instead of prepaying, with an optional monthly cap. Contact us to set it up.
curl https://api.framequery.com/v1/api/quota \
-H "Authorization: Bearer $FRAMEQUERY_API_KEY"data.api holds balanceCents (credits bought minus credits used), heldCents (reserved by running jobs), availableCents (what new jobs can use), payAsYouGo, monthUsageSeconds and tier (standard, or volume once you pass 500 hours this month). When credits cannot be read at that moment, available is false and the other fields are omitted; retry shortly.
Compared with other APIs
List or pay-as-you-go prices, normalised to US dollars per footage-hour, as of 13 October 2026. Each figure links to the provider's pricing page; check there for current numbers.
| API | Per footage-hour | What that buys |
|---|---|---|
FrameQuery, all | $1.50 | Scene captions, object labels, colour palette, shot type and angle, plus a speaker-labelled transcript, in one job |
FrameQuery, transcript | $0.35 | Speaker-labelled transcript |
| AssemblyAI | $0.17 to $0.23 | Transcript (Universal-2 or Universal-3.5 Pro, plus $0.02/h for speaker labels) |
| Deepgram | $0.26 | Transcript (Nova-3, speaker labels included) |
| Rev.ai | $0.20 | Transcript (Reverb, English; $0.30 other languages) |
| Gladia | $0.61 | Transcript (Starter list price) |
| Twelve Labs | $4.34 + output tokens | Indexing ($2.50/h plus $0.09/h/month storage) and Pegasus analysis ($1.75/h plus $7.50 per million output tokens) |
| Google Video Intelligence | $8.88 | Label detection ($0.10/min, shot detection included) plus speech transcription ($0.048/min), per-minute rounding |
| Azure Video Indexer | Not published |
Where we are cheaper and where we are not:
- Video understanding (scenes plus transcript) costs about a third of Twelve Labs' indexing plus analysis and about a sixth of Google's label, shot and speech features.
- Transcription only costs more with us than with AssemblyAI, Deepgram or Rev.ai, and less than Gladia's list price. If you only need transcripts at the lowest price, those are good choices. Our transcript makes most sense alongside scenes, or when you need camera RAW or very large files handled without transcoding.
- Our object labels are labels, not bounding boxes, and the beta API does not include search.