PDF, Audio & Video to Markdown: OCR + Transcripts
Pricing
from $0.60 / 1,000 text pages
PDF, Audio & Video to Markdown: OCR + Transcripts
PDFs, scans, audio and video to clean, LLM-ready Markdown: tables preserved, auto OCR, timestamped transcripts with SRT/VTT subtitles (Whisper), video keyframes, RAG chunks. Pay per page or minute.
Pricing
from $0.60 / 1,000 text pages
Rating
0.0
(0)
Developer
Marcel Tomas
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
Turn PDFs, scans, recordings and videos into clean, LLM-ready Markdown — from $1 per 1,000 pages and $0.48 per hour of audio.
Feed your AI agents, RAG pipelines and automations with text they can actually use, from one Actor:
- PDFs and images: text pages are read directly from the PDF (fast and exact); scanned pages and images are OCR'd automatically, only where needed, so you never pay OCR prices for pages that already contain text.
- Audio and video: MP3, WAV, M4A, OGG, FLAC, MP4, MOV, WebM, MKV → timestamped transcript (Whisper large-v3 turbo, 99+ languages), segments, SRT/VTT subtitles and optional video keyframes as images.
✅ Headings, lists and tables preserved as Markdown ✅ Automatic OCR in 9 languages ✅ Transcripts with timestamps + subtitles ✅ Keyframes from videos ✅ Ready-made RAG chunks ✅ No subscription
Why this Actor
| This Actor | Typical PDF extractors | |
|---|---|---|
| Price | $0.001 per text page, $0.003 per OCR page (lower on paid plans) | $0.003–0.02 per PDF, $0.002–0.015 per OCR page |
| OCR | Only on pages that need it (auto) | Every page, or not at all |
| Output | Markdown with headings, lists, tables, page markers + optional chunks | Plain text |
| Words broken across lines | Re-joined (custo-/mers → customers), real hyphens kept | Left broken |
| Failed files | Free | Often charged |
| Transcription | $0.008 per audio minute ($0.48/hour), $0.003 with your own Groq key | $0.01–0.04 per minute |
Example
Input:
{"sources": ["https://arxiv.org/pdf/1706.03762"],"includeChunks": true}
Output (shortened):
{"source": "https://arxiv.org/pdf/1706.03762","status": "ok","pageCount": 15,"textLayerPages": 15,"ocrPages": 0,"markdown": "<!-- page 1 -->\n...\n## Abstract\n\nThe dominant sequence transduction models are based on complex recurrent or convolutional neural networks ...","chunks": [{ "index": 0, "pageFrom": 1, "pageTo": 1, "text": "...", "chars": 1480 }],"processingMs": 799}
15 pages in under a second, 35 RAG chunks, cost $0.015.
Audio/video input:
{"sources": ["https://example.com/podcast-episode-42.mp3"],"includeSubtitles": true}
Output (shortened):
{"source": "https://example.com/podcast-episode-42.mp3","status": "ok","mediaType": "audio","durationSec": 1834.2,"minutesTranscribed": 31,"language": "english","markdown": "**[00:00]** Welcome back to the show. Today we talk about ...","segments": [{ "start": 0, "end": 4.2, "text": "Welcome back to the show." }],"srt": "1\n00:00:00,000 --> 00:00:04,200\nWelcome back to the show.\n..."}
Use cases
- RAG & AI agents: index reports, manuals, papers and contracts with page-level citations.
- Invoices, receipts and scans: get searchable text from scanned PDFs and photos.
- Podcasts, meetings, webinars, lectures: transcripts for search, summaries and show notes; subtitles for publishing.
- Video for AI: transcript + keyframes give a multimodal model the whole video at a fraction of the cost.
- Automations: n8n, Make, Zapier or the Apify API — send a file URL, get Markdown back.
- MCP tool: let Claude, ChatGPT or Cursor call it through the Apify MCP server.
What you get per document
| Field | Meaning |
|---|---|
markdown | The whole document as Markdown, with invisible <!-- page N --> markers (optional) |
chunks | Optional: the Markdown split on paragraph/table boundaries (size and overlap configurable), each with its page range |
pages | Optional: raw text per page, the method used (text-layer, ocr, empty) and OCR confidence (0–100) |
| Metadata | File type, size, page count, title, author, creation date |
| Stats | Pages processed, text-layer pages, OCR pages, mean OCR confidence, characters |
status | ok, partial (page limit or budget reached — you still get what was processed) or error (with the reason, not charged) |
For audio and video:
| Field | Meaning |
|---|---|
markdown | Transcript as Markdown, one paragraph per ~minute with **[mm:ss]** timestamps |
segments | Sentence-level segments with start/end seconds (on by default) |
srt, vtt | Subtitles (turn on Subtitles) |
keyframes | Video frames (scene changes or every N seconds) as image URLs in your key-value store, with their timestamps |
| Metadata | Media type, duration, detected language, minutes transcribed |
Quick start
- Paste one or more direct links to PDF, image (PNG, JPEG, TIFF, WebP, GIF, BMP), audio or video files.
- Documents: keep OCR = Auto and pick the OCR languages: English, Spanish, Catalan, French, German, Italian, Portuguese, Dutch, Polish.
- Audio/video: transcription is on by default and detects the language; set it only if detection struggles. Turn on Subtitles or Keyframes if you need them.
- For RAG, turn on RAG chunks and choose a chunk size.
Pricing (pay per event)
| Event | Free plan | Paid plans |
|---|---|---|
pdf-page — page read from its text layer | $0.001 | down to $0.0006 |
ocr-page — scanned page or image processed with OCR | $0.003 | down to $0.0018 |
audio-minute — one started minute of audio transcribed | $0.008 | down to $0.005 |
audio-minute-byok — same, with your own Groq API key | $0.003 | down to $0.002 |
keyframe — one video frame extracted and stored | $0.001 | down to $0.0006 |
That is $1 per 1,000 text pages, $3 per 1,000 OCR pages and $0.48 per hour of audio on the free plan. Never charged: files that cannot be downloaded or are not supported. Set a max-charge limit and the run stops cleanly at it, still delivering what was already processed.
Without your own key, free-plan accounts can transcribe up to 30 minutes per run. Add a Groq API key to lift the cap and pay the lower audio-minute-byok price (Groq bills you for the transcription itself).
FAQ
Does it work with scanned PDFs? Yes. In Auto mode each page is checked: pages with a text layer are read directly, scanned pages are OCR'd at 300 DPI.
Are my files stored? Files are downloaded into your run, processed and deleted from the run's temporary disk. Results stay in your own Apify storage. PDFs and images are processed entirely inside the run (no third-party service). For transcription, the audio track is sent to Groq's Whisper API; with your own key, under your Groq account.
Which languages can be transcribed? Whisper large-v3 turbo supports 99+ languages and detects the language automatically.
Long recordings? Audio is split into 10-minute parts and joined back with continuous timestamps. Default limit 120 minutes per file (maxMediaMinutes, up to 600).
What about tables? Simple column layouts become Markdown tables. Complex tables (merged cells, rotated text) are kept as text.
Can I process only some pages? Yes: set a page range such as 1-5,8,10-.
Password-protected PDFs? They cannot be opened without the password.
Limits? Up to 1 GB per file and 2,000 pages per document (defaults: 200 MB, 300 pages).
Good to know
- Only direct file links. Links to YouTube, social networks or other platform pages are rejected. Process only files you have the right to use.
- Transcript quality depends on audio quality; music, cross-talk and heavy accents lower accuracy.
- OCR quality depends on scan quality; use the per-page confidence to spot weak pages.
Related
Support
Open an issue on the Actor's Issues tab with the run ID. Feature requests welcome.