s2t (Speech-to-Text CLI)
A lightweight CLI tool for transcribing audio (.mp3, .opus, .m4a, .wav, .flac, .ogg, etc.) directly to plain text or clean multi-page PDF documents using DraxonLLMs.
Features
- Multi-Format Support: Handles
.mp3,.opus,.m4a,.wav,.flac,.ogg, etc. Auto-normalizes inputs to 16kHz mono WAV viaffmpegif available. - Multilingual LLM Audio Models: Powered by audio-native models (
gemini-flash,gemini-pro,qwen3.8-omni-flash,mimo-v2.5-asr). - Flexible Outputs:
- Direct raw text to
stdout - Output to plain text file (
.txt) - Standalone multi-page PDF export (
.pdf) with automatic page wrapping and zero external dependencies
- Direct raw text to
- Live Streaming: Stream tokens directly to terminal in real-time (
--stream).
Installation
Via pip:
pip install s2t-py
From source:
git clone https://github.com/DraxonV1/Speech2Text.git
cd Speech2Text
pip install -e .
Quickstart
1. Set API Key
Set your DraxonLLMs API key via environment variable:
# Linux / macOS
export DRAXON_API_KEY="drx_your_api_key_here"
# Windows PowerShell
$env:DRAXON_API_KEY="drx_your_api_key_here"
# Windows Command Prompt
set DRAXON_API_KEY=drx_your_api_key_here
(You can also pass it explicitly with --api-key="drx_...")
2. Transcribe Audio
Print raw text directly to terminal:
s2t --input=voice.opus
Output to plain text file:
s2t --input=meeting.mp3 --output=transcript.txt
Output to formatted PDF document:
s2t --input=interview.m4a --output=interview.pdf
Real-time streaming transcription:
s2t --input=speech.wav --stream
CLI Options
usage: s2t [-h] -i INPUT [-o OUTPUT] [--api-key API_KEY] [--api-base API_BASE]
[--model MODEL] [--stream]
options:
-h, --help show this help message and exit
-i INPUT, --input INPUT
Input audio file (.mp3, .opus, .m4a, .wav, etc.)
-o OUTPUT, --output OUTPUT
Output file (.txt or .pdf). If omitted, prints raw text to stdout.
--api-key API_KEY DraxonLLMs API key (default: env DRAXON_API_KEY)
--api-base API_BASE API base URL (default: https://ai.draxon.one/api/v1)
--model MODEL Model name (default: gemini-flash)
--stream Stream raw text from model in real time
Supported Models
Refer to models.txt for the current audio model roster:
gemini-flash(default): High accuracy, low latency, multilingual (English, Hindi, Spanish, etc.)gemini-pro: Maximum reasoning and contextual transcriptionqwen3.8-omni-flash: Omni-channel audio modelmimo-v2.5-asr: Specialized Chinese speech recognition
To select a different model:
s2t --input=audio.mp3 --model=gemini-pro
License
MIT
Metadata
Release files for s2t-py 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| s2t_py-0.1.0.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| s2t_py-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.6 kB
Release files / s2t_py-0.1.0.tar.gz
| Download URL | s2t_py-0.1.0.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e2bab2dcbe6fcd90263c7e9830c72fcf83f8d03c81a07108366798d071c8832e
|
|
BLAKE2b-256 checksum How to use checksums |
7c5d0772051def7db13ed5031b43574cd19584c5090c5bc146ed1e6a56f298d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / s2t_py-0.1.0-py3-none-any.whl
| Download URL | s2t_py-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c63c8347d0386ad94d379ef9f1f961a6cf17402737641b061f7d4ad87e05a469
|
|
BLAKE2b-256 checksum How to use checksums |
030a536f163aa04737ec576883299284c279aec4fd392d4341773ae58a342bc9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency log