← Back to home

VideoText for ChatGPT

The VideoText app lets ChatGPT check, fix, translate, and convert SRT and VTT subtitle files, and format transcripts, using the same engine and the same account as videotext.io. This page is for people using it in ChatGPT and for administrators reviewing it.

Server URL

https://mcp.videotext.io/mcp

Authentication: sign in to VideoText when a tool needs your account. No API key and no request headers.

Add VideoText in ChatGPT

  1. Open VideoText from the ChatGPT directory, if it is listed there, and choose to connect it. You can also mention it in a message by typing @VideoText once it is added.
  2. To add it yourself by URL (for example for testing, or for a workspace administrator), turn on developer mode in ChatGPT, create a connection, and enter the server URL https://mcp.videotext.io/mcp. Choose OAuth as the authentication method. Menu names in ChatGPT change from time to time; OpenAI’s documentation has the current steps.
  3. The checking tools work immediately. ChatGPT asks you to sign in the first time a tool needs your account.

In a ChatGPT workspace, an administrator may need to allow the app first. Each person then signs in to their own VideoText account; one person’s sign-in never gives others access to their files.

Without an account vs. with an account

Two tools work as soon as the connector is added, with no VideoText account: check_subtitles and check_reading_speed. They read the text you paste, return a report, and keep nothing. A check also shows a short preview of what a fix would change.

Anything that creates a file, or reads your account, needs a free or paid VideoText account: fixing, translating, converting, formatting, getting a job result, and the account and allowance tools. The first time ChatGPT needs one, it shows a sign-in prompt in the conversation. Sign in on mcp.videotext.io with your existing VideoText account (email and password, or a one-time email code), and the request continues. You stay signed in on later requests.

No account yet? Create one on VideoText. Account processing uses the same allowance as the website.

The nine tools

ChatGPT chooses the tool from your request; you do not need to name it. Tools marked “Creates a job” add a new result file to your account and never change or delete your original text or existing files.

Check subtitle file

check_subtitles

No account needed · Reads only

Reports overlapping cues, broken or zero-length timing, format errors, empty cues, lines over 42 characters, and cues faster than 20 characters per second, with cue numbers and timestamps. Changes nothing.

Input: subtitle_text (SRT or VTT)

Check subtitle reading speed (CPS)

check_reading_speed

No account needed · Reads only

Lists every cue over a reading-speed threshold with its characters per second. Presets: netflix 20 CPS (default), bbc 17 CPS, ebu 21 CPS. These are thresholds, not a certification.

Input: subtitle_text, optional standard

Fix subtitle file

fix_subtitles

Needs your VideoText account · Creates a job

Returns a corrected copy: overlaps resolved, too-fast cues given more time where there is room, and lines rebalanced to 42 characters, two lines at most. Grammar cleanup and filler-word removal are off unless you ask. The result lists what changed and anything that still needs review.

Input: subtitle_text, optional fix_timing, line_breaks, grammar, remove_fillers

Translate subtitle file

translate_subtitles

Needs your VideoText account · Creates a job

Translates an SRT or VTT file into another language and keeps the original cue numbers and timestamps.

Input: subtitle_text, target_language (for example Spanish or Hindi)

Convert subtitle format

convert_subtitles

Needs your VideoText account · Creates a job

Converts between SRT, VTT, and plain text, including Zoom, Teams, or YouTube VTT to a text transcript.

Input: subtitle_text, target_format (srt, vtt, or txt)

Format transcript to style guide

format_transcript

Needs your VideoText account · Creates a job

Formats a transcript to Rev, GoTranscript, TranscribeMe, or Scribie conventions: clean or full verbatim, fillers and false starts, speaker labels, and tags such as [inaudible]. VideoText is not affiliated with these companies.

Input: subtitle_text (TXT, SRT, or VTT), preset (rev, gotranscript, transcribeme, or scribie)

Get file result

get_job

Needs your VideoText account · Reads only

Returns the status of a fix, translate, convert, or format job, or the finished file with its quality notes. Long files come back in numbered parts.

Input: job_id and job_kind from the tool that started the job, optional part

VideoText account

get_profile

Needs your VideoText account · Reads only

