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

# C API reference

> Complete public C SDK 0.24.0 functions, handles, structures and enums.

C SDK **0.24.0** uses core **0.24.0** and model file format **7**. This reference covers the public `aic.h` surface: 43 functions, seven opaque handle types, two value structs and three enums, including every field and enum member. Signatures follow the [released header](https://github.com/ai-coustics/aic-sdk-c/blob/e3fc0b7841912559c87ee8e43e4d2ba959ef2372/include/aic.h).

For installation and a complete runnable audio example, start with the [C integration guide](/reference/sdk/language-bindings/c). This reference has no automatic model downloader or file-decoding API: download a model separately and decode audio in your application. Internal wrapper-registration exports are not part of the public header contract.

## Browse by task

| Task                                             | Reference                                                          |
| ------------------------------------------------ | ------------------------------------------------------------------ |
| Load a model, inspect its rate or configure OTel | [Models and configuration](/reference/sdk/api/c/models-and-config) |
| Enhance audio and control stream state           | [Processing](/reference/sdk/api/c/processing)                      |
| Detect speech with a dedicated model             | [VAD](/reference/sdk/api/c/vad)                                    |
| Collect audio and compute Tyto scores            | [Analysis](/reference/sdk/api/c/analysis)                          |
| Interpret an error or inspect a struct field     | [Errors and types](/reference/sdk/api/c/errors-and-types)          |

## Alphabetical symbol index

| Public symbol                                | Definition                                                                                    |
| -------------------------------------------- | --------------------------------------------------------------------------------------------- |
| `aic_analyzer_analyze_buffered`              | [Reference](/reference/sdk/api/c/analysis#aic_analyzer_analyze_buffered)                      |
| `aic_analyzer_destroy`                       | [Reference](/reference/sdk/api/c/analysis#aic_analyzer_destroy)                               |
| `aic_analyzer_pair_create`                   | [Reference](/reference/sdk/api/c/analysis#aic_analyzer_pair_create)                           |
| `aic_analyzer_reset`                         | [Reference](/reference/sdk/api/c/analysis#aic_analyzer_reset)                                 |
| `aic_analyzer_terminate_session`             | [Reference](/reference/sdk/api/c/analysis#aic_analyzer_terminate_session)                     |
| `aic_analyzer_update_bearer_token`           | [Reference](/reference/sdk/api/c/analysis#aic_analyzer_update_bearer_token)                   |
| `aic_collector_buffer`                       | [Reference](/reference/sdk/api/c/analysis#aic_collector_buffer)                               |
| `aic_collector_destroy`                      | [Reference](/reference/sdk/api/c/analysis#aic_collector_destroy)                              |
| `aic_collector_initialize`                   | [Reference](/reference/sdk/api/c/analysis#aic_collector_initialize)                           |
| `AIC_ERROR_CODE_AUDIO_CONFIG_MISMATCH`       | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_AUDIO_CONFIG_MISMATCH)       |
| `AIC_ERROR_CODE_AUDIO_CONFIG_UNSUPPORTED`    | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_AUDIO_CONFIG_UNSUPPORTED)    |
| `AIC_ERROR_CODE_FILE_PATH_INVALID`           | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_FILE_PATH_INVALID)           |
| `AIC_ERROR_CODE_FILE_SYSTEM_ERROR`           | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_FILE_SYSTEM_ERROR)           |
| `AIC_ERROR_CODE_INTERNAL_ERROR`              | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_INTERNAL_ERROR)              |
| `AIC_ERROR_CODE_LICENSE_EXPIRED`             | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_LICENSE_EXPIRED)             |
| `AIC_ERROR_CODE_LICENSE_FORMAT_INVALID`      | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_LICENSE_FORMAT_INVALID)      |
| `AIC_ERROR_CODE_LICENSE_VERSION_UNSUPPORTED` | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_LICENSE_VERSION_UNSUPPORTED) |
| `AIC_ERROR_CODE_MODEL_DATA_UNALIGNED`        | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_MODEL_DATA_UNALIGNED)        |
| `AIC_ERROR_CODE_MODEL_INVALID`               | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_MODEL_INVALID)               |
| `AIC_ERROR_CODE_MODEL_TYPE_UNSUPPORTED`      | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_MODEL_TYPE_UNSUPPORTED)      |
| `AIC_ERROR_CODE_MODEL_VERSION_UNSUPPORTED`   | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_MODEL_VERSION_UNSUPPORTED)   |
| `AIC_ERROR_CODE_NOT_INITIALIZED`             | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_NOT_INITIALIZED)             |
| `AIC_ERROR_CODE_NULL_POINTER`                | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_NULL_POINTER)                |
| `AIC_ERROR_CODE_PARAMETER_OUT_OF_RANGE`      | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_PARAMETER_OUT_OF_RANGE)      |
| `AIC_ERROR_CODE_PROCESSING_NOT_ALLOWED`      | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_PROCESSING_NOT_ALLOWED)      |
| `AIC_ERROR_CODE_SUCCESS`                     | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_SUCCESS)                     |
| `AIC_ERROR_CODE_TOKEN_UPDATE_UNSUPPORTED`    | [Reference](/reference/sdk/api/c/errors-and-types#AIC_ERROR_CODE_TOKEN_UPDATE_UNSUPPORTED)    |
| `aic_get_compatible_model_version`           | [Reference](/reference/sdk/api/c/models-and-config#aic_get_compatible_model_version)          |
| `aic_get_sdk_version`                        | [Reference](/reference/sdk/api/c/models-and-config#aic_get_sdk_version)                       |
| `aic_model_create_from_buffer`               | [Reference](/reference/sdk/api/c/models-and-config#aic_model_create_from_buffer)              |
| `aic_model_create_from_file`                 | [Reference](/reference/sdk/api/c/models-and-config#aic_model_create_from_file)                |
| `aic_model_destroy`                          | [Reference](/reference/sdk/api/c/models-and-config#aic_model_destroy)                         |
| `aic_model_get_id`                           | [Reference](/reference/sdk/api/c/models-and-config#aic_model_get_id)                          |
| `aic_model_get_optimal_block_size`           | [Reference](/reference/sdk/api/c/models-and-config#aic_model_get_optimal_block_size)          |
| `aic_model_get_optimal_sample_rate`          | [Reference](/reference/sdk/api/c/models-and-config#aic_model_get_optimal_sample_rate)         |
| `aic_processor_context_create`               | [Reference](/reference/sdk/api/c/processing#aic_processor_context_create)                     |
| `aic_processor_context_destroy`              | [Reference](/reference/sdk/api/c/processing#aic_processor_context_destroy)                    |
| `aic_processor_context_get_audio_delay`      | [Reference](/reference/sdk/api/c/processing#aic_processor_context_get_audio_delay)            |
| `aic_processor_context_get_parameter`        | [Reference](/reference/sdk/api/c/processing#aic_processor_context_get_parameter)              |
| `aic_processor_context_reset`                | [Reference](/reference/sdk/api/c/processing#aic_processor_context_reset)                      |
| `aic_processor_context_set_parameter`        | [Reference](/reference/sdk/api/c/processing#aic_processor_context_set_parameter)              |
| `aic_processor_context_update_bearer_token`  | [Reference](/reference/sdk/api/c/processing#aic_processor_context_update_bearer_token)        |
| `aic_processor_create`                       | [Reference](/reference/sdk/api/c/processing#aic_processor_create)                             |
| `aic_processor_destroy`                      | [Reference](/reference/sdk/api/c/processing#aic_processor_destroy)                            |
| `aic_processor_initialize`                   | [Reference](/reference/sdk/api/c/processing#aic_processor_initialize)                         |
| `AIC_PROCESSOR_PARAMETER_BYPASS`             | [Reference](/reference/sdk/api/c/processing#AIC_PROCESSOR_PARAMETER_BYPASS)                   |
| `AIC_PROCESSOR_PARAMETER_ENHANCEMENT_LEVEL`  | [Reference](/reference/sdk/api/c/processing#AIC_PROCESSOR_PARAMETER_ENHANCEMENT_LEVEL)        |
| `aic_processor_process`                      | [Reference](/reference/sdk/api/c/processing#aic_processor_process)                            |
| `aic_processor_terminate_session`            | [Reference](/reference/sdk/api/c/processing#aic_processor_terminate_session)                  |
| `aic_vad_context_create`                     | [Reference](/reference/sdk/api/c/vad#aic_vad_context_create)                                  |
| `aic_vad_context_destroy`                    | [Reference](/reference/sdk/api/c/vad#aic_vad_context_destroy)                                 |
| `aic_vad_context_get_parameter`              | [Reference](/reference/sdk/api/c/vad#aic_vad_context_get_parameter)                           |
| `aic_vad_context_get_prediction_delay`       | [Reference](/reference/sdk/api/c/vad#aic_vad_context_get_prediction_delay)                    |
| `aic_vad_context_get_raw_vad_probability`    | [Reference](/reference/sdk/api/c/vad#aic_vad_context_get_raw_vad_probability)                 |
| `aic_vad_context_is_speech_detected`         | [Reference](/reference/sdk/api/c/vad#aic_vad_context_is_speech_detected)                      |
| `aic_vad_context_reset`                      | [Reference](/reference/sdk/api/c/vad#aic_vad_context_reset)                                   |
| `aic_vad_context_set_parameter`              | [Reference](/reference/sdk/api/c/vad#aic_vad_context_set_parameter)                           |
| `aic_vad_context_update_bearer_token`        | [Reference](/reference/sdk/api/c/vad#aic_vad_context_update_bearer_token)                     |
| `aic_vad_create`                             | [Reference](/reference/sdk/api/c/vad#aic_vad_create)                                          |
| `aic_vad_destroy`                            | [Reference](/reference/sdk/api/c/vad#aic_vad_destroy)                                         |
| `aic_vad_initialize`                         | [Reference](/reference/sdk/api/c/vad#aic_vad_initialize)                                      |
| `AIC_VAD_PARAMETER_MINIMUM_SPEECH_DURATION`  | [Reference](/reference/sdk/api/c/vad#AIC_VAD_PARAMETER_MINIMUM_SPEECH_DURATION)               |
| `AIC_VAD_PARAMETER_SENSITIVITY`              | [Reference](/reference/sdk/api/c/vad#AIC_VAD_PARAMETER_SENSITIVITY)                           |
| `AIC_VAD_PARAMETER_SPEECH_HOLD_DURATION`     | [Reference](/reference/sdk/api/c/vad#AIC_VAD_PARAMETER_SPEECH_HOLD_DURATION)                  |
| `aic_vad_process`                            | [Reference](/reference/sdk/api/c/vad#aic_vad_process)                                         |
| `aic_vad_terminate_session`                  | [Reference](/reference/sdk/api/c/vad#aic_vad_terminate_session)                               |
| `AicAnalysisResult`                          | [Reference](/reference/sdk/api/c/errors-and-types#AicAnalysisResult)                          |
| `AicAnalysisResult.codec_degradation`        | [Reference](/reference/sdk/api/c/errors-and-types#AicAnalysisResult.codec_degradation)        |
| `AicAnalysisResult.interfering_speech`       | [Reference](/reference/sdk/api/c/errors-and-types#AicAnalysisResult.interfering_speech)       |
| `AicAnalysisResult.noise`                    | [Reference](/reference/sdk/api/c/errors-and-types#AicAnalysisResult.noise)                    |
| `AicAnalysisResult.packet_loss`              | [Reference](/reference/sdk/api/c/errors-and-types#AicAnalysisResult.packet_loss)              |
| `AicAnalysisResult.risk_score`               | [Reference](/reference/sdk/api/c/errors-and-types#AicAnalysisResult.risk_score)               |
| `AicAnalysisResult.speaker_loudness`         | [Reference](/reference/sdk/api/c/errors-and-types#AicAnalysisResult.speaker_loudness)         |
| `AicAnalysisResult.speaker_reverb`           | [Reference](/reference/sdk/api/c/errors-and-types#AicAnalysisResult.speaker_reverb)           |
| `AicAnalyzer`                                | [Reference](/reference/sdk/api/c/errors-and-types#AicAnalyzer)                                |
| `AicCollector`                               | [Reference](/reference/sdk/api/c/errors-and-types#AicCollector)                               |
| `AicErrorCode`                               | [Reference](/reference/sdk/api/c/errors-and-types#AicErrorCode)                               |
| `AicModel`                                   | [Reference](/reference/sdk/api/c/errors-and-types#AicModel)                                   |
| `AicOtelConfig`                              | [Reference](/reference/sdk/api/c/models-and-config#AicOtelConfig)                             |
| `AicOtelConfig.enable`                       | [Reference](/reference/sdk/api/c/models-and-config#AicOtelConfig.enable)                      |
| `AicOtelConfig.export_interval_ms`           | [Reference](/reference/sdk/api/c/models-and-config#AicOtelConfig.export_interval_ms)          |
| `AicOtelConfig.session_id`                   | [Reference](/reference/sdk/api/c/models-and-config#AicOtelConfig.session_id)                  |
| `AicProcessor`                               | [Reference](/reference/sdk/api/c/errors-and-types#AicProcessor)                               |
| `AicProcessorContext`                        | [Reference](/reference/sdk/api/c/errors-and-types#AicProcessorContext)                        |
| `AicProcessorParameter`                      | [Reference](/reference/sdk/api/c/processing#AicProcessorParameter)                            |
| `AicVad`                                     | [Reference](/reference/sdk/api/c/errors-and-types#AicVad)                                     |
| `AicVadContext`                              | [Reference](/reference/sdk/api/c/errors-and-types#AicVadContext)                              |
| `AicVadParameter`                            | [Reference](/reference/sdk/api/c/vad#AicVadParameter)                                         |

## Update this reference

Compare API changes against the released header and implementation, preserving correct text and anchors. Check [compatibility](/reference/sdk/compatibility-matrix) before changing package or model versions.
