Managed transcription with speaker diarization.
Upload audio. Get back a timestamped transcript with each speaker labelled. Built on the same on-device pipeline as soniqo-swift and soniqo-android — runs as a hosted API for when you don’t want to ship the model weights yourself.
Diarization, not just ASR
Each utterance comes back attributed to a speaker. Register speaker profiles to get stable identities across meetings.
Multilingual
Parakeet TDT for 25 languages plus Omnilingual ASR coverage for the long tail. Auto-detection or explicit hint.
Pay per audio-second
1¢ / audio-second on the free tier; volume tiers and enterprise SLAs available. No minimums.
API keys + OAuth
Sign in with Google or GitHub, or use long-lived API keys for server-to-server traffic. Argon2-hashed; revocable any time.
At-least-once jobs
Durable queue with explicit ack and idempotency keys. A worker preemption never loses or double-bills a job.
Your data, yours
Transcripts and speaker profiles are tied to your account and exportable via the API. See the Privacy Policy for details on what we collect, why, and how to manage it.
Quick start
After signing in you’ll have a starter balance and one API key. The endpoint is HTTP multipart upload; here’s the smallest possible call:
curl -X POST https://api.soniqo.audio/v1/transcribe \
-H "Authorization: Bearer $SONIQO_API_KEY" \
-F "audio=@meeting.wav"
You get back a job id; poll /v1/transcribe/<id>
until the status is completed and the response
contains the transcript with speaker turns.