Whistle API
    Preparing search index...

    Whistle API

    Transcribe completed speech clips locally in browsers and Node.js with @tiny-stt/whistle. The independent TypeScript SDK wraps Cactus Compute's official Whistle-compatible JS/WASM runtime. It has no hosted inference, telemetry or audio uploads, and supports clips of up to 30 seconds.

    Read Getting started, then choose an environment. The guide covers package installation, asset preparation and testing a local checkout.

    Import Purpose
    @tiny-stt/whistle Browser workers, pinned-model loading and self-hosted assets
    @tiny-stt/whistle/node Local-only Node worker threads
    @tiny-stt/whistle/audio File decoding, channel downmixing and 16 kHz resampling
    @tiny-stt/whistle/microphone Push-to-talk recording with manual stop, auto-stop and cancellation
    @tiny-stt/react Optional React 19 hooks for engine ownership and recording

    Each entry point includes its exported functions, options, result fields and error contracts, generated from the source comments that also ship in TypeScript declarations.

    Whistle is the speech model; needle.js and needle.wasm are its shared engine. The required model is whistle.cact, not the Needle text model. Runtime code ships in the package, while the 16.9 MB model is acquired explicitly at build time or by the configured browser loader. This SDK is not official Cactus software.