Shows which VideoText account is connected (account id, email, and plan).

Input: none

Account allowance

get_allowance

Needs your VideoText account · Reads only

Shows how many uses are left on the connected account. It is the same allowance as on videotext.io.

Input: none

Examples

Paste the file text into the conversation and ask in plain words. Each example shows the prompt and what happens.

Check a subtitle file

No account needed

Check this SRT for problems:

1
00:00:01,000 --> 00:00:03,000
Hello and welcome to VideoText.

2
00:00:02,500 --> 00:00:05,000
This subtitle overlaps the previous one.

3
00:00:05,100 --> 00:00:08,000
Thanks for watching.

ChatGPT calls check_subtitles. The report says cue 1 overlaps cue 2 by 500 ms and includes a preview of the cues a fix would change. No account is needed.

Fix the file

Needs your VideoText account

Fix the overlapping subtitles and give me a clean SRT.

ChatGPT calls fix_subtitles, then get_job. Cue 1 now ends at 00:00:02,400, before cue 2 starts. The result lists each timing change and any cue that still reads too fast.

Translate it

Needs your VideoText account

Translate this SRT to Spanish and keep the timestamps.

ChatGPT calls translate_subtitles, then get_job. You get a Spanish SRT with the same cue numbers and timestamps.

Convert the format

Needs your VideoText account

Convert this Zoom VTT transcript to plain text.

ChatGPT calls convert_subtitles with target_format txt, then get_job, and returns the text transcript.

Format a transcript

Needs your VideoText account

Format this transcript to Rev clean verbatim:

Speaker 1: um so yeah we, we started in 2019.

ChatGPT calls format_transcript with the rev preset, then get_job, and returns the formatted transcript.

Check reading speed against a stricter limit

No account needed

Which cues in this SRT are over 17 characters per second?

ChatGPT calls check_reading_speed with standard bbc and lists every cue over 17 CPS.

Supported input

  • Formats: SRT and VTT subtitle files, and TXT transcripts (for formatting and conversion).
  • How text arrives: paste the file into the conversation, or attach an SRT, VTT, or TXT file. For an attachment, ChatGPT gives VideoText a temporary download address for that one file and VideoText reads its text. VideoText does not open links you type or paste.
  • Size: up to 1,500,000 characters per request. Checks without an account read up to 100,000 characters. Very long files are slow for ChatGPT to pass along; split them if a request stalls.
  • Languages: text in any language and script is kept as written. Translation accepts a language name such as Spanish, Hindi, Brazilian Portuguese, or Arabic.
  • Not accepted: audio, video, images, links to files or videos, and other subtitle formats such as SCC, TTML, DFXP, ASS, or LRC.

Getting results

Fix, translate, convert, and format start a job on your account and return a job id straight away. ChatGPT then calls get_job, which waits a few seconds for the job to finish and returns the file. If it is still processing, ask ChatGPT to check again.

The finished file appears in a result view in the conversation, with a summary of what changed and anything that still needs review, such as a cue that still reads too fast because the next cue starts right after it. A Download button in that view saves the file.

The file is VideoText’s output. If the summary lists unresolved warnings, check those cues against the video, shorten the text, or accept the warning. The same result is also in your VideoText account while the result file is kept (see retention below).

If ChatGPT sends the same request twice within 10 minutes, for example after a timeout, VideoText returns the first job instead of starting and charging a second one.

Usage limits

  • Checks without an account: 40 per 10 minutes for each conversation, up to 100,000 characters each.
  • Fix, translate, convert, and format: each job uses your account’s allowance, the same allowance as on the website. Ask ChatGPT “How many VideoText uses do I have left?” to see it.
  • Free plan output: files from a free account include a one-line attribution, “Created with VideoText — Free Plan”, at the start and end. Files from paid accounts have none.
  • Request size: up to 1,500,000 characters of text per request.

Website-only tools

ChatGPT can use VideoText for subtitle and transcript text files you already have. The tools below work with audio or video and are available only on videotext.io, not through ChatGPT:

In ChatGPT

  • Check subtitles and reading speed
  • Fix subtitle timing and line breaks
  • Translate SRT and VTT
  • Convert SRT, VTT, and TXT
  • Format transcripts to a style guide

