Audio to Text — Whisper Transcription, SRT, RAG Chunks avatar

Audio to Text — Whisper Transcription, SRT, RAG Chunks

Pricing

from $5.00 / 1,000 audio minute (base)s

Go to Apify Store
Audio to Text — Whisper Transcription, SRT, RAG Chunks

Audio to Text — Whisper Transcription, SRT, RAG Chunks

Transcribe audio and video files, Drive or Dropbox links and podcast feeds with Whisper. Timestamped text, SRT and VTT subtitles, Markdown and RAG chunks in 99 languages. Failed files are free.

Pricing

from $5.00 / 1,000 audio minute (base)s

Rating

0.0

(0)

Developer

Salih Küçükkayış

Salih Küçükkayış

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Categories

Share

Transcribe audio and video to text with Whisper: podcasts, interviews, meetings, lectures, voice notes and video files. Give it file links, Google Drive or Dropbox share links, or a podcast RSS feed, and get one result per file with the full text, timestamped segments, SRT and VTT subtitles, Markdown and optional RAG chunks with start and end times. 99 languages, detected automatically, and translation to English.

$5 per 1,000 audio minutes with the fast model, $10 per 1,000 minutes with the accurate model, plus $0.005 per run at the default 4 GB memory ($0.00125 per GB). Minutes are counted per started minute, per file. Files that fail, cannot be read or contain no speech are free. No subscription, no API key, no platform usage fees.

Quick start

Press Start with the example input. It transcribes a 6-minute LibriVox recording of a Mark Twain story:

{
"urls": [
"https://archive.org/download/short_story_036_0904_librivox/shortstory036_sciencevsluck_gam_64kb.mp3"
]
}

Each file becomes one dataset row (real output of that run, text and lists shortened):

{
"url": "https://archive.org/download/short_story_036_0904_librivox/shortstory036_sciencevsluck_gam_64kb.mp3",
"fileName": "shortstory036_sciencevsluck_gam_64kb.mp3",
"fileSizeMb": 2.92,
"model": "base",
"task": "transcribe",
"language": "en",
"languageProbability": 0.998,
"durationSec": 364.3,
"transcribedSec": 364.3,
"processingSec": 48.7,
"billedMinutes": 7,
"segmentCount": 85,
"wordCount": 1005,
"text": "Science vs. Luck by Mark Twain This is a LibriVox recording. All LibriVox recordings are in the public domain. ...",
"segments": [
{ "start": 0, "end": 4.24, "text": "Science vs. Luck by Mark Twain" },
{ "start": 4.24, "end": 10.24, "text": "This is a LibriVox recording. All LibriVox recordings are in the public domain." }
],
"srt": "1\n00:00:00,000 --> 00:00:04,240\nScience vs. Luck by Mark Twain\n\n2\n00:00:04,240 --> ...",
"vtt": "WEBVTT\n\n00:00:00.000 --> 00:00:04.240\nScience vs. Luck by Mark Twain\n...",
"markdown": "# shortstory036_sciencevsluck_gam_64kb\n\nSource: https://archive.org/... · Duration: 06:04 · Language: en\n\n**[00:00]** Science vs. Luck by Mark Twain ...",
"files": {
"srt": "https://api.apify.com/v2/key-value-stores/.../records/000-shortstory036-sciencevsluck-gam-64kb.srt?signature=...",
"vtt": "...", "md": "...", "txt": "..."
}
}

The 6-minute file took 49 seconds to transcribe with the base model; the whole run, start to finish, took 64 seconds.

What it does

  • Inputs: direct links to audio or video files (mp3, m4a, aac, wav, ogg, opus, flac, mp4, mov, webm, mkv), Google Drive and Dropbox share links (turned into download links for you), and podcast RSS/Atom feeds (the newest episodes, with their title and publish date). Many links per run.
  • Text: the whole transcript as paragraphs, split at pauses.
  • Segments: every sentence-sized piece with its start and end time in seconds. Turn on Word timestamps for the time of every word.
  • Subtitles: SRT and WebVTT, inline in the result and as downloadable files.
  • Markdown: a title, source, duration and language line, then paragraphs with a [mm:ss] timestamp each. Ready for notes apps and LLMs.
  • RAG chunks (optional): set RAG chunk size and each result gets chunks, made of whole sentences, each with startSec, endSec and startTime. A search hit can link straight to the right moment of the recording. The same chunk format as Document to Markdown, so audio and documents can go into the same vector database.
  • Languages: 99, detected automatically, or set the language code. Translate to English gives English text from any spoken language.
  • Silence is skipped (voice activity detection), so long quiet stretches go fast and are less likely to turn into made-up text.

