Video Transcript & Summary — YouTube, TikTok, Instagram, X
Pricing
from $5.00 / 1,000 transcript (captions)s
Video Transcript & Summary — YouTube, TikTok, Instagram, X
Transcripts with timestamps for YouTube, TikTok, Instagram Reels and X videos, from captions or speech recognition. Arabic dialects and English, optional translation and AI summary with chapters and keywords.
Pricing
from $5.00 / 1,000 transcript (captions)s
Rating
0.0
(0)
Developer
Al Moutasem Nabil
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Transcripts with timestamps for YouTube, TikTok, Instagram Reels and X videos, from captions or speech recognition. Arabic dialects and English, optional translation and AI summary with chapters and keywords.
تفريغ الفيديو وترجمة وملخص — يوتيوب، تيك توك، إنستغرام، إكس. يدعم اللهجات الخليجية والشامية والمصرية، والملخص يُكتب بالعربية الفصحى مع الحفاظ على اللهجة كما نُطقت في النص الأصلي.
Who it's for
- Content teams repurposing long videos into clips, posts and newsletters.
- Researchers and analysts who need searchable text from many videos at once.
- Marketers studying hooks and calls to action across competitors' short-form video.
- AI agents and automations that need a transcript as a synchronous API call (see Standby below).
What makes it different
- Four platforms in one schema. YouTube, TikTok, Instagram Reels and X return the same fields.
- Captions first, speech recognition second. When a platform already publishes captions the Actor uses them: exact, already timed, and far cheaper than transcribing audio.
- Arabic as a first-class language. Dialect is preserved verbatim in the transcript; summaries are written in Modern Standard Arabic. Keyword extraction normalizes alef, yaa, taa marbuta and tashkeel so "أحمد" and "احمد" count as one word.
- Clean sentences, not caption fragments. Auto-captions arrive as an overlapping rolling window ("so today", "so today we're", "so today we're building"); the Actor merges them back into sentences while keeping the start time of the first fragment, so timestamps stay accurate.
- Nothing is stored or rehosted. Audio is extracted at 16 kHz mono only for transcription and deleted immediately, on failures too. The output is text.
Input
{"videoUrls": ["https://www.youtube.com/watch?v=aircAruvnKk","https://www.tiktok.com/@user/video/7137723462233444614"],"language": "auto","includeTimestamps": true,"translateTo": "ar","summarize": true,"maxDurationMinutes": 60,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
YouTube channel and playlist URLs are expanded to their most recent videos (maxVideosPerSource).
Output
One dataset item per video. Every field is documented in .actor/dataset_schema.json, and the
Console shows three views: Transcripts, Summaries and Errors.
{"platform": "youtube","videoId": "aircAruvnKk","url": "https://www.youtube.com/watch?v=aircAruvnKk","title": "But what is a neural network?","author": "3Blue1Brown","publishedAt": "2017-10-05T00:00:00.000Z","durationSec": 1134,"language": "en","transcriptSource": "captions","asrProvider": null,"segments": [{ "startSec": 12.4, "endSec": 15.8, "text": "This is a 3, and it's sloppily written." }],"text": "This is a 3, and it's sloppily written.\nBut it's still recognisable.","wordCount": 1842,"translation": null,"summary": null,"processingMs": 4210,"scrapedAt": "2026-09-07T01:20:00.000Z"}
transcriptSource tells you what you paid for: captions and auto-captions are the cheap path,
asr means the audio was transcribed per minute.
Videos that produce no transcript are stored as error items with the failing stage — and are
never charged.
Pricing
Pay-per-event. You pay for finished work, never for a video the Actor could not read.
| Event | Price | When |
|---|---|---|
| Video processed | $0.002 | Per video whose metadata was fetched. |
| Transcript from captions | $0.005 | Per video transcribed from the platform's own captions. |
| Transcript minute (speech recognition) | $0.005 | Per audio minute, rounded up, only after it succeeds. |
| Translation | $0.01 | Per video translated. |
| AI summary | $0.02 | Per video summarized. |
Worked examples:
- 100 YouTube videos that have captions: 100 × $0.002 + 100 × $0.005 = $0.70.
- One 10-minute TikTok without captions, plus a summary: $0.002 + 10 × $0.005 + $0.02 = $0.072.
Apify's own apify-actor-start fee and platform compute are billed separately by your plan. Default
memory is 1024 MB, which is enough for every path including audio extraction.
Scheduling and integrations
- Fill in the input and Save as task.
- Add a Schedule to the task for a recurring pull.
- Under Integrations, send results to Slack, Google Sheets, a webhook, Make or Zapier on Run succeeded.
- From n8n or Make, call the Apify node with this Actor and read the dataset, or use Standby below for a synchronous single-video call.
Use as an API / MCP tool
With Standby enabled the Actor stays warm and answers one video per HTTP request, which is what an AI agent wants instead of starting a run and polling:
GET https://<your-actor>.apify.actor/?url=https://youtu.be/aircAruvnKk&summarize=1&translateTo=ar
Query parameters mirror the input fields (url, language, translateTo, summarize,
summaryLanguage, includeTimestamps, forceAsr, maxDurationMinutes). The response is JSON with
items and errors. GET /health returns {"ok":true}.
Limitations, honestly
- YouTube requires residential proxies. From datacenter IPs YouTube answers
"Sign in to confirm you're not a bot" and serves neither captions nor audio. Set
proxyConfigurationto{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}. Even then YouTube's bot checks vary by IP and by video; the caption path is the part most likely to need a yt-dlp bump (seeDockerfile,YT_DLP_VERSION). - Instagram and X are off by default (
enableInstagram,enableX). Neither publishes captions, so every video costs speech recognition, and both block datacenter traffic aggressively. - Speech recognition needs a provider key set on the Actor (
GROQ_API_KEY,DEEPGRAM_API_KEYorOPENAI_API_KEY). Without one, videos that have no captions produce an error item rather than a transcript. Summaries and non-YouTube translation needOPENROUTER_API_KEYorOPENAI_API_KEY. maxDurationMinutesis the cost control. Longer videos are skipped with an error item instead of running up a per-minute bill.- Heavy dialect reduces accuracy. Naming the language (
"ar") instead ofautomeasurably helps; auto-captions on dialect-heavy content are often worse thanforceAsr. - Live streams are rejected — there is no finished transcript to return.
Legal note
The Actor reads publicly available videos and their published captions. It never logs in and sends no cookies. Audio is downloaded only as a temporary intermediate for transcription and deleted immediately; no media is stored or rehosted, and the output is text. Only public channel names and handles are recorded — no viewer names, no comments, no personal contact details. Use the output in line with each platform's terms and the copyright that applies to the source video. YouTube, TikTok, Instagram and X are trademarks of their owners; this Actor is not affiliated with them.