Video Transcript avatar

Video Transcript

Pricing

from $0.39 / transcript

Go to Apify Store
Video Transcript

Video Transcript

Video Transcript is a universal video-to-text API for automation. Submit one supported public URL or an audio/video upload up to 8 GB; receive detected-language text, ordered timestamped segments, source metadata, and optional translation into 133 languages. Transcript pricing begins at $0.3483.

Pricing

from $0.39 / transcript

Rating

4.1

(7)

Developer

AgentX

AgentX

Maintained by Community

Actor stats

15

Bookmarked

793

Total users

74

Monthly active users

3 days ago

Last modified

Share

Video Transcript - Universal Video-to-Text API

Video Transcript converts one supported public video URL or one uploaded audio/video file into detected-language text, ordered timestamped segments, source metadata, and an optional translated transcript. It uses automatic speech recognition on the media's audio. It does not promise native captions, subtitles, word-level timing, speaker labels, summaries, or on-screen text recognition.

  • Choose one supported URL or one authorized upload per run; an upload takes priority when both fields are supplied.
  • URL inputs are validated by a real yt-dlp information request before the formal download begins.
  • Every successful result follows a 22-field Dataset contract with source and processing context.
  • Requested translation is either complete and segment-aligned or absent; partial translation is not published as success.

Run Video Transcript · Open the API page

Start with short, clear speech and inspect the first result. Source availability, download behavior, speech density, language, and audio quality all affect runtime and accuracy.


Why Choose This API

One contract for URLs and uploads

Use this Actor when the source platform varies or when the media is already in your possession. A run accepts a public video URL supported by the installed yt-dlp extractor set, or an uploaded/direct media file up to 8 GB. The file path is the universal Actor's distinguishing feature: single-platform Transcript Actors ignore uploads, while this Actor gives video_file priority over video_url.

The output combines media context and spoken content in one Dataset item:

CapabilityWhat is returned
Speech recognitionDetected language, combined transcript text, and ordered start / end / text segments
Source contextPlatform, title, description, author, publication time, thumbnail, categories, and tags when available
Engagement contextView, like, share, dislike, and comment counts when the source extractor exposes them
Uploaded media contextUpload identity, filename-derived title, probed duration, and the same transcript structure
Optional translationOne translated text and segment list preserving the source segment time ranges

URL support is intentionally described as dynamic rather than guaranteed. yt-dlp publishes a current extractor list, but its own documentation notes that listed sites can break and that the only reliable check is to try the actual URL. This Actor performs that check against the supplied URL instead of trusting its hostname alone.

The Actor processes one media item, not a playlist, profile, channel, search page, live recording, or URL collection. It does not return the downloaded media as a product, crawl an account, retrieve comments, use authenticated cookies, or bypass access controls. Missing source metadata stays null, zero, or empty according to the published schema.


Quick Start Guide

Run in Apify Console

  1. Open Video Transcript on Apify.
  2. Paste one supported public URL in Video URL, or select one authorized file in Video File.
  3. Leave Translate empty for source-language output, or select one target language.
  4. Click Start and open the default Dataset when the run succeeds.

URL example:

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

The schema pre-fills this URL as an editable example. Public media can later be removed, restricted, rate-limited, geo-blocked, or changed by its owner or platform. Replace an unavailable example with another authorized URL that exposes a downloadable audio stream.

For uploads, select a file in the Console or provide the direct HTTPS file URL produced by your storage workflow. The Actor accepts audio or video containers only when ffprobe finds an audio track and a positive duration. A page URL is not a direct file URL.

What success means

A valid run must obtain a local media file, confirm an audio stream and duration, detect speech, build non-empty transcript text, and publish one Dataset item. Loading a web page, resolving a title, or downloading a silent video is not transcript success. Translation is a separate optional stage after the source transcript succeeds.


Input Parameters

Public input contract

InputTypeRequiredBehavior
video_urlstringConditionalOne supported public video URL. Used only when video_file is empty.
video_filefile/stringConditionalOne uploaded audio/video file or direct HTTP(S) file URL, maximum 8 GB. Takes priority.
translatestringNoOne target from 133 selectable language names. Empty means no translation.

At least one media input is required. The input schema is closed, so unknown fields are rejected. URL runs do a silent information precheck using public proxies in batches of ten; the first successful proxy becomes the first formal-download attempt, followed by sequential fallback. The formal download selects an audio-first representation and disables playlist expansion.

Upload processing is deliberately different. It does not run platform extraction. The Actor downloads or opens the supplied file, enforces the 8 GB limit, then uses local ffprobe output as the authority for the audio stream and floating-point duration. If both media fields are populated, the upload is used and the URL is ignored.

No login, cookie, password, account token, DRM bypass, playlist, or private-platform session input is available. A URL that requires those capabilities is outside the public contract. A direct file URL may still require a temporary bearer token generated by Apify's own file-upload flow; users should not paste reusable credentials into public fields.


Output Data Schema

