OpenAI API
openai.com
GPT models billed per token.
This link pays this site nothing today. It goes to openai.com.
- 19 published
- 0 not published
- 0 given two ways
Every figure below is read from the platform profile it belongs to, not written into this page. Follow a name to see every answer we have for that platform.
A subtitle file is not a transcript with timestamps. ElevenLabs' docs list the differences: cues carry only start and end times, no speaker labels, and must respect characters per line, lines on screen and cue duration. So ask the tool for subtitles from the start: the Include subtitles toggle on ElevenLabs, or response_format srt on OpenAI's whisper-1. Asking for a transcript and cutting it up by hand is the slow way.
On the Speech to Text page click Transcribe files, upload the video (audio and video both accepted, up to 3 GB), add the names and terms as keyterms, switch on Include subtitles and upload. Open the result and switch to subtitling mode with the tab at the top of the editor. Every cue is coloured red or green against the formatting rules, and Edit rules, behind the three dots next to Subtitles, sets characters per line, lines on screen and cue length to the client's spec.
Send the audio to /v1/audio/transcriptions with model whisper-1 and response_format srt (or vtt) and the file that comes back is the cue file. The file limit is 25 MB, so extract the audio track from the video first and keep it compressed. The newer gpt-4o-transcribe and gpt-4o-mini-transcribe return json only, so for subtitles whisper-1 is the model. Its prompt takes up to 224 tokens: put the names there.
Play through once in the subtitle editor. Fix names and numbers by typing; press Enter to split a cue that runs long, merge cues to join two short ones, drag the handles or type exact timestamps where a cue starts late. The docs warn that transcript and subtitles are separate objects in the editor: fixing a word in one does not fix it in the other. Export SRT when every cue is green.
Paste the SRT into a text model with the instruction to translate only the text lines, keep every cue number and timecode exactly as given, and stay under the client's characters per line. Ten minutes of speech is roughly 1,500 words, about 2,000 tokens in and 2,000 out per language, so at $0.60 per million output tokens a language costs a fraction of a cent and at $3.75 about a cent. Do not do it on Gemini's Free tier: the pricing page says that content is used to improve Google's products.
Open each translated file next to the video and read for length: the rule on characters per line that the source passed may fail in the target language, and the fix is a shorter phrasing or a split cue. Name the files by language code, deliver all three with the source file, and keep copies; nothing on this page is archived for you.
On the Dubbing page upload the video or paste its URL, choose the languages, adjust Speaker similarity and click generate; the cost appears before you confirm, charged per minute of source for each language. Free-plan dubs are watermarked with no way to remove it. At 3,000 credits a minute without watermark, dubbing ten minutes into two languages is 60,000 credits, which is more than a Starter month and half of a Creator month.
OpenAI assigns the Output to the customer and has not trained on API data since March 1, 2023 unless you opt in. Gemini's Paid tier does not use your content to improve Google's products; the Free tier does. The client's video is Input; read the line for it before you upload.
Rev pays captioners $0.54 to $1.10 per audio or video minute, and says subtitle translators earn its highest per-minute rates without printing them. ElevenLabs' Productions team charges a client from $2.20 a minute for human subtitling. The machine steps above cost about a cent a minute in total.
Weekly via PayPal, within 1 week of approval, after a waitlist that Rev's page says is due to high application volume.
A client has a ten-minute video and wants captions in its own language plus two more. What they need back is three SRT files whose cues fit the screen, start when the speaker starts and spell the names right, and perhaps a dubbed audio track. This page makes those files two ways, in the ElevenLabs browser app and with one request to OpenAI's transcription endpoint, then translates them with the timecodes locked, and only then puts the machine cost next to what a human service charges and what a platform pays a captioner.
Three SRT (or VTT) files named by language code, each cue inside the client's limits for characters per line, lines on screen and cue duration, with names and figures correct in every language. Optionally a dubbed audio file per language. And a note of which rules you used, because the next video from the same client will need the same ones.
ElevenLabs' docs draw the line clearly. A transcript has word-level timestamps, speaker labels and no constraints; a subtitle file has only cue start and end times, no speaker names, no overlapping segments, and rules for characters per line, lines on screen at once and cue duration. The two are separate objects in its editor, and a change to one does not touch the other. So do not transcribe first and cut into cues later. Ask for subtitles at the start, which on ElevenLabs is a toggle and on OpenAI is a response format.
On the Speech to Text page click Transcribe files and upload the video itself; the tool accepts audio and video up to 3 GB. Add the names, places and product terms as keyterms so the model spells them your way, switch on the Include subtitles toggle, and upload. Scribe v2 is the default model. When it finishes, open the result and switch from transcription to subtitling mode with the tabs at the top of the editor.
The subtitle editor gives real-time feedback: each cue is coloured red or green according to whether it respects the formatting rules. The rules are yours to set. Click the three dots next to Subtitles, choose Edit rules, and enter the client's characters per line, lines on screen and cue length. Then go through the video once. Type to fix a word, press Enter to split a cue that runs long, click merge cues to join two short ones, drag the handles on the timeline or type an exact timestamp when a cue starts late. When every cue is green, click export in the top right and choose SRT or VTT.
OpenAI's transcription endpoint at /v1/audio/transcriptions takes a response_format, and its specification lists the options: json, text, srt, verbose_json, vtt or diarized_json. The catch is in the same sentence: for gpt-4o-transcribe and gpt-4o-mini-transcribe the only supported format is json, and gpt-4o-transcribe-diarize returns json, text or diarized_json. So the subtitle model is whisper-1, which the transcription guide also names as the model for word and segment timestamps. Send the audio with model=whisper-1 and response_format=srt, and the response is the cue file.
Two limits shape the request. Files are capped at 25 MB, so extract the audio track from the video and keep it compressed; a ten-minute track fits easily, and the guide says to split anything larger at a pause rather than mid-sentence. And whisper-1's prompt takes up to 224 tokens, which is where the names and acronyms go. If the client wants only an English version of a foreign-language video, the separate /v1/audio/translations endpoint does that in one step, whisper-1 only, English only.
Whichever route made the source file, fix it before you translate it, because every uncorrected error will appear in three languages. Play the video against the cues once. The things that break are the same every time: a name spelled by ear, a number the model wrote as words, a cue that starts a second late, a cue that holds two sentences. In the ElevenLabs editor those are a typed correction, a split with Enter, a dragged handle. On the API route they are edits in any text editor, since SRT is plain text with numbered cues and 00:01:23,400 --> 00:01:26,900 timecodes.
The translation is a text job, priced by the token. Paste the whole SRT into a text model with a short instruction: translate only the text lines into the target language, keep every cue number and every timecode exactly as given, do not merge or split cues, and keep each line under the client's characters-per-line limit. Ten minutes of speech is roughly 1,500 words. OpenAI's help page says 100 tokens are approximately 75 words in English, and warns that other languages have different ratios, so call it about 2,000 tokens in and 2,000 out per language.
At OpenAI's text prices that is a fraction of a cent per language on gpt-4o-mini ($0.15 in, $0.60 out per million), a little more on gpt-5.6-luna ($0.20 and $1.20). Mistral Large is $0.5 in and $1.5 out per million, with batch processing at half price. Gemini 3.8 Flash is $0.75 in and $3.75 out on the Paid tier through December 31, 2026, and the tier matters more than the cents here: the pricing page says Free tier content is used to improve Google's products and Paid tier content is not, and a client's video is exactly the content that should not go through the Free door. The drafting page reads all four price lists in full.
Then read each translated file against the video once more. A cue that fit the line-length rule in English can fail it in German or Vietnamese, and the fix is a shorter phrasing or a split cue in the target file. Export, name by language code, deliver all three with the source file.
ElevenLabs' Dubbing page does the whole chain in one go: upload the video or paste its URL, choose the language or languages, adjust Speaker similarity, and click generate. The docs say the cost is shown for you to confirm before the dub starts, that it is charged per minute of source media for each language you select, and that the website takes files up to 2 GB and 180 minutes. Dubbing v2 is automatic: there is no in-app editing, and editing or regenerating via the API is Enterprise only.
Two lines from the pricing and help pages set the budget. Dubbing costs 2,000 credits a minute automatic with a watermark and 3,000 without, so ten minutes into two languages is 40,000 or 60,000 credits: more than a Starter month of 30,000 and half of a Creator month of 121,000 credits at $22. And dubs generated on the free plan are watermarked with no option to remove it, on top of the free plan's rule that its output cannot be used for any commercial purpose. The voiceover page reads that licence line in full.
FIG 1LOG SCALE
Published per-minute rates. The first three bars are what a client pays an API to transcribe or live-translate a minute. The last two are what Rev says it pays a human captioner per audio minute, the low and high end of its range, not what a client pays. Log scale, because the groups are two orders of magnitude apart.
The chart above puts one minute of video on all three lists. The machine steps: transcription at $0.003 a minute on gpt-4o-mini-transcribe or $0.006 on Whisper (the model that returns SRT), or $0.22 an hour on ElevenLabs' Scribe v2 API, plus a translation step that is a fraction of a cent per language, plus $0.034 a minute if you want OpenAI's live translation instead. The human service: ElevenLabs' Productions team offers human subtitling from $2.20 per minute, with its language teams translating into other languages if you choose. The person: Rev pays captioners $0.54 to $1.10 per audio or video minute, and says subtitle translators earn its highest per-minute rates without printing them. The AI job cost calculator runs the machine rows for any length.
OpenAI's services agreement assigns to the customer all of its right, title and interest in the Output, and the customer keeps the Input; its data page says that as of March 1, 2023 data sent to the API is not used to train its models unless you explicitly opt in; and the agreement deletes all Customer Content within thirty days of termination, so the SRT files on your disk are the only copies. Gemini's rule is the tier row above. ElevenLabs' free plan has no commercial licence, and every paid plan does.
Rev pays freelancers weekly via PayPal for all approved work, within 1 week of approval, and its page says applications sit on a waitlist due to high application volume. The rate is per minute of video, not per minute worked, so the wage is $0.54 to $1.10 divided by the minutes you spend on each minute of video. Neither Rev nor anyone on this page publishes that division.
Take a ten-minute video you have rights to. Run it once through ElevenLabs with Include subtitles on and once through whisper-1 with response_format=srt, and time the fix pass on each. Translate one of them into one language with the timecodes locked and read it against the line-length rule. The machine bill will be a few cents; the fix pass is your cost, and $2.20 a minute is the price of the human alternative the client can also buy.
Earns.io (2026). Subtitle a 10-Minute Video in Three Languages: Cues in the Browser or by API, Translation by the Token, and What a Captioner Is Paid. Figures checked 2026-09-14. Retrieved from https://earns.io/en/methods/subtitles-and-translation-by-api
https://earns.io/en/methods/subtitles-and-translation-by-api
openai.com
GPT models billed per token.
This link pays this site nothing today. It goes to openai.com.
ai.google.dev
Google's model API with a free tier whose prompts are used to improve Google's products; paid usage is per million tokens and stays private.
This link pays this site nothing today. It goes to ai.google.dev.
mistral.ai
European model maker with a per-token API and open-weight models you can self-host under Apache 2.0 for research and individual use.
This link pays this site nothing today. It goes to mistral.ai.
elevenlabs.io
Voice and audio generation on a credit subscription; the free plan carries no commercial license, and a shared voice clone can earn Voice Actor Payouts.
This link pays this site nothing today. It goes to elevenlabs.io.
rev.com
Transcription, captioning and subtitle work paid per audio minute, $0.40 to $1.10 for transcripts, weekly via PayPal; applications currently sit on a waitlist.
This link pays this site nothing today. It goes to rev.com.