Models

ModelBest forSpeed (4 GB memory)Price
Base (default)clear speech in common languages: podcasts, lectures, voice notesabout 6 to 7 times faster than real time: 10 minutes of audio in about 1.5 minutes$5 / 1,000 minutes
Smallnames, accents, noisy recordings, less common languagesabout 2 to 3 times faster than real time: the 6-minute example took 2 minutes 42 seconds$10 / 1,000 minutes

Both run on CPU inside the Actor (faster-whisper, int8). Nothing is sent to a third-party speech API.

Cost examples

AudioBaseSmall
1 voice note, 1 minute$0.010$0.015
1 podcast episode, 30 minutes$0.155$0.305
1 meeting, 60 minutes$0.305$0.605
10 episodes of 45 minutes, one run$2.255$4.505

Set a spending limit on the run (Max total charge in Apify) and the Actor stops cleanly at it: the last file is cut at the last minute that still fits, and is marked truncated and stoppedAtSpendingLimit. Max minutes per file (default 180) caps each file.

Use it from code, n8n, Make or an AI agent

Call it like any Apify Actor: the API, the JavaScript and Python clients, the Apify node in n8n or Make, or Apify's MCP server for AI agents.

curl -X POST "https://api.apify.com/v2/acts/saliga~audio-to-text/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://example.com/episode-42.mp3"], "chunkSize": 1500}'

run-sync waits up to 5 minutes, which is enough for about 25 minutes of audio with the base model. For longer files, start the run and read the dataset when it finishes (a webhook or polling the run).

Output fields

FieldMeaning
urlthe link you gave (or the episode's file, for feeds)
feedUrl, podcastTitle, episodeTitle, publishedAtfor podcast episodes
fileName, fileSizeMbthe downloaded file
model, task, language, languageProbabilitywhat was used and what was detected
durationSec, transcribedSec, truncatedfull length and the part transcribed
billedMinutesminutes charged for this file
text, markdown, srt, vttthe transcript in each format
segments[{start, end, text, words?}]
chunks[{index, text, chars, startSec, endSec, startTime}], when RAG chunk size is set
filesdownload links for the .srt, .vtt, .md and .txt files
error, notewhy a file was skipped or cut; these files are not charged

Very long transcripts keep the dataset row small: if a row would pass Apify's size limit, the segments, subtitles and Markdown are left out of it (inlineOutputsTrimmed: true) and are read from files.

Limits

  • Platform pages are not supported: YouTube, TikTok, Instagram, Facebook, X, Spotify, Vimeo, SoundCloud and Apple Podcasts pages are refused with a clear error. Use a direct file link or the podcast's RSS feed.
  • No speaker labels (diarization) yet.
  • Up to 300 minutes per file and 2 GB per download. Live streams are not supported.
  • Google Drive files must be shared as Anyone with the link. Private links can be read with Request headers (for example a bearer token or a pre-signed URL).
  • Accuracy depends on the recording. Base makes mistakes with uncommon names; use Small when names matter.
  • Like every Whisper model, it can now and then skip a short passage, most often a spoken intro in the first seconds. Check segments if every word matters.

FAQ

Is my audio sent anywhere else? No. The file is downloaded into the run and transcribed there with an open-source Whisper model.

Why was a file not charged? Files that could not be downloaded, could not be decoded, or had no speech are never charged. The error or note field says why.

Can I transcribe a YouTube video? Not with this Actor. If you have the file itself (or its audio), pass a link to it.

Other tools from the same developer: Video to Scenes (scene cuts, keyframes and the transcript of each scene), Career Site Jobs (open jobs from company career sites, new-jobs monitor), Document to Markdown (PDF, Word, PowerPoint, Excel, OCR, RAG chunks), Bulk HTTP Requests, Website Screenshot + Change Detection, Keyword Search Volume.