transcript.imDocs
DocumentationAPI Reference

Usage and limits

Understand transcript allowances, ASR minutes, AI credits, and API limits.

Current API rules

Each new successful transcript consumes 1 transcript from your plan allowance. Speech recognition also consumes ASR minutes. These are separate from AI credits: a zero AI-credit charge does not make transcription unlimited.

OperationTranscript allowanceASR minutesAI credits
New transcript from existing captions1 per successful transcript00
New transcript using speech recognition, including file uploads1 per successful transcriptMedia duration, rounded up to whole minutes0
Cached transcript lookup000
Transcript job polling or SSE updates000
Batch submission0 at creation; completed items are counted below0 at creation0
Batch processing1 per new successful transcript; cached items consume 0Charged for each newly transcribed ASR item0
Transcript download or batch export000
Developer API key creation000

For example, a batch producing 12 new transcripts consumes 12 transcripts, not one. A new 63-second speech transcription consumes 1 transcript and 2 ASR minutes, with 0 AI credits. An extraction that fails releases its reservation instead of counting as a successful transcript.

Developer API key creation and use, transcript downloads, and batch exports require Pro. Creating more API keys does not create more allowance: API keys and the web product share the same account quotas.

Independent quotas

The limits below apply to Pro API key usage. Transcript counts, ASR minutes, and AI credits have separate balances:

AllowancePro monthlyPro annual
New successful transcripts500 per billing month6,000 per billing year
ASR minutes1,500 per billing month18,000 per billing year
AI credits for web AI features3,000 per billing month36,000 per billing year
Single media duration capNo plan capNo plan cap
Items per batch2020
Upload size cap5 GiB5 GiB
Requests per minute4040

Annual allowances are available up front for the billing year, rather than released monthly. Unused cycle allowances do not roll over. Platform-specific media restrictions and processing timeouts still apply even without a plan duration cap.

A submit reserves transcript quota before extraction and releases that reservation on a cache hit, so an exhausted quota can reject a POST /v1/transcript even when the result would have come from cache; use GET /v1/library/transcripts/{platform}/{externalId} to read a result already saved in your account without triggering admission.

Use GET /v1/usage to read the account's used, reserved, and remaining transcript and ASR allowances, together with their reset times. An exhausted transcript allowance is reported as TRANSCRIPT_QUOTA_EXCEEDED; an exhausted ASR allowance as ASR_QUOTA_EXCEEDED. A positive AI-credit balance does not bypass either limit. Submission-time quota rejections return 402; failures reported by job polling appear in the job's failed response.

Rate-limit headers

When public API rate limiting is configured, responses include:

HeaderMeaning
X-RateLimit-LimitMaximum requests in the current window.
X-RateLimit-RemainingRequests remaining in the current window.
X-RateLimit-ResetUnix timestamp when the window resets.

A rate-limited request returns 429 and a Retry-After header. Wait for that interval and retry with exponential backoff and jitter.

Plan-gated responses

Plan gates return 402 with a machine-readable code and action fields:

{
  "error": {
    "code": "UPGRADE_REQUIRED",
    "message": "The API is available on paid plans. Upgrade to use your API key.",
    "actionLabel": "Upgrade plan",
    "actionUrl": "https://transcript.im/pricing",
    "upgrade_url": "https://transcript.im/pricing"
  }
}

upgrade_url remains an alias for older clients. New clients should prefer actionUrl when it is present.

On this page