Video To Text avatar

Video To Text

Pricing

from $0.30 / transcript

Go to Apify Store
Video To Text

Video To Text

Video To Text turns one public video URL or media upload up to 8 GB into readable text for notes, captions, interviews, and content reuse. Results include language detection, ordered timestamps, source details, and optional translation into 133 languages. A completed transcript starts at $0.468.

Pricing

from $0.30 / transcript

Rating

4.4

(3)

Developer

TrueFetch

TrueFetch

Maintained by Community

Actor stats

12

Bookmarked

302

Total users

37

Monthly active users

4 days ago

Last modified

Share

Affiliate disclosure: Apify links on this page may include referral parameters. If you sign up through one of these links, TrueFetch may earn a commission from Apify at no extra cost to you. Pricing, features, and Actor access are unaffected.

Video To Text converts a public video URL or uploaded media file into a detected-language transcript, timestamped segments, source metadata, and an optional translated transcript for content and data workflows.

  • One run processes one URL or one uploaded media file; an uploaded file takes priority when both are supplied.
  • The 22-field Dataset keeps source context, full transcript text, ordered timestamped segments, and optional translation in one record.
  • Translation offers 133 target-language choices and is billed only when a complete translation is produced.
  • The public Apify Store showed a 4.4/5 rating from 3 ratings, 292 total users, and 47 monthly active users when checked on July 21, 2026.

Run a one-result test · View API

A smallest useful FREE-tier test processes one short public video and bills one $0.52 transcript event, the 8 GB default-memory start charge of $0.008, and variable Actor usage. Translation adds $0.18 only when requested and completed.

What does Video To Text do?

Video To Text is a pre-recorded media transcription Actor. Give it a supported public video URL, an uploaded video or audio file, or a direct HTTPS media-file URL. It returns the detected language, full transcript text, and ordered segments whose start and end values use HH:MM:SS.mmm timestamps. URL jobs also include source details when the platform exposes them, such as title, creator, duration, thumbnail, publishing time, and engagement counts.

The Actor can optionally translate every transcript segment into one selected target language while preserving the original timestamps. The original transcript remains in transcript; the translated version appears separately in translation.

Video To Text is not a live captioning service, speaker-diarization tool, word-level alignment service, subtitle-file downloader, or video downloader. It generates transcript data from audible speech. If you need existing subtitle files rather than speech recognition, use Video Subtitles Downloader.

How do I run Video To Text?

  1. Open Video To Text on Apify.
  2. Paste one public video URL in Video URL, or upload media through Video File. If both are set, the uploaded media is processed.
  3. Optionally choose one value under Translate. Leave it empty when you only need the source-language transcript.
  4. Click Start and wait for the run to finish.
  5. Open the default Dataset to inspect or export the single transcript record.

Use a short, speech-heavy video for the first run so you can check language detection and segment timing before processing longer material.

{
"video_url": "https://www.youtube.com/watch?v=uZ_BMwB647A",
"translate": "spanish"
}

The Actor handles one media item per run. It does not treat a playlist URL as a request for multiple results.

What data does Video To Text return?

Every successful run writes one record to the default Dataset. The 22 public fields are grouped below; source-dependent fields can be empty when a platform or uploaded file does not provide them.

GroupDataset fieldsMeaning
Processingprocessor, processed_atActor URL and UTC processing timestamp
Source identityplatform, title, description, thumbnail, published_atPlatform and public media details
Creatorauthor, author_id, author_urlUploader or channel information
Mediaduration, audio_title, audio_artistDuration and audio attribution when available
Engagementview_count, like_count, shares_count, dislike_count, comment_countCounts exposed by the source
Classificationcategories, tagsSource-provided labels
Speechtranscript, translationOriginal timestamped transcript and optional translated transcript

This abbreviated item uses the same YouTube scenario as the input, HTTP, and MCP examples. Its field values are illustrative; source-dependent metadata remains empty when the platform does not expose it.

