Varmirdocs
Docs/Guides/JavaScript client

JavaScript client

Drop-in SDK for Node and modern browsers. Same shape as the REST API, plus an event-based wrapper around the WebSocket stream.

Install

shell
npm install @varmir/sdk

The SDK ships with TypeScript types out of the box and zero runtime dependencies.

Batch

batch.ts
import { Varmir } from "@varmir/sdk";

const client = new Varmir({ apiKey: process.env.VARMIR_KEY });

const res = await client.transcribe({
  audio: fs.readFileSync("sample.wav"),
  translateTo: "uk",
});

console.log(res.text);
console.log(res.translation?.text);

Streaming

client.stream() returns an EventEmitter-compatible handle. Pipe raw PCM in, listen for partial / final / translation events.

stream.ts
const session = client.stream({
  sampleRate: 16000,
  translateTo: "uk",
});

session.on("partial", ({ text }) => render(text));
session.on("final", ({ text }) => commit(text));
session.on("translation", ({ text }) => renderTranslation(text));

// Pipe a Web Audio MediaStream into it
micFrames.pipe(session);
JavaScript client — Varmir docs