voice infrastructure / 2026

The clear path to natural voice.

Realtime speech-to-text and text-to-speech for voice agents that need to feel human — without the enterprise tax.

Start building
No credit cardBuilt for production
live channel
agent / support-042
connected
input / rem00:14.28

“I can have that updated for you in just a second.”

output / reverie
reverie-natural ● playing
round trip
214ms p50
free tier
25,000 credits
scroll to inspect
214ms
p50 round trip
99.97%
stream uptime
25K
free credits
$0.02
per 1K overage
30+
languages
two primitives / one loop

The voice stack, unbundled.

Pick the signal you need. Keep your orchestration, prompts, and agent logic. Lucid Weights handles the hard realtime edges.

Rem / listen

Hear the intent.

01 / 02

Streaming transcription tuned for overlap, interruptions, and the messy cadence of real conversations.

streaming transcriptlive
“Let’s move the appointment to Thursday afternoon…”
word-level timestampsturn detectionpartial results
voice lab / rem preview

Hear the signal. See it land.

Four production voices, paired with a synchronized Rem transcript preview. Press play and watch the interim words arrive with the audio.

curated signal / online
01 / featured voices

Find the right register.

4 clips
selected / emily
02 / rem output

Hear it become text.

ready
input / Emily · EN / US
rem transcriptawaiting audio

Press play on a voice to see Rem follow the waveform.

engine
rem-2
turn
ready
mode
interim → final

The transcript is synced to the featured clip so you can see the shape of an interim result before the final lands.

audio in → Rem / listen → transcript outselected voice / emily
one clean connection

From first packet to first word.

A small surface area, observable by default. Drop it into the loop you already have.

the realtime loop
Audio in
WebRTC, SIP, or raw PCM
01
Rem
Streaming speech recognition
02
Your agent
Tools, memory, and intent
03
Reverie
Natural speech out
04
index.ts
const transcript = await rem.listen(stream, {
  model: "rem-2",
  language: "en",
  punctuate: true
});

One SDK, streaming by default. Keep control over the audio path, model choice, and every token of spend.

pricing / one shared pool

Simple credits. Clear runway.

Rem and Reverie draw from one shared monthly pool. Four plans. One credit equals one TTS character or one STT second.

1 credit = 1 TTS character1 credit = 1 STT secondoverage $0.02 / 1K

yearly savings / 4 Sep 2026

Hours per month. Dollars per year.

Drag monthly Rem or Reverie hours from 1 to 1,000. We annualize at Scale unit rates and show what you keep versus ElevenLabs, Cartesia, and Sarvam.

100 hrs / mo
Lucid / year
$51.60
saved vs Sarvam
$329
saved vs ElevenLabs
$416
saved vs Cartesia
$433
Lucid RemScale · yearly$51.60baseline
Sarvam logoSarvamSTT · yearly$380save $329
ElevenLabs logoElevenLabsScribe v2 realtime · yearly$468save $416
Cartesia logoCartesiaInk-2 Scale · yearly$485save $433

Yearly totals = monthly hours × 12 × public list rates as of 4 Sep 2026. Lucid uses Scale unit rates ($0.043 / STT hr, $0.718 / TTS hr). Cartesia uses published Scale allotments. TTS character billing uses 1,000 characters ≈ 1 minute.

Fast by default

Low-latency streaming paths, not batch APIs wearing a realtime costume.

One shared pool

Use credits across Rem and Reverie without splitting budgets by product.

No surprise units

Overage is explicit at $0.02 per 1,000 credits when your pool is empty.

observability / call 042healthy
audio received00:00.000
rem partial00:00.081
agent response00:00.143
reverie first byte00:00.214
conversation health
No dropped frames
production, not a promise

Every millisecond has a receipt.

Voice is a chain of tiny failures. Rem and Reverie give you the timing, the partials, and the controls to see what happened — before your user tells you.

Token-level timing and confidence
Region-aware routing with graceful fallbacks
Usage events you can reconcile to a call
Read the technical notes
questions worth asking

No fog. Just signal.

Still curious? Talk to an engineer, not a form router.

Yes. They are intentionally framework-agnostic primitives. Bring the audio transport and orchestration layer you already trust; use our SDKs or the streaming APIs directly.
developer docs

Your first voice loop is 12 lines away.

Open the docs