Speekify
Local TTSRuns locally with Supertonic v3 — no audio leaves your machine

Turn anything you'd read into something you can hear.

Speekify is an open-source CLI that converts articles, PDFs, YouTube transcripts, and piped text into a local audio file — synthesized on your own machine. Nothing you read leaves your computer.

speekify "https://example.com/article"

Output is a .wav file in your current folder.

Your reading list became a backlog.

Not everything worth knowing deserves your screen time.

There's more to read than there are hours to sit and read it — saved articles, long PDFs, talks you bookmarked and never opened. Most of it doesn't need your eyes. It needs twenty minutes of your attention, which you already have on a walk, a commute, or while doing the dishes. Speekify converts the text into audio so you can clear the backlog without sitting still for it.

Listen anywhere
Take your backlog on a walk, a commute, or the dishes.
Local & private
Audio is synthesized on your machine. Nothing you read leaves your computer.
One command
Point Speekify at a source and get a file back.

One command, many sources, a file you can play anywhere.

Speekify reads from where your content already lives and writes a plain audio file.

Many input sources
Inline text, stdin, local .txt/.md/.pdf files, readable URLs, and YouTube transcripts. Auto-detected.
Local synthesis
Audio is generated on your machine with Supertonic v3. No audio leaves your computer.
Multilingual
en, fr, de, es, it, pt, ja, ko, and more, plus na for language-agnostic synthesis. By default Speekify auto-detects the source language and speaks it back — English in, English out. Pass --lang fr to translate English input to French before synthesis.
Voice control
10 built-in voices (M1–M5, F1–F5), custom Voice Builder JSON styles, plus speed and synthesis-step tuning.
MCP server
Expose Speekify as a tool so AI assistants can generate audio inside your automations.
Open source
MIT licensed. Read the code, file an issue, send a patch.

From install to audio in five steps.

  1. 1
    Install Speekify.

    Homebrew on macOS, from source with uv, or from PyPI.

  2. 2
    Run setup once.

    speekify setup downloads and warms the local model so the first real run is fast.

  3. 3
    Give it a source.

    Pass inline text, a URL, a file path, or pipe text in — Speekify detects the type automatically.

  4. 4
    Get a WAV.

    Speekify writes a .wav file to your current folder (or wherever --output-dir points). Play it anywhere.

  5. 5
    Optional: wire it into your AI workflow.

    Run speekify mcp to let an assistant like Claude Code or Codex generate audio as a tool call.

Real commands, copy-paste ready.

Every example works with the installed binary, or with uv run speekify … from a source checkout.

Inline text

speekify "Hello world"

A readable web article

speekify "https://example.com/article"

A local PDF

speekify ~/Documents/article.pdf

A YouTube video (quote URLs with ? or &)

speekify --lang fr "https://www.youtube.com/watch?v=eSP7PLTXNy8"

Pipe text from stdin

printf 'Hello from stdin' | speekify

Pick a voice and output folder

speekify --voice F2 --output-dir ~/Desktop "Hello world"

Let your AI assistant make the audio.

Speekify ships a local Model Context Protocol server, so assistants can call it as a tool inside their automations.

Start the server with one command and Speekify becomes available to MCP-capable clients — Claude Code, GitHub Copilot, Codex, and OpenAI's remote MCP. The server exposes speekify_generate_wav (text, URL, or file → WAV with structured details), speekify_generation_defaults (supported voices, languages, and ranges), and a news_recap_to_audio prompt template. The audio is still generated locally on your machine.

Start the MCP server

speekify mcp                              # stdio — for local desktop AI clients
speekify mcp --transport streamable-http  # local HTTP endpoint

Add to Claude Code

claude mcp add --transport stdio speekify -- speekify mcp

What people use it for.

Article → audio
Drop in a URL, get the readable body of the page as a .wav to listen to later.
PDF → audio
Turn a text-based report or paper into audio for the commute. (Text-based PDFs only — scanned image PDFs have no text to read.)
YouTube transcript → audio
Pull a video's captions and listen instead of watching. Add --lang fr to hear an English video in French.
News & tech veille
Batch your reading into audio you can get through while doing something else.
Automated reading via an AI agent
Have an assistant fetch, summarize, and hand text to Speekify through MCP — and get back a file to play.

Install Speekify.

Homebrew, from source, or from PyPI — all work today.

macOS — Homebrew (no Python or uv required)

brew tap otterlyspacelabs/speekify https://github.com/OtterlySpaceLabs/speekify
brew install speekify
speekify setup

From source (uv)

uv sync
uv run speekify setup

pip / pipx / uv — from PyPI

pip install speekify        # or: pipx install speekify
uv tool install speekify    # uv users
speekify setup

Run speekify setup once after installing. It downloads and warms the local Supertonic model (and, by default, the English→French translation model). Skip it and the models download automatically on first use.

MIT Licensed

Open source, MIT licensed.

Speekify is built by Otterly Space Labs and released under the MIT license. The code is on GitHub — read it, open an issue, or send a pull request. If it's useful to you, a star helps other people find it.