Video & Audio Transcriber avatar

Video & Audio Transcriber

Pricing

from $45.00 / 1,000 audio minute transcribeds

Go to Apify Store
Video & Audio Transcriber

Video & Audio Transcriber

Transcribe YouTube videos, audio and video files and podcast episodes to text with timestamps, SRT and VTT. One row per file: transcript, language, duration, what it cost. Charged per audio minute; YouTube captions cheaper; refused files and silent audio free. No API key, no account.

Pricing

from $45.00 / 1,000 audio minute transcribeds

Rating

0.0

(0)

Developer

Stable

Stable

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Paste YouTube links, audio or video files, or a podcast feed. Get one row per file with the full transcript, timestamped segments, detected language and duration — and SRT/VTT if you want subtitles. Charged per audio minute; a file that could not be fetched costs nothing.

Unofficial. This Actor is not affiliated with, endorsed by or sponsored by YouTube or Google. It reads only publicly available media, does not log in and does not bypass any access control. All product names and trademarks belong to their respective owners.

One row, from a real run

The first video ever uploaded to YouTube, whose channel published captions — so this row took the caption path: exact words, two seconds, the cheaper rate.

{
"status": "ok",
"url": "https://www.youtube.com/watch?v=jNQXAC9IVRw",
"sourceType": "youtube",
"title": "Me at the zoo",
"author": "jawed",
"published": "2005-04-24",
"durationSeconds": 19,
"minutesCharged": 1,
"truncated": false,
"language": "en",
"method": "youtube-captions-manual",
"model": null,
"text": "All right, so here we are, in front of the elephants the cool thing about these guys is that they have really... really really long trunks and that's cool (baaaaaaaaaaahhh!!) and that's pretty much all there is to say",
"wordCount": 39,
"segmentCount": 6,
"segments": [
{ "start": 1.2, "end": 3.36, "text": "All right, so here we are, in front of the elephants" },
{ "start": 5.32, "end": 7.97, "text": "the cool thing about these guys is that they have really..." }
],
"fetchSeconds": 1.96,
"decodeSeconds": 0,
"transcribeSeconds": 0,
"videoId": "jNQXAC9IVRw"
}

A podcast episode from the same run, through the speech model: 120 seconds of audio (cut at a 2-minute test ceiling), 351 words, method: whisper-base, decodeSeconds: 6.8, transcribeSeconds: 38.2, minutesCharged: 2, truncated: true.

What you can give it

inputwhat happens
YouTube video link (watch?v=, youtu.be, Shorts)audio is fetched and transcribed. If the channel published captions, they are used instead — exact wording, instant, cheaper (see YouTube captions)
direct link to a media file — mp3, m4a, mp4, wav, webm, mov, ogg, flac, on any hostdownloaded and transcribed
podcast feed (RSS or Atom)the newest episodes are transcribed, up to Episodes per feed
a web page, a channel page, a playlistrefused, free, with the reason in the row

Files up to 1 GB. Per-file ceiling in minutes is yours to set (default 180); anything past it is cut, the row says truncated: true, and only the minutes transcribed are charged.

Three things worth knowing

  • Captions when they exist. A YouTube video whose channel uploaded captions returns those — the exact words, in about a second, at the lower caption minute rate. The method column says which path a row took: whisper-base or youtube-captions-manual. Set YouTube captions to Never if you always want the model's transcript.
  • Every row explains its cost. minutesCharged is exactly what was billed, rounded up to the started minute. fetchSeconds, decodeSeconds and transcribeSeconds show where the time went.
  • No speech, no charge. A file that turns out to hold music or silence comes back with an empty transcript, minutesCharged: 0, and a note saying so. You pay for words, not for minutes of nothing.
  • Refused is a row, not a mystery. A dead link, a page instead of a file, a feed with no episodes — each comes back as status: refused with the reason, never charged, so a batch of fifty tells you which three to fix.

Models

modelwhenspeedaccuracy
base (default)clear speech, most languages~5× realtimegood
smallaccents, noise, technical vocabulary~2× realtimebest
tinydrafts, clear English, long batches~9× realtimerough

All three are built into the Actor; nothing downloads at run time. Languages: detection is automatic; set one when you know it. Translate to English returns English text from any language at the same price.

Output

text is the whole transcript; segments is a list of {start, end, text} in seconds. With Include SRT and VTT on, each row carries the subtitle text in srt and vtt and links to the same as downloadable files (srtFileUrl, vttFileUrl) in the run's storage. Export the table as JSON, CSV or Excel from the run's dataset; for CSV, switch Include timestamped segments off to keep one cell per row.

Price

Charged per audio minute transcribed, rounded up to the started minute, minimum one minute per file. Caption minutes (YouTube captions used instead of the model) are charged at a lower rate. Nothing else: no per-file fee, no charge for refused items, no charge for minutes past your ceiling.

Limits, stated plainly

  • Up to 200 items per run and 600 minutes per item; defaults are 50 and 180.
  • One file at a time. A 60-minute file on base takes about 12 minutes of run time; on small about 30. Long batches are fine, just slow — schedule them.
  • Live streams are refused until they have ended.
  • YouTube channel pages and playlists are not expanded — paste the videos, or use a channel-videos scraper to list them first.
  • Age-restricted and private videos cannot be fetched.
  • The free plan runs this Actor like any other; a run stops cleanly when your usage limit is reached, and the rows already stored stay.

Typical uses

  • Turn a podcast feed into searchable text every week — schedule it with the feed URL and Episodes per feed = 3.
  • Subtitle a batch of product videos: switch Include SRT and VTT on.
  • Build a corpus from a list of talks for analysis or an LLM: plain text column, segments off.
  • Translate foreign-language interviews to English in one pass.