Through ChatGPT, VideoText does not transcribe audio or video, accept media files or links, burn subtitles, compress video, or shift a whole file to match a video.

Common errors

A sign-in prompt appears in the chat
The request needs your VideoText account. ChatGPT shows a sign-in prompt. Sign in, then ask again or let ChatGPT retry the same request.
“You have reached the limit on your current plan.”
The account’s allowance is used up. The message gives the renewal date.
“Too many subtitle checks from this chat. Wait a few minutes and try again.”
Checks without an account are limited to 40 per 10 minutes for each conversation. Wait, or connect your account.
“That file is too large to check without an account.”
Checks without an account accept up to 100,000 characters. Connect your account to check a longer file.
“No subtitle cues were found. Paste an SRT or VTT file.”
The text has no timed cues. Check that the whole file was pasted, including the timestamp lines.
“Paste the file contents or attach the file. URLs are not accepted.”
VideoText does not fetch links. Paste the text of the file instead.
“The job is processing.”
The file is not ready yet. Ask ChatGPT to check the job again in a moment.
“Job not found” or “This result has expired.”
The job belongs to another account, or its result file has been deleted after the retention period. Run the tool again.
“VideoText is temporarily unavailable. Try again in a minute.”
VideoText could not be reached. Nothing was charged for the failed request. Try again shortly.

If ChatGPT shows a sign-in prompt again after you signed in, disconnect and reconnect the connector. If it keeps happening, email [email protected] with the time it happened.

Sign-in and security

For administrators reviewing the connector:

  • Standard OAuth. ChatGPT connects with OAuth 2.1 authorization code flow and PKCE (S256). ChatGPT identifies itself with its published client metadata document, and VideoText returns sign-in results only to ChatGPT’s callback addresses on chatgpt.com. There is no client secret and no shared API key.
  • Passwords stay with VideoText. Users sign in on mcp.videotext.io. ChatGPT never sees the VideoText password, and VideoText never receives ChatGPT credentials. The sign-in page names the app asking for access and where the browser returns.
  • Permissions requested: jobs:write (start fix, translate, convert, and format jobs on the user’s account) and account:read (read the account id, plan, and remaining allowance). The connector cannot change passwords, billing, or account settings, and cannot delete files.
  • Tokens. Access tokens last about 1 hour. Refresh tokens last about 30 days, are replaced each time they are used, are tied to the app they were issued to, and are stored encrypted. Tokens issued for this connector are not accepted anywhere else, and tool results never include them.
  • Account isolation. Every job belongs to the account that started it. A request for another account’s job gets “Job not found” and no file.
  • Network. ChatGPT connects to one public HTTPS host, mcp.videotext.io. VideoText does not call back into ChatGPT or fetch links you send.

Data, storage, and retention

  • Checks without an account are processed in memory and not stored.
  • Jobs (fix, translate, convert, format) are stored with your VideoText account under the same rules as the website: result files are kept for at least 24 hours, transcript text for at least 7 days (30 days on Free and 365 days on Pro once project saving is on for the account), and uploads and scratch files are removed within a few hours. Formatted transcripts stay with the account.
  • The connector stores only the sign-in session, not a copy of your files. To avoid duplicate jobs it keeps a fingerprint of each request (not the text) for 10 minutes.
  • Processing. Checks, timing and line-break fixes, filler-word removal, and format conversion run on VideoText’s own servers. Translation, the optional grammar cleanup, and transcript formatting send the text to OpenAI to produce the result. Your content is not used to train models.
  • Conversation data. VideoText receives only the text and options ChatGPT passes to a tool. It does not read your ChatGPT conversations, memory, or other files.

Full details: Privacy Policy and Terms of Service.

Disconnecting: remove or disconnect VideoText in ChatGPT’s app settings. ChatGPT discards its tokens, and the stored session expires within 30 days. To delete your VideoText account and its data, email [email protected] or use the Contact page.

Support

Questions about the connector, a failed job, or a review for your organization? Email [email protected] or use the Contact page. Include the time of the request and the job id if ChatGPT showed one.

Related: Privacy · Terms · Contact · VideoText API