Soniox integration
Soniox is a speech AI platform. Transcribe an uploaded or publicly hosted audio file asynchronously (with speaker diarization, language identification, one-way or two-way translation and custom context), read the transcript with per-token timing and confidence, generate speech from text with a built-in or cloned voice, manage uploaded files, transcriptions and cloned voices, and read the project's usage logs, daily cost summary and concurrency. Use is billed by audio and text tokens; files and transcriptions are deleted after 30 days, and audio and transcripts can hold personal data. Real-time WebSocket streaming and temporary API keys are not exposed; the organization routes (balance, projects, project API keys) are in the separate Soniox Organization API, which needs an organization key. Authentication is a project API key from the Soniox Console sent as a Bearer token, plus the domain of the project's region (US, EU, Japan or India), which sets both the API host and the Text-to-Speech host.
Say what should happen.
The workflow builds itself.
What you can do with Soniox
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Voice, 5 operations
create_voiceCreate voicePOSTAgents: ask firstCreates a cloned voice from a reference clip of one speaker (up to 2 minutes, 35 MB) and returns it. Processing runs in the background: poll get_voice until its model status is ready. At most 20 voices per organization.delete_voiceDelete voiceDELETEAgents: ask firstPermanently deletes a cloned voice and its embeddings; generate_speech can no longer use it.get_voiceGet voiceGETAgents: ask firstReturns one cloned voice with its status per TTS model (not_computed, processing, ready or failed, with the error). Not cached, so poll it after create_voice or recompute_voice until the model you need is ready.list_voicesList voicesGETAgents: ask firstLists the project's cloned voices with id, name, source file name, creation time and per-model status, up to 1000 per page; pass next_page_cursor as cursor for the next page.recompute_voiceRecompute voicePOSTAgents: ask firstPrepares a cloned voice for a TTS model it is not ready for yet (such as a newly released one) and returns the voice with each model's status. Models already ready or failed are left unchanged; poll get_voice.
File, 4 operations
delete_fileDelete fileDELETEAgents: ask firstPermanently deletes an uploaded file. A transcription that has not started yet and uses it then fails with file_not_found, so delete it only after its transcription is completed or error.get_fileGet fileGETAgents: ask firstReturns one uploaded file's metadata: id, name, size in bytes, upload time and client_reference_id.list_filesList filesGETAgents: ask firstLists the project's uploaded files with id, name, size in bytes and upload time, up to 1000 per page; pass next_page_cursor as cursor for the next page.upload_fileUpload filePOSTAgents: ask firstUploads an audio file (aac, aiff, amr, asf, flac, mp3, ogg, wav, webm, m4a or mp4, up to 300 minutes) and returns its id for create_transcription. A project holds up to 1,000 files and 10 GB; files are deleted after 30 days.
Transcription, 4 operations
create_transcriptionCreate transcriptionPOSTAgents: ask firstStarts an async transcription of a public audio_url or an uploaded file_id and returns it with status queued. Then poll get_transcription until status is completed or error, and read the text with get_transcript. Billed by tokens.delete_transcriptionDelete transcriptionDELETEAgents: ask firstPermanently deletes a transcription and its transcript. A transcription still processing cannot be deleted; an uploaded file it used is kept (delete it with delete_file).get_transcriptionGet transcriptionGETAgents: ask firstReads one transcription: status (queued, processing, completed or error), settings, audio duration and error details. Not cached, so poll it after create_transcription until status is completed or error.list_transcriptionsList transcriptionsGETAgents: ask firstLists the project's transcriptions with status, model, source file or URL, settings and errors, up to 1000 per page; pass next_page_cursor as cursor for the next page.
Concurrency limit, 1 operation
get_concurrency_limitsGet concurrency limitsGETAgents: ask firstReturns the current concurrent transcription and TTS counts and the configured concurrency limits, for the project and for its organization, in the region of the API host.
Concurrent stream history, 1 operation
list_concurrent_streams_historyList concurrent streams historyGETAgents: ask firstReturns the project's concurrent stream counts per period (60, 3600 or 86400 seconds) for stt or tts streams between start_time and end_time, every period present. Region-scoped.
File count, 1 operation
get_file_countGet file countGETAgents: ask firstReturns the number of files in the project: total, uploaded through the API and uploaded in the Console playground.
Shared voice, 1 operation
list_shared_voicesList shared voicesGETAgents: ask firstLists the built-in voices of a TTS model with description, gender, age, accent, use cases and styles, filtered by the given values (all must match). For your cloned voices use list_voices.
Speech, 1 operation
generate_speechGenerate speechPOSTAgents: ask firstGenerates speech audio from up to 5000 characters of text with a built-in or cloned voice and returns the audio file in the chosen format. Output is capped at 2 minutes of audio. Billed by text and audio tokens.
Stt model, 1 operation
list_modelsList modelsGETAgents: ask firstLists the speech-to-text models: id, name, transcription_mode (async or real_time), supported languages, translation targets and pairs, and feature flags. Use an async model id in create_transcription.
Transcript, 1 operation
get_transcriptGet transcriptGETAgents: ask firstReturns the transcript of a completed transcription: the full text and each token's text, start and end time (ms), confidence, speaker and language. Refused while not completed. Holds what was said, personal data included.
Transcription count, 1 operation
get_transcription_countGet transcription countGETAgents: ask firstReturns the number of transcriptions in the project: total, created through the API and created in the Console playground.
Tts model, 1 operation
list_tts_modelsList tts modelsGETAgents: ask firstLists the text-to-speech models with their languages, built-in voices and feature flags (voice cloning, speed range, silence reduction, timestamps). Use an id as model in generate_speech.
Usage log, 1 operation
list_usage_logsList usage logsGETAgents: ask firstLists the project's per-request usage (model, start and end time, input and output tokens, audio duration, cost in USD) for requests that ended between start_time and end_time: at most 31 days apart, start within the last 91 days.
Usage summary, 1 operation
get_usage_summaryGet usage summaryGETAgents: ask firstReturns the project's cost (USD, as decimal strings) and activity (requests, tokens, audio duration) per UTC day between start_time and end_time, per model and in total. The window may cover at most 366 days.
Voice count, 1 operation
get_voice_countGet voice countGETAgents: ask firstReturns the number of cloned voices in the project.
Use Soniox from Claude Code, Cursor or Codex
Connect Soniox in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Soniox operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Soniox
- Create your workspace
Sign up free. Nothing to install.
- Connect Soniox once
Add your Soniox connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Soniox integration FAQ
What can you do with the Soniox integration?
LiveContext exposes 25 operations on Soniox, covering voice, file, transcription and concurrency limit.