One 22-field Dataset item

The default Dataset stores one record after successful transcription:

GroupFieldsNotes
Processingprocessor, processed_atActor URL and UTC processing time
Identityplatform, title, description, thumbnail, published_atExtractor or upload identity and available media metadata
Authorauthor, author_id, author_urlNullable uploader or channel context
Mediaduration, audio_title, audio_artistSource metadata; upload duration is locally probed
Engagementview_count, like_count, shares_count, dislike_count, comment_countNullable source-supplied counts
Labelscategories, tagsEmpty arrays when unavailable
Speechtranscript, translationRequired source transcript and optional complete translation

transcript contains language, text, and segments. Each segment contains a formatted start, formatted end, and text. Time strings use HH:MM:SS.mmm. The translation object uses the same structure when complete and otherwise remains empty under the Dataset contract.

Illustrative output shape:

{
"processor": "https://apify.com/agentx/video-transcript?fpr=aiagentapi",
"processed_at": "2026-07-21T17:00:00+00:00",
"platform": "Youtube",
"title": "Example video",
"description": null,
"author": "Example channel",
"author_id": "Example channel",
"author_url": "https://www.youtube.com/@example",
"duration": 42,
"audio_title": null,
"audio_artist": null,
"view_count": null,
"like_count": null,
"shares_count": null,
"dislike_count": null,
"comment_count": null,
"categories": [],
"tags": [],
"published_at": null,
"thumbnail": null,
"transcript": {
"language": "english",
"text": "Example spoken text.",
"segments": [
{"start": "00:00:00.000", "end": "00:00:02.400", "text": "Example spoken text."}
]
},
"translation": null
}

Example values are not live guarantees. Platform extractors expose different fields, counts change, and uploaded files contain little source metadata. The Actor does not add native caption provenance, word count, confidence scores, word timestamps, speaker identities, summaries, OCR text, chapters, sentiment, or the media file to the Dataset.


Integration Examples

Apify API and SDK

Use asynchronous runs for long media so an HTTP client does not need to hold one request open. Start the Actor, wait for the run to finish, then read its default Dataset. Apify documents that a Dataset is append-only and each stored object becomes one row.

Python example:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("agentx/video-transcript").call(
run_input={"video_url": "https://www.youtube.com/watch?v=4rzeW4dbvlQ"}
)
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
print(items[0]["transcript"]["text"])

The API uses the same three input fields as the Console. Store the run ID, source URL or internal media reference, and processed_at when provenance matters. Do not place Apify tokens in request bodies, logs, README examples, or support messages.

MCP configuration

An MCP client can expose the Actor as a tool through Apify's MCP endpoint. Client formats vary, so confirm the current Apify MCP documentation.

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

Pricing & Cost Calculator

The Actor uses pay-per-event pricing. Repository metadata is authoritative for the build being audited; a public Store display can lag a deployment.

Apify plan tierTranscript eventTranslation event
Free$0.38700$0.15000
Bronze$0.37410$0.14500
Silver$0.36120$0.14000
Gold, Platinum, Diamond$0.34830$0.13500

Actor start is $0.001 per allocated GB, with a minimum of one event. The fixed 8192 MB configuration therefore produces eight start events, or $0.008. Runtime usage is $0.00001 per configured usage unit and grows with the work performed.

A successful Free-tier transcript without translation starts at $0.387 + $0.008 = $0.395, plus usage events. Adding a complete Free-tier translation gives a fixed subtotal of $0.545, plus usage. Failed validation, download, media preparation, or ASR can still consume start and usage events before failure.

Media duration is not the only runtime variable. Speech density, network retries, platform delivery, language, translation length, and long-media chunk preparation also matter. Test representative inputs and use Apify spending controls before scheduling many runs. Check the live pricing page before relying on a budget calculation.


Use Cases & Applications

Search and retrieval

Index transcript.text for whole-media search or use timestamped segments as smaller retrieval units. Preserve the source reference and time interval with every indexed passage so users can return to the recording. Embeddings, RAG answers, citations, and vector storage are downstream responsibilities.

Authorized archives and uploads

Turn owned training recordings, webinars, interviews, podcasts, research media, and archived files into a common text structure without first publishing them to a video platform. The upload feature changes transport, not rights: the operator remains responsible for permission, privacy, retention, and security.

Editorial and multilingual review

Use timestamped ASR as a draft for notes, caption editing, content review, or localization. A requested translation retains the source segment ranges, making bilingual comparison easier. Run separately for each additional target language and review names, numbers, technical terms, and consequential statements against the source.

Workflow boundaries

This Actor is suited to one known media item. It does not discover videos, monitor channels, crawl playlists, summarize content, produce SRT/VTT files, classify topics, or make legal or moderation decisions. Pair it with a separately authorized discovery workflow only when needed, and keep concurrency within your Apify budget.


FAQ

Which platforms are supported?

