Transcribe a TikTok, Instagram or YouTube Video: MCP Tool for AI Agents

Queues AI transcription of the spoken audio for a video post. Accepts a public post URL or an internal post id. Asynchronous: returns a job reference to poll with get_job_status; once complete the transcript is attached to get_post responses. Credits are charged on queueing and automatically refunded if the job fails. Image slideshows and photo posts have no audio and are rejected up front with no charge: use request_visual_analysis for their on-screen text instead.

Queue an AI transcription for any tracked video post and get the spoken words back. Hand it a public post URL or an internal post id; it runs asynchronously and attaches the finished transcript to get_post. Built for content-research agents that need the actual words behind a viral hook, not just its view count. Each transcription costs 10 credits (1 credit = $0.01) and is refunded automatically if the job fails. Image slideshows have no audio: those are rejected with no charge, and request_visual_analysis extracts their on-screen text instead.

10 credits ($0.10) per callAsynchronous (poll job)

How agents use it

Connect the Viral Outliers MCP server once and the request_transcript tool becomes available to your agent alongside all other skills:

claude mcp add --transport http viral-outliers https://viraloutliers.com/api/mcp \
  --header "Authorization: Bearer so_live_YOUR_KEY"

In Claude.ai or ChatGPT, add a custom connector pointing at https://viraloutliers.com/api/mcp. Your agent then calls request_transcript on its own whenever the task needs it.

Parameters

NameTypeDescription
urlstringPublic post URL (e.g. a TikTok/Reel/Short link). The easy path when you have a link.
postIdstringInternal post id (from search results). Provide this or url.

What it returns

The call itself returns a job reference immediately: transcription is asynchronous, not a blocking request. You poll that reference with get_job_status (free) until it reports completed, at which point the transcript is attached to the post and comes back on every subsequent get_post call at no extra cost.

The transcript is the video's spoken audio, and a typical short is ready within a couple of minutes. Posts with no audio (TikTok photo carousels, Instagram image posts) are rejected before any charge with a message pointing you at request_visual_analysis, which extracts their on-screen text and per-slide descriptions instead.

How it works

You submit either a url (the easy path when a user hands you a link) or a postId from search results. The service fetches the post's media if it is not already stored, runs it through an AI transcription model, and writes the result back onto the post record. Credits are charged when the job is queued and, critically, refunded automatically to your balance if the job ultimately fails: you are never billed for a transcript you did not receive.

The job runs on a deferred queue, so submitting many at once does not block; each returns its own reference to poll. Because the transcript is cached on the post, transcribing the same post again is unnecessary: get_post will already carry it, and remix_post reuses it rather than regenerating.

Common use cases

Hook mining is the headline use: transcribe the top 20 outliers in a niche, pull the first three seconds of each, and build a swipe file of proven opening lines. Script-recreation agents combine the transcript with the post's visual analysis to rewrite a winning video in a brand's own voice. Search and RAG pipelines transcribe a back catalogue so the actual words, not just captions, become searchable.

Because the transcript lives on the post, downstream skills get it for free: remix_post adapts from the full transcript, and reporting tools can quote the exact hook that drove an outlier.

vs. running your own speech-to-text pipeline

Doing this yourself means downloading the media (proxies, expiring CDN links, HEIC and animated-cover quirks), running and paying for a transcription model, and storing the output somewhere joined to the post. Every one of those is a moving part that fails on its own schedule.

request_transcript folds all of it into one call at a flat credit price, with automatic refunds on failure and the result cached on a post record already carrying stats and outlier scores. Compared with a generic transcription API you would still have to feed media into, this one starts from a post id and handles the media acquisition for you, and tells you up front (with no charge) when a post has no audio to transcribe.

Pricing

10 credits ($0.10) per call in prepaid credits (1 credit = $0.01). For example, 10 calls per dollar. Subscriptions include monthly credits; top-up packs start at $15. Failed asynchronous jobs are refunded automatically, and calls stop at a zero balance, never a surprise bill. See the full pricing table.

Agent workflows

  • Hook mining: transcribe the top 20 outliers in a niche → extract the first-3-second hooks → hook swipe file.
  • Script recreation: transcript + visual analysis → rewrite for your own brand voice.

Frequently asked questions

How do I transcribe a TikTok, Reel or Short with an API?

POST the post id to the transcriptions endpoint (or call the request_transcript MCP tool). It costs 10 credits, runs asynchronously, and the finished transcript is returned by get_post, usually within a few minutes.

What happens if transcription fails?

The job is retried automatically; if it ultimately fails your credits are refunded to your balance without any action on your side.

Can I transcribe a TikTok or Instagram slideshow that has no audio?

No, and you are never charged for trying: image posts are rejected up front with a clear message. Use request_visual_analysis instead, which extracts the on-screen text and a visual description of every slide, so slideshows still end up with usable text on the post record.