> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kugelaudio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> New models, API features, SDK releases and integrations, newest first

What you can do with KugelAudio that you could not do before, newest first. Each
entry links to the page that documents it.

<Update label="2026-10-13" description="Kugel 3.5 is the default model" tags={["Models", "Voices"]}>
  * `kugel-3.5` is the default text-to-speech model when a request sends no
    `model_id`. Send `kugel-3` to stay on the previous model. See [Models](/models).
  * Creating a voice clone or adding reference audio to one now needs the
    speaker's consent: the required `speaker_consent` field in the API and SDKs,
    or a checkbox in the dashboard. See [Speaker consent](/features/voice-cloning#speaker-consent).
</Update>

<Update label="2026-10-09" description="Projects over the API and the MCP server" tags={["API", "Integrations"]}>
  * Platforms that serve several end customers can create one project per
    customer and issue and revoke its API keys over the API. See
    [Projects](/api-reference/endpoints/projects).
  * Connect Claude, Cursor and other MCP clients to your KugelAudio account. See
    [MCP server](/guides/mcp-server).
</Update>

<Update label="2026-10-06" description="API key permissions" tags={["API", "Account"]}>
  * Limit each API key to the resources it needs. See
    [Key permissions](/api-reference/authentication#key-permissions).
</Update>

<Update label="2026-10-04" description="Error alert emails" tags={["Dashboard"]}>
  * Turn on **Error alerts** for a project to get an email when its
    text-to-speech requests fail. See
    [Get an email when requests fail](/api-reference/errors#get-an-email-when-requests-fail).
</Update>

<Update label="2026-10-01" description="Email when credits run out" tags={["Account"]}>
  * Organization owners and admins get one email when the organization's credits
    run out. See [Errors](/api-reference/errors).
</Update>

<Update label="2026-09-30" description="Clarity leaves preview" tags={["Speech enhancement"]}>
  * Speech enhancement with `clarity-1` is no longer a preview.
  * One WebSocket connection can carry several audios, one after another. See
    [Several audios on one connection](/api-reference/endpoints/speech-enhancement#several-audios-on-one-connection).
</Update>

<Update label="2026-09-29" description="Speech enhancement with Clarity 1" tags={["Speech enhancement", "SDKs", "Integrations"]}>
  * `clarity-1` removes background noise from speech, or keeps one speaker's
    voice and removes every other voice and sound, for recordings and for live
    audio. See [Speech enhancement](/features/speech-enhancement).
  * Every organization starts with a free month of Clarity, then switches to
    paid. See [Free month and paid plan](/features/speech-enhancement#free-month-and-paid-plan).
  * Python SDK 2.2.0 and JavaScript SDK 1.2.0 add speech enhancement. See the
    [Python](/sdks/python/speech-enhancement) and
    [JavaScript](/sdks/javascript/speech-enhancement) references.
  * The [LiveKit](/integrations/livekit) and [Pipecat](/integrations/pipecat)
    integrations can remove background noise from incoming audio before your
    agent hears it.
</Update>

<Update label="2026-09-24" description="Two-factor authentication and passkeys" tags={["Account"]}>
  * Protect your account with an authenticator app or a passkey, sign in with a
    passkey, and let your organization require two-factor authentication. See
    [Account security](/guides/account-security).
</Update>

<Update label="2026-09-23" description="Python SDK 2.1.0, JavaScript SDK 1.1.0, Java SDK 3.1.0" tags={["SDKs", "API", "Voices"]}>
  * `GET /v1/voices` takes a `language` filter: `de` returns every German voice,
    `de-AT` only Austrian German. See [Voices](/features/voices).
  * The SDKs send `project_id`, so a project's pronunciation dictionaries apply
    to SDK requests, including the Python LiveKit and Pipecat plugins. See
    [Dictionaries](/features/dictionaries).
  * The SDKs report their own failures to KugelAudio, and you can turn this off. See [SDK diagnostics](/sdks/telemetry).
  * The Python SDK requires Python 3.10 or newer.
</Update>

<Update label="2026-09-15" description="Request logs in the dashboard" tags={["Dashboard"]}>
  * The **Logs** page of each project lists its text-to-speech requests with
    their status, error code, cost and a trace ID to quote to support. See
    [Find a request in your logs](/api-reference/errors#find-a-request-in-your-logs).
</Update>

<Update label="2026-09-14" description="Cognigy through the Azure Speech container, LiveKit temperature" tags={["Integrations"]}>
  * Register KugelAudio in Cognigy under the built-in Microsoft Azure Speech
    Services vendor as an on-premises container. See
    [Cognigy](/integrations/cognigy#alternative-register-kugelaudio-as-an-azure-speech-container).
  * The LiveKit plugins take a `temperature` option. See [LiveKit](/integrations/livekit#3-tune-the-sound).
</Update>

<Update label="2026-08-21" description="Cognigy Voice Gateway" tags={["Integrations"]}>
  * Use KugelAudio voices in Cognigy flows through Voice Gateway, with voice
    style and text normalization settings. See [Cognigy](/integrations/cognigy).
</Update>

<Update label="2026-08-17" description="Detect the watermark offline" tags={["SDKs"]}>
  * The Python SDK's `watermark` extra checks a WAV file for the KugelAudio
    watermark without a network call. See
    [Detecting the watermark](/api-reference/tts/audio-formats#detecting-the-watermark).
</Update>

<Update label="2026-08-10" description="Speed in the LiveKit plugins" tags={["Integrations", "SDKs"]}>
  * The LiveKit plugins take a `speed` option (Python SDK 1.9.0, JavaScript SDK
    0.10.0). See [LiveKit](/integrations/livekit#3-tune-the-sound).
</Update>

<Update label="2026-07-30" description="Spelled codes are grouped" tags={["Speech markup"]}>
  * Codes with digits inside `<spell>` tags are read in groups of four
    characters with a short pause between groups, the way a person reads a
    code aloud. See
    [Spell](/prompting/spell#grouping).
</Update>

<Update label="2026-07-26" description="AI-generated audio marking" tags={["API"]}>
  * All cloud text-to-speech audio carries an in-band watermark and a disclosure
    header that mark it as AI-generated. See
    [AI-generated audio marking](/api-reference/tts/audio-formats#ai-generated-audio-marking).
</Update>

<Update label="2026-07-21" description="Python SDK 1.7.0" tags={["SDKs"]}>
  * Change `cfg_scale`, `speed` or `temperature` between turns of a Python
    streaming session with `update_settings()`. See
    [Python streaming](/sdks/python/streaming).
</Update>

<Update label="2026-07-08" description="LiveKit for TypeScript, JavaScript SDK 0.9.0, Java SDK 2.4.0" tags={["Integrations", "SDKs"]}>
  * The JavaScript SDK includes a LiveKit Agents TTS plugin for TypeScript
    agents. See [LiveKit](/integrations/livekit).
  * Change voice settings between turns of a JavaScript streaming session with
    `updateSettings()`. See [JavaScript streaming](/sdks/javascript/streaming).
  * The Java SDK can choose pronunciation dictionaries per request.
</Update>

<Update label="2026-06-11" description="Per-span speed" tags={["Speech markup"]}>
  * Speed up or slow down part of a text with `<prosody rate>`. See
    [Per-span speed](/prompting/speed#per-span-speed-with-prosody-rate).
</Update>

<Update label="2026-06-10" description="Dictionaries per request, end-of-audio frame" tags={["API", "SDKs"]}>
  * Choose which pronunciation dictionaries a request uses. See
    [Choose dictionaries per request](/features/dictionaries#choose-dictionaries-per-request).
  * Streaming sessions send a final frame after the last audio of a turn, so you
    know the turn's audio is complete (Python SDK 1.6.0, JavaScript SDK 0.8.0).
    See [Turn lifecycle](/streaming/turn-lifecycle).
</Update>

<Update label="2026-06-08" description="Telephony formats and per-session usage" tags={["API", "SDKs"]}>
  * Request G.711 µ-law or A-law audio at 8 kHz for phone calls with
    `output_format`. See [Audio formats](/api-reference/tts/audio-formats#output-formats-output_format).
  * WebSocket sessions report their audio time and cost when they close, so you
    can bill your own customers per conversation. See
    [Per-session usage](/streaming/turn-lifecycle#per-session-usage).
</Update>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.