# Video To Text (`truefetch/video-to-text`) Actor

Transcribe videos from 1,000+ platforms to text — auto language detection, timestamps, subtitle file download, and translation to 100+ languages. No file uploads. $0.30 per video.

- **URL**: https://apify.com/truefetch/video-to-text.md
- **Developed by:** [TrueFetch](https://apify.com/truefetch) (community)
- **Categories:** Videos, Social media, News
- **Stats:** 169 total users, 9 monthly users, 100.0% runs succeeded, 9 bookmarks
- **User rating**: 1.93 out of 5 stars

## Pricing

from $0.30 / transcript

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

> **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](https://img.shields.io/badge/Video%20To%20Text-7B2FBE?style=for-the-badge)](https://apify.com/TrueFetch/video-to-text?fpr=aiagentapi)
[![Video Transcription](https://img.shields.io/badge/Video%20Transcription-1F8A70?style=for-the-badge)](https://apify.com/TrueFetch/video-to-text?fpr=aiagentapi)
[![$0.30 per Transcript](https://img.shields.io/badge/$0.30%20per%20Transcript-2E8B57?style=for-the-badge)](https://apify.com/TrueFetch/video-to-text?fpr=aiagentapi)
[![Transcript, Timestamps & Translation](https://img.shields.io/badge/Transcript%20%7C%20Timestamps%20%7C%20Translation-555555?style=for-the-badge)](https://apify.com/TrueFetch/video-to-text?fpr=aiagentapi)
[![Telegram Support](https://img.shields.io/badge/Telegram-Support-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/AiAgentApi)
[![Telegram Group](https://img.shields.io/badge/Telegram-Group-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/Apify_Actor)

## Video To Text — Video Transcription: Transcript, Timestamps & Translation

**Provide a video URL or uploaded file and transcribe it using AI speech recognition — with full transcript, timecoded segments, and optional translation into any language — in clean structured JSON.**

> **TL;DR (40-word answer):** Video To Text is a no-login Apify Actor that transcribes videos using AI speech recognition at **$0.30 per transcript** (+$0.10 for translation), returning full transcript text, timecoded segments, and optional translated text for any video URL or file. Last verified 2026-05-02.

> **What it is NOT:** Video To Text is _not_ a subtitle extractor (use Video Subtitles Downloader for existing SRT files), _not_ a video downloader (use Best Video Downloader for that), and _not_ a live transcription service — it transcribes pre-recorded video audio using Whisper AI.

> **Video To Text is an Apify Actor that uses AI speech recognition (Whisper) to transcribe video URLs and files into full text with timecoded segments, plus optional language translation.** Maintained by TrueFetch on the Apify Store.

---

### 🏷️ Why choose Video To Text

**Video To Text is best for** content creators, researchers, journalists, and AI agents who need AI-generated transcripts from video content without deploying a Whisper server.

- **🎙️ AI speech recognition** — uses Whisper for high-accuracy transcription across languages, regardless of whether the video has existing subtitles.
- **🕐 Timecoded segments** — output includes both full transcript text and segment-level timestamps (`start`, `end`, `text`).
- **🌐 Optional translation** — translate the transcript into any supported language at **$0.10 additional** per video.
- **⚡ Compute-based pricing** — **$0.30 per transcript** (+ $0.10/translation + small actor runtime charge). Free Apify plan includes $5/month credits ≈ 16 free transcriptions.

---

### 🚀 Quick Start — run in 3 steps

#### Run in Apify Console

1. **Open the Actor** — go to [Video To Text on Apify](https://apify.com/TrueFetch/video-to-text?fpr=aiagentapi) and click **Try for free**.
2. **Configure inputs** — paste a video URL (or provide a `video_file` URL), and optionally set a `translate` target language.
3. **Click Start** — the Actor returns structured transcript data with timecoded segments in the dataset.

#### Run via Apify API

```bash
curl -X POST "https://api.apify.com/v2/acts/TrueFetch~video-to-text/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "translate": "spanish"
  }'
````

#### Run via MCP (for AI agents)

Video To Text is callable from Claude, ChatGPT, Cursor, and any MCP-compatible client through the [Apify MCP Server](https://docs.apify.com/platform/integrations/mcp?fpr=aiagentapi). Reference the Actor as `TrueFetch/video-to-text` and pass the same JSON input as above.

***

### ⚙️ Input parameters

| Parameter    | Type   |   Required   | Default | Description                                                                                                              | Example                         |
| ------------ | ------ | :----------: | ------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------- |
| `video_url`  | string | ✅ (or file) | —       | URL of the video to transcribe (YouTube, Vimeo, and other yt-dlp-supported platforms).                                   | `https://youtu.be/dQw4w9WgXcQ`  |
| `video_file` | string | ✅ (or url)  | —       | Direct URL or local path to a video/audio file to transcribe.                                                            | `https://example.com/video.mp4` |
| `translate`  | string |      ❌      | —       | Target language for translation (e.g. `"spanish"`, `"french"`, `"chinese_simplified"`). Leave empty to skip translation. | `spanish`                       |

> At least one of `video_url` or `video_file` is required.

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

***

### 📦 Output dataset

Each run writes one record per video to the **default Apify dataset**, exportable as JSON, JSONL, CSV, Excel, XML, RSS, or via the dataset API. The output contains the original-language transcription and (if requested) the translated transcription.

| Field                    | Type   | Always present? | Description                                                                             | Example                                       |
| ------------------------ | ------ | :-------------: | --------------------------------------------------------------------------------------- | --------------------------------------------- |
| `processor`              | string |       ✅        | Apify Actor URL that produced this record.                                              | `https://apify.com/TrueFetch/video-to-text`   |
| `processed_at`           | string |       ✅        | ISO 8601 UTC timestamp.                                                                 | `2026-04-24T09:30:00+00:00`                   |
| `platform`               | string |    optional     | Source platform.                                                                        | `Youtube`                                     |
| `title`                  | string |    optional     | Video title.                                                                            | `Rick Astley - Never Gonna Give You Up`       |
| `author`                 | string |    optional     | Video uploader.                                                                         | `Rick Astley`                                 |
| `thumbnail`              | string |    optional     | Video thumbnail URL.                                                                    | `https://...`                                 |
| `transcription`          | object |    optional     | Original-language transcription: `language`, `text`, `segments[]`.                      | `{"language": "English", "text": "...", ...}` |
| `transcription.text`     | string |    optional     | Full transcript text.                                                                   | `"Never gonna give you up..."`                |
| `transcription.segments` | array  |    optional     | Timecoded segments: `[{"start": "00:00:01.000", "end": "00:00:03.000", "text": "..."}]` | `[...]`                                       |
| `translation`            | object |    optional     | Translated transcription (if `translate` was provided): same structure.                 | `{"language": "Spanish", "text": "...", ...}` |

#### Sample output

```json
{
  "processor": "https://apify.com/TrueFetch/video-to-text",
  "processed_at": "2026-04-24T09:30:00+00:00",
  "title": "Rick Astley - Never Gonna Give You Up",
  "transcription": {
    "language": "English",
    "text": "Never gonna give you up, never gonna let you down...",
    "segments": [
      { "start": "00:00:01.000", "end": "00:00:03.000", "text": "Never gonna give you up" }
    ]
  },
  "translation": {
    "language": "Spanish",
    "text": "Nunca voy a abandonarte...",
    "segments": [...]
  }
}
```

***

### 💡 Use cases

#### For content creators repurposing video into written content

- **Problem:** a podcaster wants to turn a YouTube video into a blog post with a full transcript.
- **How Video To Text solves it:** run with `video_url` and get `transcription.text` for immediate use.
- **Outcome:** full transcript at **$0.30 per video**.

#### For multilingual content teams

- **Problem:** a marketing team needs an English podcast transcribed and translated into Spanish and French.
- **How Video To Text solves it:** run twice — once with `translate: "spanish"` and once with `translate: "french"`.
- **Outcome:** two translated transcripts at **$0.40 each** ($0.30 transcript + $0.10 translation).

#### For AI agents answering questions about video content

- **Problem:** an LLM agent needs the spoken content of a video to answer a user's question.
- **How Video To Text solves it:** call the Actor over the [Apify MCP Server](https://docs.apify.com/platform/integrations/mcp?fpr=aiagentapi) with the video URL.
- **Outcome:** full spoken transcript grounded in AI assistants.

***

### 💰 Pricing, limits, and performance

| Fact                        | Value                                                                   |
| --------------------------- | ----------------------------------------------------------------------- |
| Pricing model               | Compute-based                                                           |
| Per-transcript price        | **$0.30** + small actor runtime charge                                  |
| Per-translation price       | **$0.10** additional (optional)                                         |
| Free-tier monthly allowance | $5 Apify credits ≈ **~16 free video transcriptions / month**            |
| Login / cookies required    | **No** — works without a platform account                               |
| Supported platforms         | YouTube, Vimeo, and 1000+ yt-dlp-supported sites; also direct file URLs |
| Export formats              | JSON, JSONL, CSV, Excel, XML, RSS, dataset API                          |

***

### ⚖️ Compared with alternatives

| Capability                                           | **Video To Text** | Manual transcription |    OpenAI Whisper API    |
| ---------------------------------------------------- | :---------------: | :------------------: | :----------------------: |
| AI speech-to-text (works even without existing subs) |        ✅         |          ❌          |            ✅            |
| Timecoded segments                                   |        ✅         |        manual        |            ✅            |
| Built-in translation                                 |        ✅         |          ❌          |    ❌ (separate step)    |
| No API key / infra setup required                    |        ✅         |         N/A          | ❌ (requires OpenAI key) |
| Setup time to first result                           |  **< 2 minutes**  |        hours         |    requires dev setup    |

**Verdict.** Video To Text is ideal for content teams and AI agents who need AI-powered video transcription and translation without setting up Whisper or managing API keys.

***

### ⚠️ Common mistakes to avoid

1. **Not providing `video_url` or `video_file`.** At least one is required.
2. **Invalid `translate` language.** Use supported language names — e.g. `"spanish"`, `"french"`, `"chinese_simplified"`.
3. **Expecting subtitle extraction.** This Actor uses AI speech recognition — for extracting existing SRT subtitles, use Video Subtitles Downloader.
4. **Long videos = longer runtime.** Transcription time scales with video length; budget accordingly.

***

### 🛠️ Troubleshooting

| Problem                                      | Likely cause                         | Fix                                                                              |
| -------------------------------------------- | ------------------------------------ | -------------------------------------------------------------------------------- |
| `Provide either 'video_url' or 'video_file'` | Neither input was provided.          | Add `"video_url": "https://..."` or `"video_file": "https://..."` to your input. |
| `'translate' must be one of: [...]`          | Unsupported translation language.    | Use a language name from the supported list (e.g. `"spanish"`, `"french"`).      |
| Empty transcription                          | Video has no audio or is very short. | Verify the video has audible speech. Short clips may return empty transcription. |
| Slow run                                     | Long video or heavy audio.           | Transcription time scales with video length — longer videos take more time.      |

***

### ❓ FAQ

#### What data does Video To Text return?

Full transcript text, timecoded segments (start, end, text), detected language, and video metadata (title, author, thumbnail) — plus a translated version if `translate` was provided.

#### How much does Video To Text cost?

**$0.30 per transcript** + small actor runtime charge. Translation adds **$0.10 per video**. The Apify Free plan includes $5/month credits ≈ ~16 free transcriptions.

#### Does Video To Text work without existing subtitles?

Yes — it uses Whisper AI speech recognition to transcribe the spoken audio, even if no subtitles exist on the platform.

#### Does Video To Text require a login?

No — the Actor works with publicly accessible videos on supported platforms without requiring any account or login.

***

### 🔌 Integrations

Video To Text plugs straight into the Apify ecosystem:

- **Schedules** — run on a schedule to auto-transcribe new video uploads ([docs](https://docs.apify.com/platform/schedules?fpr=aiagentapi)).
- **Webhooks** — POST transcript results to your pipeline on `ACTOR.RUN.SUCCEEDED` ([docs](https://docs.apify.com/platform/integrations/webhooks?fpr=aiagentapi)).
- **Apify API** — `run-sync-get-dataset-items` for blocking calls, `runs` for async ([docs](https://docs.apify.com/api/v2?fpr=aiagentapi)).
- **MCP Server** — call the Actor from Claude, ChatGPT, or Cursor agents ([docs](https://docs.apify.com/platform/integrations/mcp?fpr=aiagentapi)).
- **No-code** — Make, Zapier, n8n, Pipedream, Google Sheets, Airtable.

***

### 🧱 Sister Actors from TrueFetch

#### Jobs

- [Best Job Search](https://apify.com/TrueFetch/best-job-search?fpr=aiagentapi)
- [Glassdoor Job Search](https://apify.com/TrueFetch/glassdoor-job-search?fpr=aiagentapi)
- [Glints Company Finder](https://apify.com/TrueFetch/glints-company-finder?fpr=aiagentapi)
- [Glints Job Finder](https://apify.com/TrueFetch/glints-job-finder?fpr=aiagentapi)
- [Indeed Job Search](https://apify.com/TrueFetch/indeed-job-search?fpr=aiagentapi)
- [JobStreet Company Finder](https://apify.com/TrueFetch/jobstreet-company-finder?fpr=aiagentapi)
- [JobStreet Job Finder](https://apify.com/TrueFetch/jobstreet-job-finder?fpr=aiagentapi)
- [LinkedIn Job Search](https://apify.com/TrueFetch/linkedin-job-search?fpr=aiagentapi)
- [StepStone Company Finder](https://apify.com/TrueFetch/stepstone-company-finder?fpr=aiagentapi)
- [StepStone Job Finder](https://apify.com/TrueFetch/stepstone-job-finder?fpr=aiagentapi)

#### Shopping & Deals

- [Amazon Deals Scraper](https://apify.com/TrueFetch/amazon-deals-scraper?fpr=aiagentapi)
- [Amazon Store Finder](https://apify.com/TrueFetch/amazon-store-finder?fpr=aiagentapi)
- [Argos Deals Scraper](https://apify.com/TrueFetch/argos-deals-scraper?fpr=aiagentapi)
- [ASOS Fashion Scraper](https://apify.com/TrueFetch/asos-fashion-scraper?fpr=aiagentapi)
- [eBay Deals Scraper](https://apify.com/TrueFetch/ebay-deals-scraper?fpr=aiagentapi)
- [eBay Seller Finder](https://apify.com/TrueFetch/ebay-seller-finder?fpr=aiagentapi)
- [Flipkart Deals Scraper](https://apify.com/TrueFetch/flipkart-deals-scraper?fpr=aiagentapi)
- [John Lewis Deals Scraper](https://apify.com/TrueFetch/john-lewis-deals-scraper?fpr=aiagentapi)
- [Lidl Deals Scraper](https://apify.com/TrueFetch/lidl-deals-scraper?fpr=aiagentapi)
- [Magalu Deals Scraper](https://apify.com/TrueFetch/magalu-deals-scraper?fpr=aiagentapi)
- [MediaMarkt Deals Scraper](https://apify.com/TrueFetch/mediamarkt-deals-scraper?fpr=aiagentapi)
- [Mercado Livre Deals Scraper](https://apify.com/TrueFetch/mercado-livre-deals-scraper?fpr=aiagentapi)
- [Nykaa Beauty Scraper](https://apify.com/TrueFetch/nykaa-beauty-scraper?fpr=aiagentapi)
- [OTTO Deals Scraper](https://apify.com/TrueFetch/otto-deals-scraper?fpr=aiagentapi)
- [Target Deals Scraper](https://apify.com/TrueFetch/target-deals-scraper?fpr=aiagentapi)
- [TradeIndia Product Finder](https://apify.com/TrueFetch/tradeindia-product-finder?fpr=aiagentapi)
- [TradeIndia Supplier Finder](https://apify.com/TrueFetch/tradeindia-supplier-finder?fpr=aiagentapi)
- [Walmart Deals Scraper](https://apify.com/TrueFetch/walmart-deals-scraper?fpr=aiagentapi)

#### Vehicles

- [AutoTrader Car Finder](https://apify.com/TrueFetch/autotrader-car-finder?fpr=aiagentapi)
- [AutoTrader Dealer Finder](https://apify.com/TrueFetch/autotrader-dealer-finder?fpr=aiagentapi)
- [Cars.com Car Finder](https://apify.com/TrueFetch/carscom-car-finder?fpr=aiagentapi)
- [Cars.com Dealer Finder](https://apify.com/TrueFetch/carscom-dealer-finder?fpr=aiagentapi)
- [Webmotors Car Finder](https://apify.com/TrueFetch/webmotors-car-finder?fpr=aiagentapi)

#### Real Estate

- [MagicBricks Builder Finder](https://apify.com/TrueFetch/magicbricks-builder-finder?fpr=aiagentapi)
- [MagicBricks Home Finder](https://apify.com/TrueFetch/magicbricks-home-finder?fpr=aiagentapi)
- [US Real Estate](https://apify.com/TrueFetch/us-real-estate?fpr=aiagentapi)
- [Zillow Real Estate](https://apify.com/TrueFetch/zillow-real-estate?fpr=aiagentapi)

#### Local Business & Food

- [BBB Business Finder](https://apify.com/TrueFetch/bbb-business-finder?fpr=aiagentapi)
- [BBB Review Checker](https://apify.com/TrueFetch/bbb-review-checker?fpr=aiagentapi)
- [Google Business Profile](https://apify.com/TrueFetch/google-business-profile?fpr=aiagentapi)
- [Reclame Aqui Company Finder](https://apify.com/TrueFetch/reclame-aqui-company-finder?fpr=aiagentapi)
- [Zomato Menu Checker](https://apify.com/TrueFetch/zomato-menu-checker?fpr=aiagentapi)
- [Zomato Restaurant Finder](https://apify.com/TrueFetch/zomato-restaurant-finder?fpr=aiagentapi)

#### Classifieds

- [Kleinanzeigen Listing Finder](https://apify.com/TrueFetch/kleinanzeigen-listing-finder?fpr=aiagentapi)
- [Kleinanzeigen Seller Finder](https://apify.com/TrueFetch/kleinanzeigen-seller-finder?fpr=aiagentapi)
- [OLX Listing Finder](https://apify.com/TrueFetch/olx-listing-finder?fpr=aiagentapi)
- [OLX Seller Finder](https://apify.com/TrueFetch/olx-seller-finder?fpr=aiagentapi)

#### Social Media

- [Find Any Company On LinkedIn](https://apify.com/TrueFetch/find-any-company-on-linkedin?fpr=aiagentapi)
- [Find Anyone On LinkedIn](https://apify.com/TrueFetch/find-anyone-on-linkedin?fpr=aiagentapi)
- [Instagram Explore](https://apify.com/TrueFetch/instagram-explore?fpr=aiagentapi)
- [Instagram Post](https://apify.com/TrueFetch/instagram-post?fpr=aiagentapi)
- [Instagram Profile](https://apify.com/TrueFetch/instagram-profile?fpr=aiagentapi)
- [Reddit Community Post](https://apify.com/TrueFetch/reddit-community-post?fpr=aiagentapi)
- [Reddit Community Profile](https://apify.com/TrueFetch/reddit-community-profile?fpr=aiagentapi)
- [Reddit Community User](https://apify.com/TrueFetch/reddit-community-user?fpr=aiagentapi)
- [Reddit Post Search](https://apify.com/TrueFetch/reddit-post-search?fpr=aiagentapi)
- [Reddit User Profile](https://apify.com/TrueFetch/reddit-user-profile?fpr=aiagentapi)
- [Social Media Marketing](https://apify.com/TrueFetch/social-media-marketing?fpr=aiagentapi)
- [Telegram Channel Message](https://apify.com/TrueFetch/telegram-channel-message?fpr=aiagentapi)
- [Telegram Group Member](https://apify.com/TrueFetch/telegram-group-member?fpr=aiagentapi)
- [Telegram Profile](https://apify.com/TrueFetch/telegram-profile?fpr=aiagentapi)
- [X Community Profile](https://apify.com/TrueFetch/x-community-profile?fpr=aiagentapi)
- [X User Profile](https://apify.com/TrueFetch/x-user-profile?fpr=aiagentapi)

#### Videos & Text

- [Best Video Downloader](https://apify.com/TrueFetch/best-video-downloader?fpr=aiagentapi)
- [Instagram To Text](https://apify.com/TrueFetch/instagram-to-text?fpr=aiagentapi)
- [TikTok Live Recorder](https://apify.com/TrueFetch/tiktok-live-recorder?fpr=aiagentapi)
- [TikTok Video Downloader](https://apify.com/TrueFetch/tiktok-video-downloader?fpr=aiagentapi)
- [TikTok Video Lookup](https://apify.com/TrueFetch/tiktok-video-lookup?fpr=aiagentapi)
- [Video Subtitles Downloader](https://apify.com/TrueFetch/video-subtitles-downloader?fpr=aiagentapi)
- [Video To Text](https://apify.com/TrueFetch/video-to-text?fpr=aiagentapi)
- [YouTube Niche Scraper](https://apify.com/TrueFetch/youtube-niche-scraper?fpr=aiagentapi)
- [YouTube Video Downloader](https://apify.com/TrueFetch/youtube-video-downloader?fpr=aiagentapi)

#### Content & Articles

- [Medium Article Finder](https://apify.com/TrueFetch/medium-article-finder?fpr=aiagentapi)
- [Medium Writer Finder](https://apify.com/TrueFetch/medium-writer-finder?fpr=aiagentapi)

***

### 📞 Support, changelog, last updated

#### Support

- 💬 **Telegram Group:** [t.me/Apify\_Actor](https://t.me/Apify_Actor)
- 📧 **Direct support:** [t.me/AiAgentApi](https://t.me/AiAgentApi)
- 📖 **Actor page & docs:** [apify.com/TrueFetch/video-to-text](https://apify.com/TrueFetch/video-to-text?fpr=aiagentapi)

Maintained by **TrueFetch** on the [Apify Store](https://apify.com/TrueFetch?fpr=aiagentapi).

> **Cost of doing nothing:** manually transcribing video requires hours of listening and typing, or expensive transcription services. Video To Text delivers AI-powered transcripts with timestamps at $0.30/video via API. → [Try it free with $5 of Apify credits](https://apify.com/TrueFetch/video-to-text?fpr=aiagentapi).

#### Changelog

- **2026-05-02** — README rewritten for SEO + GEO; documented all inputs, output structure, pricing, troubleshooting, and FAQ.
- **2026-03** — Added optional translation feature.
- **2026-02** — Initial release: Whisper-based video transcription Actor.

***

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "SoftwareApplication",
      "@id": "https://apify.com/TrueFetch/video-to-text#software",
      "name": "Video To Text",
      "description": "Apify Actor that transcribes video URLs and files using Whisper AI at $0.30 per transcript, returning full text, timecoded segments, and optional translation.",
      "applicationCategory": "MultimediaApplication",
      "operatingSystem": "Web, Cloud",
      "url": "https://apify.com/TrueFetch/video-to-text",
      "offers": {
        "@type": "Offer",
        "price": "0.30",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock"
      },
      "author": { "@id": "https://apify.com/TrueFetch#author-TrueFetch" },
      "publisher": { "@id": "https://apify.com/TrueFetch#publisher" }
    },
    {
      "@type": "Organization",
      "@id": "https://apify.com/TrueFetch#publisher",
      "name": "TrueFetch",
      "url": "https://apify.com/TrueFetch",
      "sameAs": ["https://t.me/Apify_Actor", "https://t.me/AiAgentApi"]
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "What data does Video To Text return?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Full transcript text, timecoded segments (start, end, text), detected language, and video metadata — plus a translated version if translate was provided."
          }
        },
        {
          "@type": "Question",
          "name": "How much does Video To Text cost?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "$0.30 per transcript plus a small actor runtime charge. Translation adds $0.10 per video. The Apify Free plan includes $5/month credits — enough for ~16 free transcriptions."
          }
        },
        {
          "@type": "Question",
          "name": "Does Video To Text work without existing subtitles?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes — it uses Whisper AI speech recognition to transcribe the spoken audio, even if no subtitles exist on the platform."
          }
        }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Apify",
          "item": "https://apify.com"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Videos & Text",
          "item": "https://apify.com/store?category=VIDEO"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Video To Text",
          "item": "https://apify.com/TrueFetch/video-to-text"
        }
      ]
    }
  ]
}
```

***

**Last Updated:** May 2, 2026
**Schema version:** 1.1
**Maintained by:** [TrueFetch](https://apify.com/TrueFetch?fpr=aiagentapi) · 💬 [Telegram Group](https://t.me/Apify_Actor) · 📧 [Support](https://t.me/AiAgentApi)

# Actor input Schema

## `video_url` (type: `string`):

Paste a public video URL to download and transcribe. Leave empty when uploading your own video file

## `video_file` (type: `string`):

Upload your own video file or provide a direct file URL. If both Video File and Video URL are provided, this file is used

## `translate` (type: `string`):

Select a target language to translate the transcript

## Actor input object example

```json
{
  "video_url": "https://www.youtube.com/watch?v=uZ_BMwB647A",
  "video_file": "https://example.com/video.mp4"
}
```

# Actor output Schema

## `results` (type: `string`):

Browse transcripts with timestamped subtitles, translations, and video metadata.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "video_url": "https://www.youtube.com/watch?v=uZ_BMwB647A"
};

// Run the Actor and wait for it to finish
const run = await client.actor("truefetch/video-to-text").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "video_url": "https://www.youtube.com/watch?v=uZ_BMwB647A" }

# Run the Actor and wait for it to finish
run = client.actor("truefetch/video-to-text").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "video_url": "https://www.youtube.com/watch?v=uZ_BMwB647A"
}' |
apify call truefetch/video-to-text --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=truefetch/video-to-text",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Video To Text",
        "description": "Transcribe videos from 1,000+ platforms to text — auto language detection, timestamps, subtitle file download, and translation to 100+ languages. No file uploads. $0.30 per video.",
        "version": "1.0",
        "x-build-id": "GasZDdN8hqHFLHlql"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/truefetch~video-to-text/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-truefetch-video-to-text",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/truefetch~video-to-text/runs": {
            "post": {
                "operationId": "runs-sync-truefetch-video-to-text",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/truefetch~video-to-text/run-sync": {
            "post": {
                "operationId": "run-sync-truefetch-video-to-text",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "video_url": {
                        "title": "Video URL",
                        "type": "string",
                        "description": "Paste a public video URL to download and transcribe. Leave empty when uploading your own video file"
                    },
                    "video_file": {
                        "title": "Video File",
                        "type": "string",
                        "description": "Upload your own video file or provide a direct file URL. If both Video File and Video URL are provided, this file is used"
                    },
                    "translate": {
                        "title": "Translate",
                        "enum": [
                            "afrikaans",
                            "albanian",
                            "amharic",
                            "arabic",
                            "armenian",
                            "assamese",
                            "aymara",
                            "azerbaijani",
                            "bambara",
                            "basque",
                            "belarusian",
                            "bengali",
                            "bhojpuri",
                            "bosnian",
                            "bulgarian",
                            "catalan",
                            "cebuano",
                            "chichewa",
                            "chinese (simplified)",
                            "chinese (traditional)",
                            "corsican",
                            "croatian",
                            "czech",
                            "danish",
                            "dhivehi",
                            "dogri",
                            "dutch",
                            "english",
                            "esperanto",
                            "estonian",
                            "ewe",
                            "filipino",
                            "finnish",
                            "french",
                            "frisian",
                            "galician",
                            "georgian",
                            "german",
                            "greek",
                            "guarani",
                            "gujarati",
                            "haitian creole",
                            "hausa",
                            "hawaiian",
                            "hebrew",
                            "hindi",
                            "hmong",
                            "hungarian",
                            "icelandic",
                            "igbo",
                            "ilocano",
                            "indonesian",
                            "irish",
                            "italian",
                            "japanese",
                            "javanese",
                            "kannada",
                            "kazakh",
                            "khmer",
                            "kinyarwanda",
                            "konkani",
                            "korean",
                            "krio",
                            "kurdish (kurmanji)",
                            "kurdish (sorani)",
                            "kyrgyz",
                            "lao",
                            "latin",
                            "latvian",
                            "lingala",
                            "lithuanian",
                            "luganda",
                            "luxembourgish",
                            "macedonian",
                            "maithili",
                            "malagasy",
                            "malay",
                            "malayalam",
                            "maltese",
                            "maori",
                            "marathi",
                            "meiteilon (manipuri)",
                            "mizo",
                            "mongolian",
                            "myanmar",
                            "nepali",
                            "norwegian",
                            "odia (oriya)",
                            "oromo",
                            "pashto",
                            "persian",
                            "polish",
                            "portuguese",
                            "punjabi",
                            "quechua",
                            "romanian",
                            "russian",
                            "samoan",
                            "sanskrit",
                            "scots gaelic",
                            "sepedi",
                            "serbian",
                            "sesotho",
                            "shona",
                            "sindhi",
                            "sinhala",
                            "slovak",
                            "slovenian",
                            "somali",
                            "spanish",
                            "sundanese",
                            "swahili",
                            "swedish",
                            "tajik",
                            "tamil",
                            "tatar",
                            "telugu",
                            "thai",
                            "tigrinya",
                            "tsonga",
                            "turkish",
                            "turkmen",
                            "twi",
                            "ukrainian",
                            "urdu",
                            "uyghur",
                            "uzbek",
                            "vietnamese",
                            "welsh",
                            "xhosa",
                            "yiddish",
                            "yoruba",
                            "zulu"
                        ],
                        "type": "string",
                        "description": "Select a target language to translate the transcript"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
