PolyScribe

Local-first transcription and plugins.

Features

  • Local-first: Works offline with downloaded models
  • Multiple backends: CPU, CUDA, ROCm/HIP, and Vulkan support
  • Plugin system: Extensible via JSON-RPC plugins
  • Model management: Automatic download and verification of Whisper models
  • Manifest caching: Local cache for Hugging Face model manifests to reduce network requests

Model Management

PolyScribe automatically manages Whisper models from Hugging Face:

# Download models interactively
polyscribe models download

# Update existing models
polyscribe models update

# Clear manifest cache (force fresh fetch)
polyscribe models clear-cache

Manifest Caching

The Hugging Face model manifest is cached locally to avoid repeated network requests:

  • Default TTL: 24 hours
  • Cache location: $XDG_CACHE_HOME/polyscribe/manifest/ (or platform equivalent)
  • Environment variables:
    • POLYSCRIBE_NO_CACHE_MANIFEST=1: Disable caching
    • POLYSCRIBE_MANIFEST_TTL_SECONDS=3600: Set custom TTL (in seconds)

Installation

cargo install --path .

Usage

# Transcribe audio/video
polyscribe transcribe input.mp4

# Merge multiple transcripts
polyscribe transcribe --merge input1.json input2.json

# Use specific GPU backend
polyscribe transcribe --gpu-backend cuda input.mp4

Development

# Build
cargo build

# Run tests
cargo test

# Run with verbose logging
cargo run -- --verbose transcribe input.mp4
Description
No description provided
Readme MIT 1.4 MiB
Languages
Rust 100%