## Documentation Index

Fetch the complete documentation index at: [/llms.txt](https://developer.sanas.ai/llms.txt)

Use this file to discover all available pages before exploring further.

| Term | Definition |
| --- | --- |
| API key | A secret credential issued via the Sanas Developer Console, used to authenticate the SDK against the Sanas cloud and resolve the correct server endpoint. |
| Audio Processor (`IAudioProcessor`) | An SDK object representing a single live audio stream to the Sanas cloud. One processor handles one concurrent call or session. |
| BCP-47 | An IETF standard for language tags, e.g. `"en-US"` (English, United States) or `"zh-CN"` (Mandarin, China). Used to specify source and target languages in Language Translation mode. |
| Callback | A function you provide to the SDK that the SDK calls asynchronously from a background thread, for example when the processor state changes or a transcript event arrives. |
| Conversation ID | An optional string that ties an audio stream to a named session for logging or session continuity. Auto-generated as a UUID if not supplied. |
| `IRemoteSDK` | The top-level SDK interface. Created once per process, initialised with an API key, and used to create and destroy audio processors. |
| Jitter buffer | An internal buffer that absorbs network timing variations (jitter) to deliver smooth audio output. Tunable via `JitterParams`. |
| `kInitializing` | Processor state immediately after creation, while the SDK is establishing the connection to the Sanas cloud. |
| `kReady` | Processor state indicating the connection is established and the processor is ready to accept audio via `ProcessSamples`. |
| `kFailed` / `kDisconnected` | Terminal processor states indicating the connection could not be established or was lost. Destroy and recreate the processor to recover. |
| Language Translation (LT) | A processing mode that translates live speech from a source BCP-47 language to a target BCP-47 language, delivering translated audio and dual transcript streams. |
| `ProcessSamples` | The core SDK method for sending audio to the cloud and receiving processed audio in return. It is synchronous — it blocks until the processed frame is available. |
| Processor state | An enum (`ProcessorState`) that tracks the lifecycle of an `IAudioProcessor`: `kUnknown` → `kInitializing` → `kReady`, or `kFailed` / `kDisconnected` on error. |
| `ProcessorStateCallback` | A callback function invoked on a background thread whenever the processor’s state changes. |
| Real-time pacing | The requirement to feed audio frames at approximately the natural playback rate (~1 frame every 20 ms), matching how audio would arrive from a live microphone. |
| Sample rate | The number of audio samples per second. The SDK supports 8 000, 16 000, and 48 000 Hz. |
| Speech Enhancement (SE) | A processing mode that reduces background noise and improves speech clarity using a named Sanas model. |
| Accent Translation (AT) | A processing mode that standardises the speaker’s accent for improved intelligibility using a named Sanas model. |
| `TranscriptCallback` | A callback function invoked on a background thread each time a transcript JSON event is received from the server. |
| Transcript event | A JSON payload delivered to the `TranscriptCallback` containing recognised words (source language) or translated words (target language), split into `complete` (finalised) and `partial` (in-progress) arrays. |
| `UpdateLanguageConfig` | An `IAudioProcessor` method that changes the source/target language pair on a `kReady` processor without interrupting the audio stream. |
| `utterance_idx` | A monotonically increasing integer in the transcript JSON that groups words into discrete utterances.
