diff --git a/agents/build/configuration.mdx b/agents/build/configuration.mdx index fdf9166..054b97b 100644 --- a/agents/build/configuration.mdx +++ b/agents/build/configuration.mdx @@ -32,7 +32,7 @@ Choose how the agent opens each conversation: ## Voice -The Voice panel selects the voice your agent speaks with (`voice_id`) and its speaking language (`speaking_language`: `en`, `ja`, `zh`, `ko`, `es`, `fr`, `de`). See [Voice & language](/agents/build/voice-language) for picking a voice and how automatic language detection interacts with this setting. +The Voice panel selects the voice your agent speaks with (`voice_id`) and its speaking language (`speaking_language`: `en`, `ja`, `zh`, `ko`, `es`, `fr`, `de`). See [Voice & language](/agents/build/voice-language) for picking a voice. ## Conversation settings diff --git a/agents/build/system-tools.mdx b/agents/build/system-tools.mdx index dfa99fb..23f3677 100644 --- a/agents/build/system-tools.mdx +++ b/agents/build/system-tools.mdx @@ -1,6 +1,6 @@ --- title: "System Tools" -description: "Built-in agent capabilities — language detection, hang up call, and call transfer — enabled per agent" +description: "Built-in agent capabilities like hanging up the call, enabled per agent" icon: "toggle-on" --- @@ -8,9 +8,7 @@ System tools are capabilities built into the platform. There is nothing to creat | Tool | Key | What it does | |---|---|---| -| Language detection | `language_detection` | Lets the agent detect the language the user is speaking. | | Hang up call | `hang_up_call` | Lets the agent end the call itself. | -| Transfer call | `transfer_call` | Lets the agent hand a live phone call to another number. | Unlike [webhook tools](/agents/build/webhook-tools), system tools are not workspace resources shared across agents. The on/off state is stored per agent — toggling a system tool on one agent never affects another. @@ -18,7 +16,7 @@ Unlike [webhook tools](/agents/build/webhook-tools), system tools are not worksp ## Toggle in the Builder -Open your agent's **Tools** page in the Builder. The **System tools** card holds the **Hang up call** switch. The **Language detection** switch lives on the agent's **Configuration** page, next to **Speaking language** — see [Voice & language](/agents/build/voice-language). Flip a switch to enable or disable that capability for this agent. +Open your agent's **Tools** page in the Builder. The **System tools** card holds the **Hang up call** switch — flip it to enable or disable that capability for this agent. ## Toggle via the API diff --git a/agents/build/tools.mdx b/agents/build/tools.mdx index f890bfa..1a036ec 100644 --- a/agents/build/tools.mdx +++ b/agents/build/tools.mdx @@ -24,7 +24,7 @@ Out of the box, an agent can only talk. Tools let it act: fetch an order status |---|---|---| | [Webhook](/agents/build/webhook-tools) | Fish Audio — we call your HTTP endpoint during the conversation | Order lookups, CRM reads, bookings — anything your backend can answer | | [Client](/agents/build/client-tools) | Your app — the SDK hands the call to code you register | Navigation, UI updates, device actions — anything only the client can do | -| [System](/agents/build/system-tools) | The platform — no code involved | Language detection, hanging up the call | +| [System](/agents/build/system-tools) | The platform — no code involved | Hanging up the call | Webhook and client tools are **custom tools**: you define a name, a description, and arguments, and the agent fills in the argument values when it calls. System tools are ready-made — enable them with a switch on each agent. diff --git a/agents/build/voice-language.mdx b/agents/build/voice-language.mdx index ff8e831..68b1220 100644 --- a/agents/build/voice-language.mdx +++ b/agents/build/voice-language.mdx @@ -65,16 +65,7 @@ curl --request PATCH "https://api.fish.audio/v1/agent/agents/$AGENT_ID/config" \ ## Speaking language -**Speaking language** sets the default language for the agent's conversations — one of `en`, `ja`, `zh`, `ko`, `es`, `fr`, or `de` (`voice.speaking_language` on the wire). Whether it is pinned or just a fallback depends on the **Language detection** [system tool](/agents/build/system-tools): - -| Language detection | Session behavior | -|---|---| -| On | The session runs in automatic language mode — the agent follows the language the caller actually speaks. | -| Off (default) | Every session uses the configured speaking language. | - - - If your agent must always converse in one specific language, leave Language detection off — the session then sticks to `speaking_language` regardless of what it hears. - +**Speaking language** sets the language for the agent's conversations — one of `en`, `ja`, `zh`, `ko`, `es`, `fr`, or `de` (`voice.speaking_language` on the wire). Every session converses in this language. The voice model and the speaking language are independent settings: picking a voice does not change the language, and vice versa. Choose a voice that sounds natural in the language you configure. @@ -89,7 +80,7 @@ Both settings can also be replaced for a single session — send `overrides.voic System prompt, first message, and conversation settings. - Language detection and other built-in capabilities. + Built-in capabilities like hanging up the call. Talk to your draft agent and hear the voice live. diff --git a/agents/deploy/authenticated-sessions.mdx b/agents/deploy/authenticated-sessions.mdx index 458f658..0dfe5d1 100644 --- a/agents/deploy/authenticated-sessions.mdx +++ b/agents/deploy/authenticated-sessions.mdx @@ -141,7 +141,7 @@ Unknown fields — top-level or inside `overrides` — are rejected with `422`. | `first_message_prompt` | string, up to 10,000 characters | Instructions the agent generates its opener from, replacing the configured first-message behavior. `{{placeholders}}` render inside it. Mutually exclusive with `first_message` — sending both is `422`. | | `system_prompt` | string, up to 8,000 characters | Replaces the configured system prompt entirely. `{{placeholders}}` render inside it. | | `voice_id` | string | The voice the agent speaks with — any [voice model id](/agents/build/voice-language#use-any-voice-model) from the Voice Library. Voices bias pronunciation toward their own language, so pair it with `language`. | -| `language` | `en`, `ja`, `zh`, `ko`, `es`, `fr`, `de` | Pins the conversation language, taking precedence over the configured [speaking language](/agents/build/voice-language#speaking-language) and automatic language detection. | +| `language` | `en`, `ja`, `zh`, `ko`, `es`, `fr`, `de` | Pins the conversation language, taking precedence over the configured [speaking language](/agents/build/voice-language#speaking-language). | ```json { diff --git a/api-reference/openapi.json b/api-reference/openapi.json index b75d809..28461b1 100644 --- a/api-reference/openapi.json +++ b/api-reference/openapi.json @@ -671,7 +671,7 @@ }, "post": { "summary": "Create Agent Session", - "description": "Start a conversation session with an agent and receive a join token for the\nsession transport (currently LiveKit WebRTC). Authenticate with an API key to\nstart sessions with any agent in your team; without credentials only agents\npublished as public are reachable, and the request `Origin` must match the\nagent's allowed origins.\n\n`language` (and `overrides.language`) accepts `en`, `ja`, `zh`, `ko`, `es`,\n`fr`, `de`; anything else is 422. Omit it to use the agent's configured\nbehavior (including automatic language detection when enabled).", + "description": "Start a conversation session with an agent and receive a join token for the\nsession transport (currently LiveKit WebRTC). Authenticate with an API key to\nstart sessions with any agent in your team; without credentials only agents\npublished as public are reachable, and the request `Origin` must match the\nagent's allowed origins.\n\n`language` (and `overrides.language`) accepts `en`, `ja`, `zh`, `ko`, `es`,\n`fr`, `de`; anything else is 422. Omit it to use the agent's configured\nspeaking language.", "security": [ { "BearerAuth": [] @@ -11704,18 +11704,6 @@ "PublicSystemToolsPatch": { "additionalProperties": false, "properties": { - "language_detection": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Language Detection" - }, "hang_up_call": { "anyOf": [ { @@ -12058,11 +12046,6 @@ }, "AgentSystemToolsConfig": { "properties": { - "language_detection": { - "default": false, - "title": "Language Detection", - "type": "boolean" - }, "hang_up_call": { "default": false, "title": "Hang Up Call", diff --git a/llms.txt b/llms.txt index e7d2fe0..e0631f9 100644 --- a/llms.txt +++ b/llms.txt @@ -65,7 +65,7 @@ - [Tools Overview](https://docs.fish.audio/agents/build/tools.md): Webhook, client, and system tools for voice agents. - [Webhook Tools](https://docs.fish.audio/agents/build/webhook-tools.md): Let the agent call your HTTP endpoints, with templating and testing. - [Client Tools](https://docs.fish.audio/agents/build/client-tools.md): Tools your app executes in the browser through the SDK. -- [System Tools](https://docs.fish.audio/agents/build/system-tools.md): Built-in language detection and hang-up capabilities. +- [System Tools](https://docs.fish.audio/agents/build/system-tools.md): Built-in capabilities like hanging up the call. - [Dynamic Variables & Overrides](https://docs.fish.audio/agents/build/dynamic-variables.md): Personalize each session with variables and whitelisted overrides. - [Versions & Publishing](https://docs.fish.audio/agents/deploy/versions-publishing.md): Draft, publish, clone, and restore agent configurations. - [Deployment Overview](https://docs.fish.audio/agents/deploy/overview.md): Pick a deployment channel — widget, public agents, authenticated sessions, or a phone number.