Skip to main content

Linux-first speech-to-text terminal UI

Project description

sttui logo

sttui: Speech To Text in your terminal

No browser. No Web UI. Fast speech-to-text with the best models

PyPI version

Setup

pip install sttui

(or if you have uv installed, uvx sttui)

Then, you must have an account on openrouter, and get an API key.

To register it, run:

sttui auth
Storage of your key

Your key will be stored inside ~/.config/sttui/auth.json Make sure you don't commit this file !

Config

When you first start the app, a config file is created at: ~/.config/sttui/config.toml

You can specify the default model (without the openrouter prefix), the prompt, and the maximum audio length.

[transcription]
model = "mistralai/voxtral-small-24b-2507"
prompt = """
You are a helpful assistant that can hear audio and write text.
Return a transcription of the user audio as json. If the user request is empty, return null.
<format>
{
  "transcription": ""
}
</format>
<format>
{
  "transcription": null
}
</format>
"""
max_seconds = 600

Commands

# Start interactive dictation TUI
sttui

# Show CLI help
sttui --help

# Set or update API key
sttui auth

# TUI + write transcript to stdout on Enter
sttui --stdout

# Override model and recording cap for this run
sttui --model google/gemini-2.5-flash --max-seconds 120

# Use a custom config file
sttui --config ~/.config/sttui/config.toml

All recordings and transcripts are stored in ~/.local/share/sttui/recordings/.

Contributing

This is a side-project of mine. I must admit there is mostly AI-generated code, but I try to review and ensure good practices.

I don't have strong opinions about how this project should evolve. If you find it useful, feel free to contribute !

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

sttui-0.2.0.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

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

sttui-0.2.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file sttui-0.2.0.tar.gz.

File metadata

  • Download URL: sttui-0.2.0.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sttui-0.2.0.tar.gz
Algorithm Hash digest
SHA256 50f679bd5e38bdf90a7205dd31ff30d2b80ed0105b1e9c1d9bde8b23e5e5db10
MD5 c35ac28301b7635ccf217c94d6a5a8b8
BLAKE2b-256 56ae386841a17aa4115a9553bd26a5dd3c932266da09239b5af7199a8c1e8f01

See more details on using hashes here.

Provenance

The following attestation bundles were made for sttui-0.2.0.tar.gz:

Publisher: publish.yaml on rambip/sttui

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

File details

Details for the file sttui-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: sttui-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sttui-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1783708f5c82680b984b27337dc7f2a12267537634e7e927a0e0a476a8ae42b7
MD5 46af2f503cc140abb8c105225d33168d
BLAKE2b-256 a1611f86cdd18e171a4f2bddabe216af0a54de912da99ef11deffd37bf73db00

See more details on using hashes here.

Provenance

The following attestation bundles were made for sttui-0.2.0-py3-none-any.whl:

Publisher: publish.yaml on rambip/sttui

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