Video Transcript - Direct Video Files to SRT avatar

Video Transcript - Direct Video Files to SRT

Pricing

from $4.80 / 1,000 audio minutes

Go to Apify Store
Video Transcript - Direct Video Files to SRT

Video Transcript - Direct Video Files to SRT

Transcribe spoken audio in direct MP4/MOV video files to text and timed SRT/VTT subtitles. Upload video or paste public file URLs. Free failed and silent files. Same engine and prices as Audio Transcription.

Pricing

from $4.80 / 1,000 audio minutes

Rating

0.0

(0)

Developer

Yukai Lin

Yukai Lin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Share

Video Transcript — Direct Video Files to SRT

What does Video Transcript do?

Turn spoken audio in a video file into a timestamped transcript and downloadable SRT/VTT subtitles. Paste direct MP4/MOV file links or upload video files in Apify Console. This Actor uses the same transcription engine and prices as Audio Transcription; this form starts with video files instead of a podcast feed. It listens to the audio track; it does not read words displayed in video frames.

How to use

  1. Replace the example under Direct video file URLs (urls) with links to videos you own or are permitted to process. A link must download without signing in; test it in a private browser window. If the file cannot be shared that way, use Upload video files (audioFiles) in Apify Console.
  2. Leave Save SRT and VTT subtitles and Save TXT and Markdown transcripts on. Optionally choose a spoken language, or let the Actor detect it.
  3. Set Apify's Maximum cost per run before starting. The prefilled archive.org speech video lasts about 500 seconds and, if transcribed, is billed as 9 audio minutes ($0.054 on the Free/Bronze plan). Remove it when using your own files. The podcastFeeds prefill is empty, so the first form run sends only the MP4.
  4. Start the run. Each processed video gets a Dataset row with text, timed segments, and srtUrl/vttUrl when subtitles were saved. Download the subtitle file from its URL; TXT and Markdown links are in the full Dataset row.

Input example

Example direct file (checked with an anonymous HTTP Range request on 19 October 2026: 206 video/mp4, 48,964,530 bytes):

{
"urls": ["https://archive.org/download/gerald-ford-inaugural-address-august-9-1974-720p/Gerald%20Ford%20inaugural%20address_%20August%209%2C%201974%20%28720p%29.mp4"],
"podcastFeeds": [],
"saveSubtitles": true,
"saveTranscriptFiles": true
}

The engine has previously transcribed this Ford video; host access and speech recognition can still vary between runs. This variant has not yet had a live Apify run.

Output example

The overview shows url, mediaTitle, language, text, segments, srtUrl, vttUrl, billedMinutes, charged, and errorType. A successful spoken video normally has one row and an SRT link. A silent video is a free row with errorType: "no_text", noSpeech: true, and charged: false; it has no transcript to download. An invalid link is a free invalid_input row. A host that refuses access or returns a login/challenge page may produce a free blocked row with the reason in error; other failed downloads are also free. Inspect the full row for error, downloadAttempts, and other diagnostic fields.

Pricing

Standard transcription uses the engine's audio-minute event: $0.006 per started audio minute on Free/Bronze, with no start fee. SRT, VTT, TXT, and Markdown saving add no charge. Optional speaker labels, translated subtitles, or AI summary use the engine's separate events and prices if enabled through advanced JSON. Silent, blocked, invalid, or otherwise failed rows have no audio-minute event. A 500.14-second video rounds up to 9 audio-minute events when transcription succeeds.

Limitations

The original engine also accepts audio URLs, podcast feeds, dataset rows (datasetItems plus optional datasetField), and supported public video pages through advanced JSON. Hiding an entry from this focused form does not reject an otherwise valid engine input. For an automated run, explicitly set unused urls and podcastFeeds to [] so the example is not included. This Actor does not offer the caption retrieval workflow of YouTube Transcript.

Use recordings you own or may transcribe, and follow each host's terms. For user supplied media files, the engine does not check robots.txt; it first identifies itself as TidyTools, and its default download setting may retry a refused file with a standard browser User-Agent. It never logs in, sends cookies, solves challenges, or uses stealth. Explicit blocks are reported without charge. You can set downloadUserAgent: "tidytools" to keep the TidyTools User-Agent on every attempt.

FAQ

Does this read text shown in video frames? No. It transcribes the audio track.

Optional content pack

Set "contentPack":true for chapter, show notes, X and LinkedIn drafts in contentPack. Add "contentPackSubtitleLanguages":["Spanish"] for one translated SRT/VTT language in contentPack.translatedSubtitles (the existing $0.002/started-minute subtitle event applies on success). Drafts require review before publishing. Off by default; existing output and charges stay the same. A failed pack has contentPackError and no pack charge. Charge starts 2026-11-06 or later: one $0.10 content-pack event per successful pack, in addition to existing audio-minute charges. Until the operator sets CONTENT_PACK_CHARGE_FROM to an announced date on or after 2026-11-06 and that date arrives, the text pack is free.