---
# System prepended metadata

title: Soniox parameters needed from kalimera side

---

# Soniox parameters needed from kalimera side

## Parameters needed from  Kalimera UI Side/config : 

- **api_key**
    - APi key from soniox dashboard.
    - Field type : *string* 
    - It is required field
- **model_id**
   - Soniox model name.(for example. "stt-rt-preview-v2"). [See model list here](https://soniox.com/docs/stt/models)
   - Field type : *string* 
   - It is required field
 - **url**
    - Soniox websocket url (wss://stt-rt.soniox.com/transcribe-websocket).
    - Field type : *string* 
    - It is required field
- **language_hints**
   - List of language codes
   - Field type : *array of strings* 
   - Not required. Default value is empty array([])
 - **context**
   - **Maximum 8,000 tokens (~10,000 characters)**
   - You provide context through the context object that can include up to four sections, each improving accuracy in different ways:
   
 | **Section** | **Type** | **Description** 
|----------------|-----------|---------------
| `general` | array of JSON objects | Structured key-value information (domain, topic, intent, etc.) | 
| `text` | string | Longer free-form background text or related document
| `terms` | array of strings | Domain-specific or uncommon words
| `translation_terms` | array of JSON objects | Custom translations for ambiguous terms


### **Example**

```json
{
  "api_key": "<YOUR_API_KEY>",
  "model": "stt-rt-v3",
  "language_hints": ["en", "es"],
  "context": {
    "general": [
      {"key": "domain", "value": "Healthcare"},
      {"key": "topic", "value": "Patient consultation"},
      {"key": "participants", "value": "Doctor, Patient"}
    ],
    "text": "This is a long background text describing the conversation context, medical notes, and relevant details to assist transcription accuracy.",
    "terms": ["Celebrex", "Zyrtec", "Ibuprofen", "Hypertension"],
    "translation_terms": [
      {"source": "Mr. Smith", "target": "Sr. Smith"},
      {"source": "prescription", "target": "receta"}
    ]
  }
}

```

Apart from this, we also use our own custom retry mechanism (not specific to Soniox), which requires the following parameters to be included from UI: 
- **MaxRetryAttempts**
   -  Maximum number of connection retry attempts
   - Field type : *integer* 
   - Min value : 1, Max value : 5
   - Not required. Default value is 3
-  **InitialRetryDelaySeconds**
   -  Initial delay in seconds before the first retry
   - Field type : *integer* 
   - Min value : 1, Max value : 5
   - Not required. Default value is 1


## Nice to have features for future : 
**Language identification** : 
- When enabled, each token includes a language field alongside the text.

**Speaker diarization** : 
- Speaker diarization answers the question : **Who spoke when?** 
- When enabled, Soniox automatically detects speaker changes and assigns each spoken segment to a speaker label (e.g., Speaker 1, Speaker 2). This lets you structure transcripts into clear, speaker-attributed sections.

**Real-time translation** : 

- When enabled, translates speech to a specified language. Soniox translates mid-sentence—as words are spoken
- It provides two translation modes: translate all speech into a single target language, or enable seamless two-way conversations between languages.
