Audio & Video Transcriber avatar

Audio & Video Transcriber

Pricing

$5.00 / 1,000 audio minute transcribeds

Go to Apify Store
Audio & Video Transcriber

Audio & Video Transcriber

Transcribe audio and video from URLs, uploaded files or public Telegram posts into text with SRT and VTT subtitles.

Pricing

$5.00 / 1,000 audio minute transcribeds

Rating

0.0

(0)

Developer

Stanislav Shupilkin

Stanislav Shupilkin

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

16 hours ago

Last modified

Categories

Share

A fast, multilingual audio transcriber and video transcriber that turns any media link or uploaded file into clean text with subtitles. Give it audio or video URLs, upload a file, or drop in a public Telegram post — get back an accurate transcript plus ready-to-use SRT and VTT subtitles. It is speech to text without a browser, without an account, and without wiring up a transcription API yourself.

Recognition runs on Whisper Large v3 Turbo, which handles 90+ languages and auto-detects each one. Long recordings are split, transcribed and stitched back into a single transcript, so a two-hour file comes back as one clean block of text.

What you can do with it

  • Transcribe podcasts, interviews and webinars — point the audio transcriber at an episode URL and get a searchable transcript you can edit, publish or feed to an LLM.
  • Add subtitles to video — every row ships an srt and a vtt string with real timestamps, ready to drop next to your video file or upload to any player.
  • Repurpose content — turn a talk, a voice memo or a video note into a blog draft, show notes, or a newsletter.
  • Build a transcription pipeline — call it from the Apify API as a hosted speech-to-text step, hand it a list of URLs, and read transcripts straight out of the dataset.
  • Search spoken content — make the audio half of your sources visible to keyword search, brand monitoring and analysis.

Inputs — three ways in, no login

  • Audio / video URLs — direct links to .mp3, .m4a, .wav, .mp4, .webm and more. The file is streamed to disk and transcribed.
  • Uploaded file — upload one audio or video file straight into the run; no hosting required.
  • Public Telegram posts — paste a https://t.me/<channel>/<id> link and the media is resolved from Telegram's public web preview (voice notes, video notes and videos). No account, no phone number, no Telegram API. You can also drop these links into the URL list — they are detected automatically.

YouTube links are intentionally not supported: transcribing YouTube from a datacenter needs residential proxies and cookies and sits in a licensing grey zone, so this Actor leaves it out by design.

Output fields

One dataset row is one input. Every row carries:

FieldTypeWhat it is
sourcestringThe URL, Telegram link or uploaded-file key you gave
titlestringA short label — the file name, or channel/message_id for Telegram
duration_secondsintegerLength of the audio in seconds
languagestringLanguage Whisper detected
transcriptstringThe full transcript — the whole point
srtstringSubRip subtitles with timestamps (when SRT output is on)
vttstringWebVTT subtitles with timestamps (when VTT output is on)
errorstringPresent only on a row that could not be transcribed, with the reason — the run keeps going and this row is not charged

Example output

{
"source": "https://example.com/episode-12.mp3",
"title": "episode-12.mp3",
"duration_seconds": 1834,
"language": "English",
"transcript": "And so my fellow Americans, ask not what your country can do for you...",
"srt": "1\n00:00:00,000 --> 00:00:04,200\nAnd so my fellow Americans...",
"vtt": "WEBVTT\n\n00:00:00.000 --> 00:00:04.200\nAnd so my fellow Americans..."
}

Export it as JSON, CSV, Excel or XML, or pull it straight from the Apify API into your own pipeline.

How to transcribe audio or video

  1. Paste one or more links into Audio / video URLs, or upload a file under Upload a file, or add Telegram post links.
  2. Choose whether you want SRT and VTT subtitles (both on by default).
  3. Optionally set a language hint and a duration cap.
  4. Run it. Results stream into the dataset as each input finishes.

Input options

FieldWhat it doesDefault
urlsAudio/video URLs (also accepts t.me post links)
audioFileOne uploaded audio or video file
telegramPostsPublic Telegram post links to resolve
outputSrtAdd an SRT subtitle string to every rowtrue
outputVttAdd a WebVTT subtitle string to every rowtrue
languageISO-639-1 hint (en, ru, de, …)auto-detect
maxDurationSecondsSkip anything longer, so one huge file can't eat the budget5400
maxFileSizeMbSkip files larger than this instead of downloading200

Pricing: pay per event

You are charged for results, not for runtime:

EventPrice
audio-minute — one minute of audio, rounded up per file$0.005

A 3-minute clip costs $0.015. An hour of audio costs $0.30. Inputs that fail to download, media that exceeds your duration cap, and anything that could not be transcribed are not charged.

If you set a maximum spend on the run, the Actor stops as soon as your limit is reached and finishes successfully with everything transcribed up to that point — you keep the partial dataset and pay nothing extra.

How it works

  • Media is streamed to disk and stripped, not rehosted. For a video, the picture track is thrown away with ffmpeg before anything is sent to speech recognition, so runs stay fast and cheap. No headless browser is ever launched.
  • Long recordings are chunked and stitched. Anything long is split into 15-minute segments, transcribed in order, and joined back into one continuous transcript. Subtitle timestamps are offset per segment so the SRT/VTT stays continuous across the whole file.
  • Recognition is Whisper Large v3 Turbo, multilingual and self-switching. The detected language is reported in every row. Transient provider errors are retried; an input that still fails is written out with an error and skipped, never crashing the run.
  • Subtitles come from real segment timestamps returned by the speech-to-text model, formatted into standard SRT and WebVTT strings.

Limits worth knowing before you run it

  • No YouTube. By design — see above.
  • Telegram: public posts only. Private channels, groups and DMs are not reachable without an account, which this Actor deliberately does not use. Audio sent to a channel as a file attachment has no downloadable link in the public preview; voice notes, video notes and videos are fine.
  • Media links on Telegram's CDN are signed and expire, so Telegram inputs are downloaded during the same run.
  • A single bad input is one row with an error, not a failed run. The Actor logs a warning, writes the error row, and moves on to the next input.