URL coverage follows the installed yt-dlp extractor set, including many major video and embedded-media sites. The project itself warns that its extractor list is volatile and that listed sites are not guaranteed to work. Test the exact URL. Generic pages, logins, deleted media, DRM, geo restrictions, rate limits, and platform changes can prevent a run.

Can I upload private media?

You can upload an authorized file up to 8 GB or provide its direct HTTP(S) file URL. The Actor accepts no platform login credentials. Treat upload URLs as sensitive, use short-lived access where possible, and do not assume a private platform page is equivalent to a direct media file.

Does it use native captions?

No. The production path downloads or opens media audio and runs automatic speech recognition. It does not fetch native subtitles first, claim caption fidelity, or expose a transcript_source field.

What happens with long media?

Media up to 3600 seconds is transcribed directly. Longer media is processed sequentially in 900-second core chunks with 15 seconds of context on each available side. The model is loaded once, one temporary WAV chunk exists at a time, timestamps are shifted to the full-media timeline, and owned core ranges control boundary merging.

Is transcription exact?

No. Noise, music, compression, accents, multiple speakers, proper names, code-switching, and specialist vocabulary can reduce ASR or translation accuracy. Segment timestamps are navigation intervals, not word-level alignments. Require qualified human review for high-stakes or publication use.

When is translation charged?

Translation starts only after a source transcript exists. If any translated segment ultimately fails, the Actor does not attach a partial translation or present source text as translated output. The translation event is charged only when the complete translated structure is produced.

Why are metadata fields empty?

Extractors and uploads expose different context. The common 22-field schema deliberately permits nulls, zeros, and empty arrays instead of fabricating author, engagement, publication, or audio attribution values.


SEO Keywords & Search Terms

People may search for universal video transcript API, video to text API, uploaded video transcription, audio file transcription, timestamped video transcript, multilingual speech-to-text, translated transcript API, yt-dlp transcription, Apify video transcript, podcast to text, webinar transcript, video RAG ingestion, or media archive transcription.

These phrases describe discovery intent, not extra capabilities. The actual contract remains one supported URL or uploaded file, locally verified audio and duration, AI-generated source text, timestamped segments, source metadata where available, and one optional translation.

The Actor is not positioned as a native-caption scraper, bulk channel downloader, playlist crawler, live transcription service, speaker-diarization engine, OCR tool, summarizer, legal transcript provider, or guaranteed verbatim transcription service. Those boundaries prevent misleading Store discovery claims.


Trust & Certifications

  • The input schema is closed and exposes only video_url, video_file, and translate.
  • Local ffprobe validation requires an audio stream and positive duration before ASR.
  • The Dataset contract exposes exactly 22 named fields with ordered source and optional translation segments.
  • No Store rating, user count, monthly activity, accuracy percentage, compliance certification, or one-off benchmark is presented as evidence of future performance.

The production ASR configuration is a multilingual small model using CPU INT8, two CPU threads, one worker, and batched inference with batch size one. This is a documented implementation choice, not an accuracy certification or service-level guarantee. Platform delivery, proxies, media quality, and third-party availability remain external dependencies.

Apify supplies Actor execution and storage infrastructure. That fact does not by itself certify this workflow for GDPR, CCPA, accessibility, medical, legal, financial, employment, or evidentiary use. Users must evaluate their own inputs, purpose, jurisdiction, retention, access controls, and downstream processing.


Process only media you are authorized to access, download, transcribe, translate, store, and use. Public reachability does not automatically grant copyright, privacy, publicity, contractual, database, or data-protection rights. Uploaded media may contain confidential or personal data even when no platform is involved.

URL sources impose different rules. Review the current terms for every source before use; some services expressly restrict automated access, scraping, or downloading without permission. Representative examples include the YouTube Terms of Service, TikTok Terms of Service, X Terms of Service, and Dailymotion Terms of Use. A supported extractor is a technical capability, not legal permission.

Minimize personal data, define a lawful purpose and retention period, limit access, and support correction or deletion when required. Do not submit credentials, access keys, private platform URLs, or reusable bearer tokens in support messages. Human review is necessary before using transcripts for consequential decisions, accessibility publication, quotations, legal evidence, medical guidance, financial advice, safety procedures, or model training.

The Actor does not grant a license to source media, verify ownership, determine fair use, provide legal advice, or certify transcript accuracy. Owners and platforms can remove content or change access and terms after a successful run; retain the source reference and processing time when provenance matters.


Enrich other workflows

Use a single-platform Transcript Actor when you want stricter URL validation for that platform. Use Video Transcript when platform coverage varies or uploaded-file support is required.


Support & Community

When reporting a problem, include the run ID, input type, approximate media duration, failed stage, and whether translation was enabled. Share a public URL only when authorized. Remove tokens, signed file URLs, private content, and sensitive transcript text from logs before posting them.

Schema, runtime behavior, repository pricing metadata, and documentation links were reviewed on July 21, 2026. Extractor availability, source terms, public media, and Store displays are volatile; check the current sources when making a decision.

Run a one-media test · View live pricing