Speech-to-text · Diarization · Attribution

The speech API that knows who's talking

Re:WayAI turns real-world conversations into structured, speaker-attributed transcripts. State-of-the-art diarization, real names on every line, one API call away.

$100 free credit No credit card Audio deleted after processing
Accuracy
State of the art

Diarization tuned and continuously evaluated on messy, overlapping, real-world conversations.

Languages
25

European languages through the same pipeline, with the same speaker accuracy.

Audio retained
0 bytes

Source audio is deleted the moment processing completes. Deleted, not archived.

To start
$100

Free credit on every new account. Per-minute billing after that — no subscriptions.

How it works

From raw audio to named speakers

One job, four stages. Each stage returns its results as soon as it finishes — you never wait for the whole pipeline to read the transcript.

01 / INGEST

Upload or stream

Send any common audio or video format — conversion is handled. Or stream 16 kHz PCM over a WebSocket for real time.

02 / TRANSCRIBE

Accurate ASR

Word-level timestamps in 25 European languages, batch or streaming, built for conversational speech.

03 / DIARIZE

Who spoke when

State-of-the-art segmentation by voice — robust to overlap, crosstalk and far-field microphones.

04 / ATTRIBUTE

Real names

Names inferred from conversational context or matched against enrolled voices — with confidence and quoted evidence.

Developers

Three calls to a finished transcript

A boring, predictable REST API — the way infrastructure should be.

  • Incremental results — show the plain transcript while attribution is still running
  • Stage control — run asr alone, add diar, add attribution; pay only for what runs
  • Voice enrollment — a 10-second sample once, recognition by name forever
  • WebSocket streaming — partial results as words are spoken
Get an API key
# 1 — upload
curl -X POST https://rewayai.ai/api/pipeline/upload \
  -H "Authorization: Bearer rw_..." \
  -F "file=@meeting.mp3"
# → {"key": "u42/ab12cd34.mp3", ...}

# 2 — create a job (asr + diarization + attribution)
curl -X POST https://rewayai.ai/api/pipeline/jobs \
  -H "Authorization: Bearer rw_..." \
  -d '{"input_key": "u42/ab12cd34.mp3"}'
# → {"id": 123, "status": "created", ...}

# 3 — poll; stages land incrementally
curl https://rewayai.ai/api/pipeline/jobs/123/stages \
  -H "Authorization: Bearer rw_..."
# → "merged": [{"speaker": "SPEAKER_00",
#      "text": "Welcome everyone..."}],
#    "llm": {"speakers_meta": {"SPEAKER_00":
#      {"name": "Sarah Chen", "confidence": 0.92}}}
import requests

API = "https://rewayai.ai/api/pipeline"
H = {"Authorization": "Bearer rw_..."}

# upload, then create a job
key = requests.post(f"{API}/upload", headers=H,
    files={"file": open("meeting.mp3", "rb")}).json()["key"]
job = requests.post(f"{API}/jobs", headers=H,
    json={"input_key": key}).json()

# poll until done, then read named segments
stages = requests.get(f"{API}/jobs/{job['id']}/stages",
                      headers=H).json()
names = {s: m["name"] for s, m
         in stages["llm"]["speakers_meta"].items()}
for seg in stages["merged"]:
    print(names.get(seg["speaker"]), "—", seg["text"])
import asyncio, json, websockets

async def stream(pcm_chunks):  # 16 kHz mono PCM16
    uri = "wss://rewayai.ai/api/pipeline/stream"
    async with websockets.connect(uri) as ws:
        await ws.send(json.dumps(
            {"token": "rw_...", "language": "en"}))
        async for msg in ws:
            ev = json.loads(msg)
            # {"type": "partial"|"final", "text": ...}
            print(ev["type"], ev.get("text", ""))
Capabilities

Built for the hard part: the speakers

Transcription is table stakes. Getting the speakers right on real-world audio is what we obsess over.

Overlap-robust diarization

Segmentation that holds up on interruptions, crosstalk and far-field recordings — not just clean studio audio.

Context-aware attribution

Speakers get real names inferred from the conversation itself — each with a confidence score and the quoted evidence behind it.

Voice enrollment

Enroll a voice once with a short sample; that person is recognized by name in every future job. Strictly opt-in, per job.

Real-time streaming

Live transcription over a WebSocket with partial results as words are spoken — straight from a microphone or a call.

Transcript Q&A

Ask questions about any finished transcript — answers are grounded strictly in what was said, nothing invented.

25 European languages

English plus 24 more, through the same pipeline — same diarization, same attribution, same accuracy.

Privacy & security

Your audio never outlives the job

Voice recordings are some of the most sensitive data there is. The pipeline is built around that fact — not audited into shape afterwards.

Audio deleted immediately

Source audio is deleted the moment processing completes. We never retain, reuse or train on your recordings — there is nothing left to leak.

ISO 27001, our own DC

Re:WayAI is ISO 27001 certified. Every job runs inside our own certified data center — your audio never leaves it, and no third-party cloud or AI API ever touches it.

Transcripts stay yours

Finished transcripts are stored for you until you delete them — retrieve, export or remove them at any time via the console or the API.

ISO 27001 certified GDPR compliant EU data processing Encrypted in transit No training on your data
Pricing

Extremely competitive, pay per minute

Only pay for audio you process

We run our own hardware in our own data center — no hyperscaler margin baked into every minute. That's exactly why we can undercut the big transcription APIs.

  • Billed per minute of audio — no subscriptions, no minimums
  • Pay only for the stages you run: ASR, diarization, attribution
  • Live per-minute rates in the console, metered usage API included
  • Volume pricing for larger workloads — talk to us
Every new account
$100

free credit — roughly 120 hours of
speaker-attributed transcription

Sign up & see pricing
Get started

Stop shipping transcripts that say “Speaker 1”

Upload your first recording and get a speaker-attributed transcript in minutes.