pipedog is an unofficial community port of Pipecat, not affiliated with Daily.
pipedog
Speech-to-text

Gladia

Realtime multilingual speech-to-text with Gladia.

Overview

GladiaSTTService opens a Gladia live session over HTTP (POST /v2/live), then streams base64 audio over the returned WebSocket, with code-switching, translation, custom vocabulary and realtime processing options (see @pipedog/gladia/config).

Installation

bun add @pipedog/gladia

Prerequisites

  • A Gladia account and API key, passed as apiKey (the examples read GLADIA_API_KEY).

GladiaSTTService

Configuration

Prop

Type

Settings

Runtime-updatable settings, passed as settings: new GladiaSTTService.Settings({...}). Settings you leave out keep their defaults.

SettingDefaultDescription
model"solaria-1"Gladia model.
languageSingle language.
languageConfigLanguageConfig (languages, code switching).
endpointingEndpointing, in seconds.
maximumDurationWithoutEndpointing5Seconds.
preProcessing, realtimeProcessing, messagesConfigConfig classes from @pipedog/gladia/config.
enableVadGladia-side VAD.
customMetadataMetadata attached to the session.

Usage

stt.ts
import { LanguageConfig } from "@pipedog/gladia/config";
import { GladiaSTTService } from "@pipedog/gladia/stt";

const stt = new GladiaSTTService({
  apiKey: process.env.GLADIA_API_KEY ?? "",
  region: "eu-west",
  settings: new GladiaSTTService.Settings({
    languageConfig: new LanguageConfig({ languages: ["en", "fr"], codeSwitching: true }),
  }),
});

Notes

  • region is "us-west" or "eu-west". Pass fetch to customize the session request.

Runtimes

RuntimeWorksWhat it needs
Bun✅ yesNothing.
Node.js✅ yesNothing.
Deno✅ yesNothing.
Cloudflare Workers✅ yesNothing.

Generated from pipecat.runtimes and pipecat.compat in packages/gladia/package.json: ✅ means the compat smoke test passes on that runtime.

The service uses fetch and the global WebSocket (through core's websocketConnect, which sends the auth header on the handshake on Cloudflare Workers too). Pass no SDK; nothing is Node-only.

pipedog is an unofficial community TypeScript port of Pipecat. It is not affiliated with or endorsed by Daily or the Pipecat project.

Portions adapted from the Pipecat documentation, Copyright (c) 2024–2025 Daily, BSD-2-Clause (see apps/docs/LICENSE-pipecat-docs).

On this page