Build on the supported package contract
Use @absolutejs/voice-lmnt through its supported public entry points.
@absolutejs/voice-lmntv0.0.1-beta.6betaVoice & MediaLMNT text-to-speech adapter for @absolutejs/voice
bun add @absolutejs/voice-lmntLMNT text-to-speech adapter for @absolutejs/voice.
Wraps LMNT's /v1/ai/speech/stream HTTP endpoint behind voice's TTSAdapter seam for fast, low-latency TTS using the aurora / blizzard / mochi models.
For telephony at 8 kHz μ-law:
Option — Required — Default — Notes
apiKey — yes — — — LMNT API key, sent as X-API-Key.
voice — yes — — — LMNT voice id.
model — no — aurora — LMNT model id.
format — no — raw — Must be raw (PCM s16le) or mulaw (telephony @ 8 kHz). mp3 / wav are rejected because they aren't streamable frame-by-frame.
sampleRate — no — 24_000 — Ignored for mulaw.
language — no — — — BCP-47-ish code, or auto.
speed, temperature, topP, seed, conversational — no — — — Forwarded to LMNT.
baseUrl — no — https://api.lmnt.com — Override for staging hosts.
fetch — no — globalThis.fetch — Inject for tests; opportunistic HTTP/2 multiplexing on outbound HTTPS.
Whitespace-only send() is a no-op.
session.close(reason) aborts in-flight requests and refuses further sends.
This adapter uses LMNT's HTTP streaming endpoint. If you need their WebSocket transport, open an issue.
Outcomes
Use @absolutejs/voice-lmnt through its supported public entry points.
Hardening checklist
Follow in order
Working example for Use.
import { voice } from "@absolutejs/voice";
import { lmnt } from "@absolutejs/voice-lmnt";
const app = voice({
tts: lmnt({
apiKey: process.env.LMNT_API_KEY!,
voice: "lily",
// optional:
model: "aurora", // default; or 'blizzard' / 'mochi'
format: "raw", // default; or 'mulaw' for telephony
sampleRate: 24_000, // default
language: "en", // 'auto' to detect
speed: 1.0,
temperature: 0.6,
topP: 0.95,
conversational: true,
}),
});For telephony at 8 kHz μ-law:
lmnt({ apiKey, voice: "lily", format: "mulaw" });Supported entry points declared by this package manifest.
Package entry point declared in package.json.
Scripts declared by this package manifest.