Video & Audio Transcriber - Speech to Text, Subtitles & SRT
Pricing
from $30.00 / 1,000 video transcribeds
Video & Audio Transcriber - Speech to Text, Subtitles & SRT
Transcribe any video or audio to text from a URL - YouTube, TikTok, Facebook, X, Vimeo, podcasts, 1000+ sites, or direct media files. AI speech-to-text with language detection, timestamps and ready-to-use SRT/WebVTT subtitles. Optional AI summary. Export to CSV, JSON or Excel.
Video & Audio Transcriber β Speech to Text, Subtitles & SRT
Turn any video or audio URL into accurate text β with language detection, timestamped segments, ready-to-use SRT/WebVTT subtitles, and an optional AI summary. Paste links from YouTube, TikTok, Facebook, X (Twitter), Vimeo, SoundCloud, podcast RSS feeds and 1000+ other sites, or point it straight at a media file. Export to CSV, JSON or Excel.
Powered by OpenAI Whisper speech-to-text. No login, no browser extension, no manual downloading.
What it does
- ποΈ Speech to text β a clean, full transcript for every URL.
- π Any language β automatic language detection, or pass a language hint.
- β±οΈ Timestamps β optional segment-level start/end times.
- π¬ Subtitles β ready-to-use SRT and WebVTT files for captioning and editing.
- π§ AI summary β optional 1β2 sentence summary plus keywords per item.
- π Works everywhere β YouTube, TikTok, Facebook, Instagram, X, Vimeo, SoundCloud, Dailymotion, podcasts (RSS), and 1000+ sites, or direct media files (mp3, mp4, wav, m4a, flac, ogg, webm, mov).
- π Export β CSV, JSON, Excel via the Apify dataset.
Input
| Field | Type | Description |
|---|---|---|
mediaUrls | array | Required. Video/audio page URLs or direct media-file links, one per line. |
includeSummary | boolean | Add an AI summary + keywords for each transcript. |
includeTimestamps | boolean | Return timestamped segments, not just full text. |
includeSrt | boolean | Also produce srt and vtt subtitle strings. |
language | string | Optional ISO hint (en, es, hi, β¦). Empty = auto-detect. |
proxyConfiguration | object | Apify Proxy (on by default). Switch to Residential if a site blocks datacenter IPs. |
{"mediaUrls": ["https://www.tiktok.com/@nasa/video/7665075736742530317","https://www.youtube.com/watch?v=VIDEO_ID","https://cdn.example.com/episode-12.mp3"],"includeSrt": true,"includeSummary": true}
Output
One row per URL:
{"url": "https://www.tiktok.com/@nasa/video/7665075736742530317","platform": "TikTok","title": "Something big just landed on TikTok.","uploader": "nasa","status": "ok","transcript": "Something big just landed ...","language": "english","audio_duration": 25.0,"duration_seconds": 25,"srt": "1\n00:00:00,000 --> 00:00:04,000\nSomething big just landed ...","summary": "A short NASA clip announcing a new arrival on TikTok.","keywords": ["nasa", "space", "announcement"]}
Failed, private, or non-media URLs return a row with status: "error" and are not billed.
Pricing (pay per result)
Length-tiered, so long recordings stay fair:
| Event | Price | When |
|---|---|---|
media-transcribed | $0.030 | per item (includes the first audio-minute) |
transcription-minute | $0.020 | per additional audio-minute |
srt-exported | $0.006 | only if subtitle export is on |
ai-summary | $0.007 | only if AI summary is on |
A 1-minute clip is $0.03; a 10-minute video is $0.03 + 9 Γ $0.02 = $0.21. You pay only for successful transcripts.
Notes
- Only media that has an audio track can be transcribed; silent or image-only content returns an error row.
- Very long media works β audio is extracted to a compact stream before transcription, so there's no small file-size ceiling.
- For sites that block datacenter traffic, select a Residential proxy group.
π Use this Actor from Claude, ChatGPT or Cursor (MCP)
Add it as a tool in any MCP client - Claude Code, Claude Desktop, Cursor, VS Code or ChatGPT - through Apify's hosted MCP server. The client runs the Actor for you and reads the results back, so you never leave the chat.
Actor-specific server URL
https://mcp.apify.com/?tools=actors,docs,zaver.api/universal-video-audio-transcriber
Claude Code - one command:
$claude mcp add --transport http universalvideoaudiot "https://mcp.apify.com/?tools=actors,docs,zaver.api/universal-video-audio-transcriber"
Claude Desktop, Cursor or any client with a JSON config:
{"mcpServers": {"universalvideoaudiot": {"url": "https://mcp.apify.com/?tools=actors,docs,zaver.api/universal-video-audio-transcriber"}}}
The first connection opens a browser to sign in to Apify, so no API token sits in your config. If your client cannot do OAuth, send Authorization: Bearer <YOUR_APIFY_TOKEN> instead.
Then simply ask:
Transcribe this video and give me the summary
Related actors
- Instagram Reel Transcript Extractor β speech-to-text and subtitles for reels
- TikTok Transcript & Subtitle Extractor β TikTok speech-to-text, SRT and summaries
- Instagram Reel Scraper β reels with play counts and direct video URLs
- TikTok Hashtag Scraper β videos under a hashtag with views, likes and shares
- Social Media Metrics Scraper β one API for Instagram, Facebook, YouTube and X metrics