Skip to main content

CLI URL/text to WAV converter powered by Supertonic v3

Project description

Speekify

Speekify turns text into a local WAV file you can listen to — from inline CLI text, stdin, local .txt/.md/.pdf files, YouTube transcripts, or the readable content of a URL. Audio is generated locally with Supertonic v3.

Features

Capability What you get
Many input sources Inline text, piped stdin, local .txt/.md/.pdf files, readable URLs, and YouTube transcripts — auto-detected.
Local TTS WAV files synthesized 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.
Auto-translation English input is detected and translated to French before TTS when synthesizing in French (the default).
Voice control 10 built-in voices (M1M5, F1F5), custom Voice Builder JSON styles, plus speed and synthesis-step tuning.
MCP server Expose Speekify as a tool so AI assistants can generate audio during automations.

Install

speekify setup (run once after installing) downloads and warms the Supertonic model and, by default, the English→French translation model. If you skip it, the models download automatically on first use.

macOS — no Python or uv required

Once a release is published, install the standalone binary via Homebrew:

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

Or download the archive directly:

curl -L -o speekify.tar.gz https://github.com/OtterlySpaceLabs/speekify/releases/latest/download/speekify-macos-arm64.tar.gz
tar -xzf speekify.tar.gz
mv speekify /usr/local/bin/speekify
speekify setup

With pip / pipx / uv

Once released on PyPI:

pip install speekify        # or: pipx install speekify  (recommended for CLIs)
speekify setup

uv tool install speekify    # uv users
speekify setup

Run without installing:

uvx speekify "Hello world"
pipx run speekify "Hello world"

From source with uv

uv sync
uv run speekify setup

Quick start

Speekify is a CLI. Give it inline text, a URL, a local file path, or piped stdin:

speekify "Hello world"                                        # inline text
speekify https://example.com/article                          # readable URL
speekify ~/Documents/article.pdf                              # local PDF
speekify --lang fr "https://www.youtube.com/watch?v=eSP7PLTXNy8"   # YouTube
printf 'Hello from stdin' | speekify                          # stdin
speekify --voice F2 --output-dir ~/Desktop "Hello world"      # pick voice + dir

Wrap URLs in quotes when they contain ? or & (common with YouTube), or the shell may reject the command. From a source checkout, prefix any command with uv run (e.g. uv run speekify "Hello world").

→ Full command list, every option, and the config file: docs/usage.md.

MCP automation server

Speekify ships a local Model Context Protocol (MCP) server so AI assistants can call it as a tool. It exposes speekify_generate_wav (text/URL/file → WAV with structured details), speekify_generation_defaults (supported voices, languages, and ranges), and a news_recap_to_audio prompt template.

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

Per-client setup (Claude Code, GitHub Copilot, Codex, OpenAI remote MCP): docs/mcp-clients.md.

Documentation

Doc Contents
docs/usage.md Full CLI reference — every command, option, the config file, and output naming.
docs/sources.md Supported input sources, extraction rules and limits, translation, text handling, and logs.
docs/mcp-clients.md MCP server setup for Claude Code, GitHub Copilot, Codex, and remote MCP.
docs/release-procedure.md Maintainer release checklist.

Usage and content

Speekify only fetches content you explicitly point it at, for your own personal use. You are responsible for respecting the terms of service and copyright of any source you extract from, including YouTube transcripts. The maintainers provide no rights over third-party content.

License

MIT — see LICENSE. Copyright © 2026 Otterly Space SARL.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

speekify-0.1.1.tar.gz (31.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

speekify-0.1.1-py3-none-any.whl (42.0 kB view details)

Uploaded Python 3

File details

Details for the file speekify-0.1.1.tar.gz.

File metadata

  • Download URL: speekify-0.1.1.tar.gz
  • Upload date:
  • Size: 31.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for speekify-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b6acebc37d406819bfa94830a2e47575856678ab2d69b7490621fcb736ad1f57
MD5 d6fcefc1c441628f9f218e1a3ee69270
BLAKE2b-256 68d7c60728b7d6441d769371561239c67c2ea7469a8d47299fb28d67f288e369

See more details on using hashes here.

Provenance

The following attestation bundles were made for speekify-0.1.1.tar.gz:

Publisher: publish.yml on OtterlySpaceLabs/speekify

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file speekify-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: speekify-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 42.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for speekify-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c4702fc647f0cacc2f5c06ec9f00cc227a7d56412b2f1cffa56a17db31c22c3e
MD5 42e09ec44b4e5e00e9a55896c13d22e8
BLAKE2b-256 daffb4f4f5f5d1f298f24db8d780c8211178eb46f86a2bebaa59706d595c48a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for speekify-0.1.1-py3-none-any.whl:

Publisher: publish.yml on OtterlySpaceLabs/speekify

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page