{
"processor": "https://apify.com/truefetch/video-to-text",
"processed_at": "2026-07-21T14:17:01+00:00",
"platform": "Youtube",
"title": "Example public video",
"duration": 30,
"transcript": {
"language": "English",
"text": "This is an illustrative transcript segment.",
"segments": [
{
"start": "00:00:01.000",
"end": "00:00:04.000",
"text": "This is an illustrative transcript segment."
}
]
},
"translation": {
"language": "Spanish",
"text": "Este es un segmento de transcripción ilustrativo.",
"segments": [
{
"start": "00:00:01.000",
"end": "00:00:04.000",
"text": "Este es un segmento de transcripción ilustrativo."
}
]
}
}

What inputs can I configure?

InputTypeRequiredBehavior
video_urlstringConditionalPublic video URL. Required when video_file is empty.
video_filestringConditionalFile-upload value or direct HTTP/HTTPS media URL. Required when video_url is empty and preferred when both are present.
translatestring enumNoOne of 133 target-language values. Empty means no translation.

Neither media field is individually marked required because the Actor accepts either route, but at least one must contain a value. The file route accepts up to 8 GB. The media must contain an audio track with detectable speech. The translation selector uses human-readable lowercase values such as spanish, french, japanese, chinese (simplified), and chinese (traditional).

What platforms and markets does Video To Text cover?

The URL route is designed for public media across 1,000+ supported sites, including common video and social platforms such as YouTube, TikTok, Instagram, Facebook, X, Bilibili, Dailymotion, Twitch, and Vimeo. Actual availability depends on the individual source URL, region, access controls, and current platform behavior.

Video To Text does not accept account credentials or cookies through its public input. Private, age-restricted, subscriber-only, deleted, geo-blocked, or otherwise inaccessible media may fail. Direct file uploads provide a platform-independent route when you already hold an accessible media file and have the right to process it.

Why use Video To Text?

Verified capabilityPractical benefit
URL and file inputs in one ActorUse the same Dataset contract for hosted media and platform URLs.
Full text plus timestamped segmentsIndex the whole transcript while keeping time ranges for review and navigation.
Source metadata beside the transcriptRetain title, creator, duration, and engagement context when the source provides it.
Optional segment-preserving translationBuild multilingual review or repurposing flows without replacing the original transcript.
One normalized Dataset recordSend a predictable object to downstream APIs, datasets, or AI workflows.

The main trade-off is that speech recognition and translation are generated outputs. Names, specialist terminology, heavy accents, music, overlapping speakers, or poor audio can produce errors. Review transcript text before using it for publication, legal decisions, accessibility compliance, or other high-stakes purposes.

Who is Video To Text for?

Video To Text suits teams that need searchable, timestamped speech data from one recording at a time.

Choose this Actor when a normalized JSON transcript is more useful than a downloadable subtitle file. Do not choose it when you need live streaming captions, verified human transcription, speaker labels, word-level timestamps, bulk playlist processing in one run, or a downloadable source video.

How can I use Video To Text through the API or MCP?

The public Actor identifier is truefetch/video-to-text. The official API page provides generated examples for additional clients. The current synchronous endpoint can return Dataset items directly, although Apify documents that very long synchronous calls can time out at the HTTP layer; use the asynchronous run endpoint for long recordings.

curl -L "https://api.apify.com/v2/actors/truefetch~video-to-text/run-sync-get-dataset-items" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://www.youtube.com/watch?v=uZ_BMwB647A",
"translate": "spanish"
}'

For MCP clients, use Apify's hosted server and restrict tools to this Actor:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=truefetch/video-to-text",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}

After connecting, ask the client to call truefetch/video-to-text with {"video_url":"https://www.youtube.com/watch?v=uZ_BMwB647A","translate":"spanish"}. See the official Apify MCP server guide and Video To Text API page.

How much does Video To Text cost?

Video To Text uses pay-per-event pricing. Prices can change, so confirm the current values on the live pricing page before a large run.

