# ARES (/en/ai/platform/models/asr/ares)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

> Documentation: Conversational AI.
> Documentation version: Preview.
> This document describes only this version. [Version index](/llms/doc-versions-convoai-guides-v2.txt).


Adaptive Recognition Engine for Speech (ARES) provides built-in real-time speech-to-text, offering seamless integration with low latency and reliable performance for conversational AI applications.

## Sample configuration

The following example shows how to configure ARES as the agent's ASR when you create or update an agent. For a complete example, see [Create an agent and start a session](/en/ai/platform/get-started/start-stop-agent#create-an-agent).

ARES is available in managed mode only. Agora provides ARES, and you don't need a provider account or API key. For details, see [Use managed mode](/en/ai/platform/build/managed-mode).

**Python SDK**

```python
from agora_agent import Agent, AresSTT

# client is your configured Agora client
agent = (
    Agent(client=client)
    .with_stt(AresSTT(keywords=["Agora", "Conversational AI", "RTC"]))
    .with_llm(...)  # configure your LLM vendor
    .with_tts(...)  # configure your TTS vendor
)
```

**TypeScript SDK**

```ts
import { Agent, AresSTT } from 'agora-agents';

// client is your configured Agora client
const agent = new Agent({ client })
  .withStt(new AresSTT({ keywords: ['Agora', 'Conversational AI', 'RTC'] }))
  .withLlm(/* configure your LLM vendor */)
  .withTts(/* configure your TTS vendor */);
```

**Go SDK**

```go
// client is your configured Agora client
agent := agentkit.NewAgent(client).
	WithStt(vendors.NewAresSTT(vendors.AresSTTOptions{
		Keywords: []string{"Agora", "Conversational AI", "RTC"},
	})).
	WithLlm( /* configure your LLM vendor */ ).
	WithTts( /* configure your TTS vendor */ )
```

**REST API**

Set `credential.mode` to `managed` in the `asr` block:

```json
"asr": {
  "credential": { "mode": "managed" },
  "vendor": "ares",
  "language": "en-US",
  "params": {
    "keywords": ["Agora", "Conversational AI", "RTC"]
  }
}
```

## Key parameters

The `asr` block takes the following fields. In the SDKs, `AresSTT` sets them from its options, and passes any other ARES parameters from its additional parameters option to `params`.

**asr required**

**`vendor` (string) required**

Set to `ares`.

**`credential` (object) required**

How the agent authenticates with ARES. Set `mode` to `managed`.

**`language` (string) required**

The BCP-47 language tag identifying the primary language used for agent interaction.
See [Supported languages](/en/realtime-media/speech-to-text/reference/supported-languages#real-time-transcription) for the complete list.

**`params` (object) optional**

**`keywords` (array[string]) optional**

Keywords used to improve ASR recognition accuracy for specific terms, such as brand names, product names, or industry jargon. Supports up to 128 keywords. See [Configure ASR keywords](/en/ai/platform/build/shape-the-conversation/asr-keywords) for details.
