Command line
Transcribe a local file or URL, run batches, resume saved work, and export subtitles or documents.
Explore CLI →Transcribe video and audio into timestamped, searchable text. One shared core for your command line, AI harness, and application.
Self-hosted toolkit · Native Windows, macOS, Linux · No account required
Latest verified release: v0.1.12 · User manual
# A URL or a file. Your machine does the work. $ textflowkit transcribe talk.mp4 --formats json,srt,txt ✓ talk-<job-id>.json ✓ talk-<job-id>.srt ✓ talk-<job-id>.txt # Or run it under an AI harness $ textflowkit-mcp
Use the interface your product already speaks. The pipeline and transcript format stay the same underneath.
Transcribe a local file or URL, run batches, resume saved work, and export subtitles or documents.
Explore CLI →Connect AI harnesses over stdio or Streamable HTTP. Submit jobs, poll status, search, and page through results.
Explore MCP →Give software a job-based JSON interface. Keep long transcriptions off the request-response clock.
Explore API →Use a local file, a direct media URL, or a recognized platform link.
yt-dlp acquires supported URLs; ffmpeg prepares audio for transcription.
The default speech engine, Whistle, produces timed segments on CPU with no PyTorch; openai-whisper is opt-in. Translation and speaker labels are optional.
Read, search, page, or export JSON, TXT, Markdown, SRT, or VTT. DOCX and PDF use an optional extra.
/api and shares the same job store — transport only, not a new pipeline. Whistle is the default engine; openai-whisper is opt-in.TEXTFLOWKIT_DB, because a checkpoint cannot outlive a process that kept it in memory; a resume then re-runs only the cores that never finished.StreamingSession and one owned native child. Windows x86_64 only, off by default; no durable job or resume. Existing file/URL jobs follow the separate diagrams. Physical microphone capture has not been verified; this public site serves no streams.The core now ships a point-and-click workspace. It is a local app you install and run yourself — this page is static documentation and offers no upload form, runs no transcription, and hosts nothing.
python -m pip install "textflowkit[http,export]==0.1.12" then textflowkit-ui. It adds no dependency beyond the http extra.textflowkit-ui --create-shortcut makes a Start Menu entry that launches with pythonw (no console) and needs no pywin32. That shortcut is the normal way to open it.127.0.0.1 and is never reachable off the machine, whatever TEXTFLOWKIT_ALLOW_REMOTE is set to.textflowkit CLI does not open a microphone or a streaming socket — its native audio-stream path stays disabled. Live transcription is a distinct capability of the two servers (the HTTP API's /stream and the UI's /api/stream), off unless TEXTFLOWKIT_STREAMING=1 is set, loopback-only, and verified with paced PCM through the native core (65 s and 300 s), plus a separate 12 s UI WebSocket PCM run; physical browser microphone capture has not been verified. It ships in the same wheel; see the streaming guide.$ python -m pip install "textflowkit[http,export]==0.1.12" $ textflowkit-ui --create-shortcut # then open it from the Start Menu shortcut
Public page vs. local app. This landing page is the public, static site. The browser workspace is a separate, local program: it never runs here and is not reachable from the internet. v0.1.12 adds optional UI-only local Ollama cleanup and native Windows packaging; existing standalone defaults, file/URL jobs, CLI, and MCP behavior remain unchanged. This public site serves no streaming endpoint.
The native Windows installer packages core v0.1.12. The native Windows installer has been built and tested locally. The installer recipe ships in v0.1.12; the EXE remains local-only until unresolved corresponding-source compliance review is cleared. No public installer download link is available. It requires no separately installed Python, WSL, or Docker.
en, de, fr, es, it, nl, and pl.PATH changes, and no automatic updates. Data is designed to survive upgrades and uninstall.openai-whisper and diarization dependencies are not bundled; those documented features remain available through the Python package with their required dependencies. Streaming remains opt-in, and physical browser microphone capture has not been verified.The Python package remains supported for developers and integrations. Docker is a separate operator deployment option.
After transcription, explicitly choose an installed local Ollama model and proofread source speech. Compare timestamp-anchored original and AI-corrected rows, return to original-only view, or copy/save separate corrected TXT. Original transcripts and existing exports stay unchanged.
The optional default preference qwen3.5:9b is used only if
installed; its size/performance fit is unverified. Otherwise choose an installed
local tag, such as qwen3.8:27b-q4_K_M.
Ollama and cleanup models are not bundled or auto-downloaded. Cleanup uses
loopback Ollama only, with no cloud tags, paid providers or telemetry.
AI can introduce plausible errors in names and facts. Review against the original and audio. Source timestamps are preserved; corrected word timing is not verified. A separate persisted variant records provider, requested/returned model, time and original hash. Bounded background work publishes no partial correction. Optional UI-only cleanup ships in core v0.1.12.
Validation history: the first cold full-UI attempt ended in a generic error; a later hot full run returned zero edits despite clear spelling errors. The final cold run, started with the model unloaded, completed all 39 segments in three chunks and changed four segments (2026-10-16 17:39:52 UTC). Original data and segment IDs/timestamps were preserved; the visible comparison and corrected TXT save were verified. This proves workflow completion for one run, not accuracy: “fundamental” and “victims” were plausible guesses not audio-verified. Review against audio. AI guesses are not audio-verified.
Python 3.10+ and ffmpeg are the starting point. Install from PyPI; the repository has GPU-specific notes, integration examples, and releases.
openai-whisper engine and to diarization.New here? Follow the v0.1.12 user manual for CLI, MCP, HTTP, the local browser interface, export, and troubleshooting examples, or the developer and integration manual for harness configuration and production settings.
$ python -m pip install "textflowkit[mcp,http]" $ textflowkit doctor
For a GPU-specific or Windows-native ROCm setup, follow the install guide instead of using this generic CPU-oriented quickstart.