Transcription API cost per hour: build a usable audio budget

Calculate transcription API costs for 1 to 1,000 hours using current Ofox GPT Transcribe and Scribe rates, with retry scenarios and a free offline estimator.

Two hands holding stones in a black ink drawing on a pale card, with geometric accents and the title GPT Transcribe / Scribe.

At the Ofox public catalog rates checked on October 21, 2026, one hour of input audio comes to $0.27 for openai/gpt-transcribe or approximately $0.22 for elevenlabs/scribe_v2. For 100 hours, the corresponding base estimates are $27 and approximately $22. That is the transcription step: summaries, storage, repeated submissions and human corrections can add to the cost of the finished task.

This guide is for developers and small teams budgeting recorded interviews, meeting files or subtitle jobs. It covers file transcription, not text-to-speech generation or an always-on voice agent. This article is published by Ofox and uses our catalog; it is not an independent ranking of the cheapest services. No new paid transcription calls or account-bill tests were performed for this article.

The rates behind the hourly estimates

The source is the public Ofox catalog, cross-checked against its repository field definitions and the live model pages. These prices are USD per input-audio second. They do not describe the seconds a server takes to respond.

Model through OfoxExact model IDCatalog USD/secondDerived USD/minuteDerived USD/hour
GPT Transcribeopenai/gpt-transcribe$0.000075$0.0045$0.27
Scribe v2elevenlabs/scribe_v2$0.0000611111≈ $0.003666666≈ $0.22

For Scribe, multiplying the stored decimal by 3,600 gives $0.21999996. The table rounds that display to $0.22; it does not establish the rounding rule used for each billed request.

The English Ofox GPT Transcribe model page showing input audio priced at $0.27 per hour.

Actual public model-page screenshot captured October 21, 2026. The price is a displayed rate, not a receipt for a completed transcription.

The catalog has both a base pricing object and, when available, a provider_price object. In this snapshot GPT Transcribe’s listed Azure Foundry provider has the same audio-second rate as the base price. Scribe’s catalog row has no separate provider_price block; its $0.22/hour estimate uses the base price, which is also displayed on its public model page. An absent provider block does not mean the model is free or has no provider.

The English Ofox Scribe v2 model page showing input audio priced at $0.22 per hour.

Check the current GPT Transcribe model page or Scribe v2 model page before purchasing or scheduling a large job. The examples below assume the stated base rate applies to the billed input duration, without an account-specific adjustment or feature surcharge. They exclude taxes, currency conversion and any required account funding; they are not a checkout quote or a statement of minimum top-up.

Convert seconds, minutes and hours without changing the meaning

Use the unit attached to the rate:

Audio seconds × USD per audio second = base transcription cost
Audio minutes × USD per audio minute = base transcription cost
Audio hours × USD per audio hour = base transcription cost

A 45-minute recording has 2,700 seconds. At the GPT Transcribe snapshot rate:

2,700 × 0.000075 = $0.2025

If processing that recording takes five minutes, the duration-based estimate is still based on the 45 minutes of submitted audio. Conversely, do not multiply a per-minute price by 3,600: there are 60 minutes in an hour.

Use the actual file duration when preparing a budget. A meeting scheduled for an hour may produce a 48-minute recording or a 75-minute recording. If you split files, count the audio actually sent, including intentional overlap. If the service bills a different duration, minimum or rounding increment, reconcile against that rule before using the estimate as a spending limit.

What 1, 10, 100 and 1,000 hours cost

These are arithmetic scenarios, not purchased batches. Each assumes one billable pass, no duplicated input, no additional feature charge and no downstream processing.

Original audio submitted onceGPT Transcribe base estimateScribe v2 base estimate
1 hour$0.27≈ $0.22
10 hours$2.70≈ $2.20
100 hours$27.00≈ $22.00
1,000 hours$270.00≈ $220.00

At 100 hours, the rounded rate difference is about $5. That difference alone does not establish which output is cheaper to use. If one transcript needs extra manual correction or lacks the timing information your job requires, the processing around the API can dominate the difference.

For a concrete planning example, suppose a reviewer costs $20/hour and one workflow adds 15 minutes of review across the entire 100-hour batch. That review costs $5. These are deliberately hypothetical labor inputs, not measured accuracy or correction times for either model. They show how to calculate a break-even point, not which model wins.

Why an hourly transcription rate is not your complete budget

Separate base transcription from the work around it. A useful budget is:

Total budget = transcription + additional billable audio
             + optional features + storage/transfer
             + summary or extraction calls + human review

Repeated submissions and retries

Suppose you have 100 source hours and reserve another 10 hours for additional billable submissions. The resulting 110-hour estimates are $29.70 for GPT Transcribe and approximately $24.20 for Scribe.

This does not assert that every failed request is charged. A failure before processing, a completed request whose response was lost, and an explicit second submission are different cases. Log the request status and usage record before retrying. A retry allowance is a planning assumption until you verify what your account actually bills.

Overlapping chunks

A 60-minute recording split into six chunks with 10 seconds of duplicated audio at each of five boundaries adds 50 seconds of submitted audio. The total is 3,650 seconds. At $0.000075/second, the estimate becomes $0.27375, rather than $0.27.

