Integration

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.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Soniox.Built from the 25 Soniox tools below, on the connection you add once.

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 Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Soniox

  1. Create your workspace

    Sign up free. Nothing to install.

  2. 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.

  3. 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.

Popular integrations

Browse the whole catalog