Skip to main content

X (Twitter) Video to Text

Third-party service

Turn the video in an X (Twitter) post into text — paste the post link and get its captions as clean prose, timestamped lines, or a downloadable SRT/VTT file.

Input

Works with x.com and twitter.com post links (including /video/1 and ?s= links), or a bare post ID.

Output

Post
Transcript
Details

The video's details will appear here.

Was this helpful?

More ways to use this tool

REST API

curl -X POST https://api.iotools.cloud/v1/tool/x-to-text \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "postUrl": "https://x.com/poteto/status/2102050467505430555",
    "format": "paragraphs"
  }'

Swap in your own key from your account. The tool's fields are the body — no wrapper.

Ask an AI agent

Use the IOTools `x-to-text` tool (X (Twitter) Video to Text) on this input:

YOUR_INPUT_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

Cost per API/MCP callFrom 9 credits
Free-plan API/MCP cap^135 credits/month
Need more credits?View pricing

^ The most you can spend on this tool over API/MCP per month on the free plan. Buying a credit pack removes this cap, same as Builder.

Also available with

Guides

Use this responsibly. This tool only surfaces captions X has already published for a video — it doesn't verify what they say, and we take no responsibility for a transcript's accuracy or for what you do with it. The video and its captions still belong to whoever posted them; using the output is your call to make against copyright law and X's own Terms of Service, the same as if you'd transcribed the video yourself by hand.

What this tool does

Paste the link to an X (Twitter) post with a video, get the video's captions back as text. It reads the caption track X already has for the video — the same one behind the CC button in X's player — and turns it into readable prose, timestamped lines, or a downloadable SRT/WebVTT file. No sign-in, no extension, no audio processed.

Works with x.com/<user>/status/... and twitter.com/... links, links ending in /video/1 or carrying ?s=20, x.com/i/status/... links, the fxtwitter/vxtwitter/fixupx mirrors, or a bare post ID. If the post quotes another post's video, the tool reads that one.

Caption coverage

X only auto-captions some videos — mostly longer, recent uploads with clear speech. Plenty of videos, especially short clips, music videos and older uploads, have no caption track at all. When a video has none, you'll get a clear "no captions" message instead of a made-up transcript — this reads an existing caption track rather than listening to the audio.

Choosing an output format

  • Readable paragraphs — the default. Caption fragments get stitched into real sentences and grouped into paragraphs.
  • Plain text — one continuous block, no line breaks.
  • Timestamped lines — every line prefixed with [12:34], for finding the exact moment something was said.
  • SRT and WebVTT — real subtitle files with start/end timecodes, ready for a video editor or a re-upload.
  • JSON — every cue as { startMs, endMs, durationMs, text }, for feeding the transcript to another script.

Using it as an X video transcript API

Every format above is one HTTP call away — see More ways to use this tool below for a ready-made curl. POST a postUrl and a format, get JSON back. Agents can call the same tool over MCP. transcript is always a string, whatever format you asked for; post carries the canonical x.com URL.

details is a real JSON object — { title, author, durationSeconds, trackLabel, languageName, languageCode, isAutomatic, cueCount, availableCodes }, always every key. Same shape as YouTube to Text and TikTok to Text, so code written against one reads the others unchanged.

What it can't do

  • Videos with no captions — see above.
  • GIFs. They have no audio, so there's nothing to caption.
  • Deleted posts, protected accounts, or withheld posts. X won't serve them to an anonymous request.
  • Posts with several videos. Only the first video is read.

Common questions

How do I get the transcript of a video on X? Copy the post's link (Share → Copy link), paste it at the top of this page and press the button.

Why does it say this video has no captions? Because X never generated any for it. This tool reads existing captions; it doesn't transcribe audio.

Can I download the captions as a subtitle file? Yes — pick SRT or WebVTT and use the download button on the result.

Does it work with twitter.com links? Yes. Old twitter.com links and new x.com links point at the same post.

twitter video transcripttwitter transcripttweet to texttwitter captionstwitter subtitlesx video transcriptx captionsx subtitlesvideo to textsubtitlescaptionssrtvttclosed captionstranscribe videodownload subtitlesvideo transcription

Love the tools? Lose the ads.

One payment clears every ad from your account, for good. No subscription, no tracking.