gemini-transcribe-wrapper
Zero-config wrapper for Gemini 3.5 Transcribe that breaks long audio into
API-safe chunks and merges the results back into .spk / .srt / .txt.
Quick Start
1. Get an API key
Sign up at Google AI Studio and create an API key.
2. Install the tool
Linux / macOS:
uv -q tool install gemini-transcribe-wrapper
export GEMINI_API_KEY=your_key_here
Windows (PowerShell):
uv -q tool install gemini-transcribe-wrapper
$env:GEMINI_API_KEY = "your_key_here"
This installs both gemini-transcribe and its shortcut gtw.
3. Transcribe
With GEMINI_API_KEY set (from step 2):
gtw sample.mp4
Or pass the key directly:
gtw --gemini-api-key YOUR_API_KEY sample.mp4
gtw --gemini-api-key YOUR_API_KEY *.mp4
Done — sample.spk, sample.srt, sample.txt appear next to the input.
Any local video/audio works (.mp4, .mp3, etc.).
How it works
This wrapper exists to get past the Gemini free tier limits:
- Max 2 API calls per minute — chunks are transcribed sequentially with a built-in delay (default 30s) between API calls.
- Max 30 minutes of audio per call — long files are split into equal
≤25 min chunks, transcribed, then merged and aligned with
ffsubsync. - Max 25 API calls per day — once the daily quota is used up, the API returns HTTP 429. If you hit it, the tool prints the limits above: free tier users should try again tomorrow, or switch to a paid tier (enable billing) to keep going immediately.
.spk (speaker diarization), .srt (no speaker labels), and .txt
(clean text) are all generated at once by default. Don't need one? Turn it
off:
gtw sample.mp4 --no-spk --no-txt # keep only .srt
gtw sample.mp4 --no-srt # keep .spk + .txt
See gtw --help for all options (speaker name mapping, transcript
re-rendering, temp dir, etc.).
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gemini_transcribe_wrapper-0.0.1.tar.gz.
File metadata
- Download URL: gemini_transcribe_wrapper-0.0.1.tar.gz
- Upload date:
- Size: 93.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
842e43f438ec32f6ae7256f01b10897e09ec24d485148ad464f2bb85f72f7ad0
|
|
| MD5 |
5c187cf5846c5cc8ce1015ff3bd181e5
|
|
| BLAKE2b-256 |
05cc0bcda66e00059feea3177d80e6981eb08b02e710379e71c46c6f069b206c
|
File details
Details for the file gemini_transcribe_wrapper-0.0.1-py3-none-any.whl.
File metadata
- Download URL: gemini_transcribe_wrapper-0.0.1-py3-none-any.whl
- Upload date:
- Size: 25.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
085c4c5b5f99a8cf8bcb02ca0ea0c363ec26fbc240dceefd9dbbc080f1daea42
|
|
| MD5 |
4cee8203f121307d8fece0abec33ce14
|
|
| BLAKE2b-256 |
5219542fb91cc8d59e1fefacd81aab7b561af71ec40b0881e8dfcc5046b8310a
|