Releases: Illyism/transcribe-cli
Releases Β· Illyism/transcribe-cli
Release list
v4.0.0 - 2-Pass Autofix, Speaker Diarization & OpenRouter Gateways
Highlights in v4.0.0
- 2-Pass Hybrid Autofix (
--autofix): Combines Whisper-1's frame-accurate timecodes with intelligent LLM context cleanup to correct technical jargon, domain terms, brands, and acronyms in place. - Automatic Speaker Diarization: Detects and labels speaker turns (
[Speaker 1]: ...,[Speaker 2]: ...) during autofix (disable with--no-diarize). - OpenAI-Compatible Gateways & Models (Issue #1): Full support for OpenRouter, Groq, LiteLLM, vLLM, Deepgram via
--modeland--base-url. - Single-Token Auto-Detection: Works seamlessly with just
OPENAI_API_KEY(defaults togpt-5.6-luna) orOPENROUTER_API_KEY(defaults togoogle/gemini-3.7-flash). Auto-mixes if both keys are set! - Zero Audio Speedup Distortion: Removed 1.2x speedup filter across all files to preserve 20β50ms acoustic transients and eliminate phonetic blur on foreign terms.
v3.8.0 - macOS Quick Actions & Productivity Integrations
Added
- macOS Finder Quick Action: Run
npx @illyism/transcribe --install-mac-actionto add a native right-click "Transcribe Subtitles" menu option in macOS Finder with system notifications. - macOS Productivity Integrations: Added setup guides in README for Apple Shortcuts, Raycast/Alfred, and Automator Drop Zone folders.
- Unit Tests: Added a
bun testsuite (103 tests) covering URL vs path detection, input routing, media discovery, time parsing, and SRT timeline math.
Fixed
- URL vs Path Disambiguation: Improved URL parsing in remote providers to prevent local filesystem paths from being misidentified as URLs.
- SRT Millisecond Rounding: Fixed floating point truncation that could shift a cue by 1ms.
- Negative Timestamps: Clamped negative
--offsettimestamps to00:00:00,000.
v3.7.0 - Instagram Reels, Browser Cookies & Agent Skills
Added
- Instagram Reels Support: Transcribe Instagram Reels (
/reel/,/reels/,/p/) directly using automatic browser cookie login resolution. --cookies-from-browserFlag: Pass--cookies-from-browser <browser>(e.g.chrome,safari) to override browser cookie detection for authenticated sites.- Agent Skills: Published user-focused AI agent skills under
skills/(compatible with skills.sh) fortranscribe,summarize-transcript,video-to-social,youtube-chapters, andformat-converter.
Refactored
- Modular Remote Architecture: Split monolithic
src/youtube.tsintosrc/remote/module (providers.ts,urls.ts,ytdlp.ts,cookies.ts,progress.ts).
v3.6.0
Changed
- Short files stay raw: Speed optimization (1.2x) only runs for media 5 minutes or longer; shorter files use original audio automatically.
- Quieter CLI output: Less noise for single-chunk jobs, silent temp cleanup, and a single saved-line with language/duration in folder mode.
v3.5.0
v3.4.0
Added
- Screen Studio Support: Transcribe
.screenstudiorecordings directly β extracts microphone audio from HLS segments and supports both bundle directories and zip archives.
Changed
- Always-on Chunking: All transcriptions are now split into ~20 minute chunks by default for reliability (override with
--chunk-minutes). - Screen Studio Uses Raw Audio: Screen Studio inputs skip speed optimization automatically to preserve original timing.
- Build Fix: Mark
openaias an external dependency during bundling to fix Whisper multipart upload errors in the published CLI.
v3.3.0
Added
- Universal URL Support: Support for transcribing any media URLs supported by
yt-dlp(including X/Twitter, and more), expanded from just YouTube. - Honest Progress Bars & Live Stats: Real-time progress bars or live activity lines with byte-counts and speed, adapting automatically for HLS and external FFmpeg downloads.
v3.2.0
Summary
- Transcribe long media chunks with up to 8 concurrent Whisper API requests.
- Precompute chunk durations and offsets before transcription so merged SRT timestamps stay deterministic.
- Normalize npm package metadata for publishing.
Verification
- Published @illyism/transcribe@3.2.0 to npm.
- Verified build and npm publish dry-run before release.
π v3.1.0 - Long Movies & Workflow Improvements
This release focuses on making transcription more reliable for long-form content and providing better controls for video editing workflows.
β¨ Highlights
- π§© Automatic Chunking: Media files over 45 minutes are now automatically split into 20-minute chunks. This significantly improves reliability with the OpenAI Whisper API and ensures stable processing for 2+ hour movies.
- π Timecode Offsets: Use the new
--offsetflag to shift timestamps (e.g.,--offset 01:00:00.000or--offset 3600). Perfect for syncing with existing editorial timelines. - π Custom Output: Specify exactly where you want your SRT files with the
--output(-o) flag. Supports both specific file paths and directories. - ποΈ Optimized Extraction: Audio extraction now uses mono and 16kHz settings by default, reducing file size by up to 99% while maintaining 100% dialogue clarity.
π οΈ New CLI Flags
--output/-o: Custom SRT path or directory.--offset: Shift subtitle timestamps (supports seconds or HH:MM:SS.mmm).--chunk-minutes: Force custom chunk duration for long inputs.
π Improvements
- Enhanced FFmpeg error reporting with actionable guidance.
- Improved cleanup logic for temporary chunk files.
- Updated README with detailed usage for long-form content.
v3.0.3 - Critical Timestamp Fix
π Critical Bug Fix
Fixed
- Critical: Fixed timestamp adjustment direction when using speed optimization
- Timestamps were being divided by speed factor instead of multiplied
- This caused SRT files to be 17% shorter than original audio (e.g., 40min audio had timestamps ending at 28min)
- Now correctly multiplies timestamps by speed factor to match original audio duration
- Example: 40:17 audio β sped up to 33:34 β Whisper timestamps correctly adjusted back to 40:17
π¦ Installation
npm install -g @illyism/transcribe@3.0.3
# or use directly
npx @illyism/transcribe@3.0.3 video.mp4Links
- π¦ NPM Package
- π Full Changelog