Billed eventFREEBRONZESILVERGOLDPLATINUMDIAMONDBilling unit
Actor start$0.001$0.001$0.001$0.001$0.001$0.001One event per allocated GB, minimum one
Actor usage$0.00001$0.00001$0.00001$0.00001$0.00001$0.00001Runtime, proxy, and storage usage unit
Transcript$0.52000$0.50267$0.48533$0.46800$0.46800$0.46800One successful timestamped transcript
Translation$0.18000$0.17400$0.16800$0.16200$0.16200$0.16200One complete translated transcript when requested

Smallest FREE-tier example: the default 8 GB allocation creates eight start events, so $0.001 × 8 + $0.52000 = $0.528, plus variable Actor usage. Requesting and completing Spanish translation makes the fixed-event subtotal $0.708, plus usage. Set maxTotalChargeUsd through Apify run options when you need a hard cost ceiling.

How does Video To Text compare with alternatives?

OptionBest fitTrade-off
Video To TextOne URL or uploaded file, normalized metadata, timestamps, and optional translationGenerated text requires review; one media item per run
Existing-subtitle downloaderRecovering publisher-provided caption filesCannot create speech text when captions do not exist
File-only speech-to-text APITeams that already manage media upload and a separate data pipelinePlatform URL retrieval and source metadata need separate steps
Manual transcriptionSensitive material requiring a trained human reviewerMore time and coordination, especially for timestamped output

Choose Video Subtitles Downloader for existing captions or Best Video Downloader for media files.

What are the limits and troubleshooting steps?

Symptom or limitWhat it meansNext step
The URL cannot be inspected or downloadedThe link is invalid, private, restricted, unavailable, or temporarily changed by the sourceRetry the canonical public video URL and confirm it opens without an account
The file is rejectedIt exceeds 8 GB, is not reachable over HTTP/HTTPS, or is not valid mediaUse a smaller accessible file and verify the URL returns the media itself
No audio or speech is foundThe media lacks an audio track or contains no detectable spoken contentTest a short section with clear speech
Metadata is emptyUploaded files and some sources do not expose creator or engagement detailsTreat nullable source fields as optional and use transcript fields as the core result
Translation is absentAt least one segment could not be translated completelyKeep the original transcript, retry later, or choose another supported target; incomplete translation is not billed
A long synchronous API request returns HTTP 408The HTTP connection reached the documented synchronous limit while the run may continueStart the Actor asynchronously, then poll the run and read its Dataset

For support, provide the smallest public URL, run ID, expected result, and observed error. Never share tokens or confidential media.

Frequently asked questions

Does Video To Text support uploaded audio as well as video?

Yes. The file input accepts valid video or audio media up to 8 GB. The file must contain an audio track that can be inspected and transcribed.

What happens if I provide both video_url and video_file?

The uploaded-file value takes priority. The URL is ignored for that run.

Are platform subtitles required?

No. Video To Text generates text from audible speech. It does not return existing subtitle files.

Will every Dataset field contain a value?

No. Transcript data is the core output. Source metadata such as engagement counts, tags, audio attribution, or creator identifiers can remain empty when unavailable.

Is translation charged when only part of it succeeds?

No. Translation is added and charged only when every transcript segment produces a translated value. The source transcript remains available if translation does not complete.

Can one run process a playlist or many files?

No. One run processes one selected media input and returns one Dataset record.

Does the Actor provide speaker names or word-level timestamps?

No. It returns segment-level start and end times without speaker diarization.

Can I schedule repeated transcription jobs?

Yes. Apify schedules can start the Actor with a saved input. Ensure each scheduled URL remains public and monitor cost and failures like any automated workflow.

  • Video Subtitles Downloader retrieves caption files that already exist, which is preferable when you need the publisher's subtitles instead of generated speech text.
  • Best Video Downloader returns media files for archival or downstream processing when the transcript is not the primary deliverable.
  • Instagram Video Transcript narrows the same transcript workflow to Instagram video URLs when platform-specific input guidance is more useful than universal coverage.

Support and last updated

Facts, links, public Store proof, schema, and pricing were last verified on July 21, 2026. Store metrics and source-platform availability are volatile and may change after that date.

Run a one-result test · View API