That is a small difference for one file, but the formula matters for long pipelines. Do not count overlap as free, and do not remove it merely to save fractions of a cent if it protects words around a cut. Judge the resulting transcript as well as its duration.

Summaries and action items

Transcription produces text. A separate language-model call that summarizes it, extracts decisions or generates follow-up tasks has its own cost and quality checks. Do not apply a speech-second rate to that text-model request. Use its actual input/output token rates and usage instead.

Our meeting transcript and action-item workflow shows why extracting useful tasks is a separate stage. Reusing an existing transcript also avoids paying to transcribe the same recording again just because you want a different summary.

Feature and plan differences

Speaker labels, word timestamps, custom vocabulary and realtime delivery are different requirements. The ElevenLabs transcription reference documents several optional fields, but that does not establish which ones a gateway supports or how a specific route bills them. Verify the request and result you intend to use before assuming the base table covers every option.

If comparing a subscription with an API rate, write down the subscription charge, included hours, unused allowance and overage price. Keep direct-provider subscriptions separate from Ofox billing. Do not divide a promotional plan price by its maximum allowance and present that as an unconditional pay-as-you-go API price.

Why GPT-4o Mini and Diarize are not given a fixed Ofox hourly quote here

A familiar model name does not establish a shared billing unit. The Ofox catalog entries for openai/gpt-4o-mini-transcribe and openai/gpt-4o-transcribe-diarize expose token-price fields rather than the explicit input_audio_per_second field used above. We have not reconciled a representative Ofox account bill for those routes in this article, so we do not turn their token prices into a guaranteed dollar-per-hour quote.

For a token-billed route, the general calculation is:

Sum of (billable tokens in each category × that category's USD/token)

Include the token categories the route actually bills; do not add guessed text and audio charges or assume tokens per minute are constant across recordings. An upstream provider’s estimated cost per minute is not automatically the billing contract for another provider’s endpoint.

There is also a lifecycle consideration. OpenAI’s current deprecation notice lists the GPT-4o transcription family and whisper-1 for removal from its API on February 26, 2027. That is an upstream OpenAI notice, not a confirmed Ofox or Azure shutdown schedule. For a new long-lived integration, verify the selected route’s lifecycle and required features alongside the price.

Download an offline estimator and check the calculation

The Python budget estimator makes no API calls and needs no key or third-party package. It embeds the two October 21 rates and accepts original hours plus separately counted additional billable audio. Download the scenario table as CSV if you prefer a spreadsheet.

python3 estimate.py --hours 100
python3 estimate.py --hours 100 --extra-hours 10

The first command displays $27.00 and approximately $22.00. The second displays $29.70 and approximately $24.20. To use a newly verified USD/second rate instead of either saved rate:

python3 estimate.py --hours 100 --rate-per-second 0.000075

The script rejects negative and non-finite numbers. It does not enforce a wallet limit, estimate token-billed models, know the minimum billed duration, or include add-ons. Its calculations were checked locally; that is an arithmetic test, not a live API billing test.

Choose the route by the finished output you need

Your deliverableWhat to verify before committing the batch
Plain interview transcriptNames, numbers, language, omissions and whether the output can be saved in your workflow
SRT subtitlesTimestamp availability, cue boundaries and synchronization; text alone is not a subtitle file
Meeting minutesSpeaker requirements, attribution, decisions and the separate summary/extraction step
Live conversationRealtime transport and latency requirements; this file-transcription price table does not establish realtime support

For subtitle work, start with the existing Scribe transcription-to-SRT tutorial rather than assuming every model accepts response_format=srt. OpenAI also distinguishes file transcription from realtime audio workflows.

Before the first large batch, choose one representative file you are allowed to process. Record its duration, exact model ID, provider, options and returned request identifier if available. Verify the transcript, then compare the usage record’s billed unit and charge with the rate calculation. Investigate any difference before scaling: duration rounding, provider selection, feature charges or a token-billed route can change the result.

Next step: compare the current GPT Transcribe and Scribe v2 model pages, download the estimator, and budget your own audio hours. Pick the route whose verified output meets the task, then confirm a small job’s actual charge before running the whole queue.

Frequently Asked Questions

How much does one hour of transcription cost through Ofox?
The October 21, 2026 public catalog lists GPT Transcribe at $0.000075 per input-audio second, equivalent to $0.27 per hour, and Scribe v2 at $0.0000611111 per second, approximately $0.22 per hour. These are base-rate estimates, not a tested final bill.
Does compressing an audio file reduce its transcription price?
Reducing file size without changing duration does not reduce a duration-based estimate. It may help with upload size, but overly aggressive compression can damage transcription quality.
Is a missing hourly price the same as a free model?
No. A model may use token billing or lack a confirmed hourly conversion. Check the billing unit rather than treating an empty field as zero.
Is a subscription plan price comparable to an API hourly rate?
Only after accounting for the required subscription, included usage, overage rate and features you actually need. A dashboard plan is not automatically the price for the same model through another API provider.