Skip to content

Releases: Illyism/transcribe-cli

v4.0.0 - 2-Pass Autofix, Speaker Diarization & OpenRouter Gateways

Choose a tag to compare

@Illyism Illyism released this 22 Aug 12:03

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 --model and --base-url.
  • Single-Token Auto-Detection: Works seamlessly with just OPENAI_API_KEY (defaults to gpt-5.6-luna) or OPENROUTER_API_KEY (defaults to google/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

Choose a tag to compare

@Illyism Illyism released this 30 Jul 13:57

Added

  • macOS Finder Quick Action: Run npx @illyism/transcribe --install-mac-action to 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 test suite (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 --offset timestamps to 00:00:00,000.

npm

v3.7.0 - Instagram Reels, Browser Cookies & Agent Skills

Choose a tag to compare

@Illyism Illyism released this 29 Jul 10:40

Added

  • Instagram Reels Support: Transcribe Instagram Reels (/reel/, /reels/, /p/) directly using automatic browser cookie login resolution.
  • --cookies-from-browser Flag: 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) for transcribe, summarize-transcript, video-to-social, youtube-chapters, and format-converter.

Refactored

  • Modular Remote Architecture: Split monolithic src/youtube.ts into src/remote/ module (providers.ts, urls.ts, ytdlp.ts, cookies.ts, progress.ts).

npm

v3.6.0

Choose a tag to compare

@Illyism Illyism released this 27 Jul 20:24

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.

npm

v3.5.0

Choose a tag to compare

@Illyism Illyism released this 20 Jul 17:49

Added

  • Bulk Folder Transcription: Pass a folder path to interactively select all or choose individual media files, then transcribe them in bulk. Each .srt is written next to its source file (or into --output).

v3.4.0

Choose a tag to compare

@Illyism Illyism released this 25 Jun 21:08

Added

  • Screen Studio Support: Transcribe .screenstudio recordings 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 openai as an external dependency during bundling to fix Whisper multipart upload errors in the published CLI.

v3.3.0

Choose a tag to compare

@Illyism Illyism released this 26 May 19:54

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

Choose a tag to compare

@Illyism Illyism released this 23 May 00:04

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

Choose a tag to compare

@Illyism Illyism released this 19 Dec 19:20

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 --offset flag to shift timestamps (e.g., --offset 01:00:00.000 or --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

Choose a tag to compare

@Illyism Illyism released this 10 Oct 12:33

πŸ› 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.mp4

Links