---
source_path: "api/index.md"
canonical_url: "https://doc.sensory.com/tnl/7.8/api/"
---

# API reference

This section documents the TrulyNatural SDK programming interfaces — the
native [C][] interface and the generated [Java][] and [Python][] bindings.

[Overview](https://doc.sensory.com/tnl/7.8/api/overview.md#api-overview)

- **Start here.** Design goals and a high-level look at how everything fits together.
- New to embedding? See [Your first program](https://doc.sensory.com/tnl/7.8/getting-started/your-first-program.md#your-first-program).

[Inference](https://doc.sensory.com/tnl/7.8/api/inference.md#inference)

- Functions, classes, and methods for evaluating models.

[I/O](https://doc.sensory.com/tnl/7.8/api/io.md#input-and-output)

- Streamed input and output adapters. [Inference](https://doc.sensory.com/tnl/7.8/api/inference.md#inference) uses these for all binary and text input and output.

[Constants](https://doc.sensory.com/tnl/7.8/api/constants.md#constants)

- TrulyNatural SDK metadata available during the compile or build phase, for example the SDK [VERSION](https://doc.sensory.com/tnl/7.8/api/constants.md#version).

[Setting keys](https://doc.sensory.com/tnl/7.8/api/setting-keys/index.md#setting-keys)

- Settings are strings used as keys in [Session](https://doc.sensory.com/tnl/7.8/api/inference.md#session) [inference](https://doc.sensory.com/tnl/7.8/api/inference.md#inference) object function or method calls. This section provides an exhaustive list of all supported keys.

[Library configuration](https://doc.sensory.com/tnl/7.8/api/library-config.md#library-configuration)

- Describes functions and settings that control overall TrulyNatural SDK library behavior.
- These are most useful on small platforms with limited memory, and relevant to the native C API only. Library configuration is not available in other language bindings.

[Memory management](https://doc.sensory.com/tnl/7.8/api/heap.md#memory-management)

- Describes heap memory management used by the TrulyNatural SDK C language
  binding. The Java and Python bindings manage native handles from their
  language runtimes.

[Integrate with your build](https://doc.sensory.com/tnl/7.8/api/build-system.md#integrate-with-your-build)

- Describes how to add the TrulyNatural SDK to your own application's
build system.

[Compile-time macros](https://doc.sensory.com/tnl/7.8/api/compile-macros.md#compile-time-macros)

- Optional C/C++ preprocessor macros for library initialization, linkage,
  and generated model code placement.

[C examples](https://doc.sensory.com/tnl/7.8/api/sample/c/index.md#c-examples)

- Sample code that uses the C API.

[Java examples](https://doc.sensory.com/tnl/7.8/api/sample/java/index.md#java-examples)

- Sample code that uses the Desktop Java API.

[Python examples](https://doc.sensory.com/tnl/7.8/api/sample/python/index.md#python-examples)

- Sample code that uses the Python binding and the SDK wheel with [uv][].

[Android examples](https://doc.sensory.com/tnl/7.8/api/sample/android/index.md#android-examples)

- Sample code that uses Java on Android. Callable from [Kotlin][];
  see [API overview § Kotlin on Android](https://doc.sensory.com/tnl/7.8/api/overview.md#kotlin-on-android).

[iOS examples](https://doc.sensory.com/tnl/7.8/api/sample/ios/index.md#ios-examples)

- Sample code that uses [Swift][] with a bridging header to the C API.

<!-- Reference definitions from includes/links.md -->
[C]: https://en.wikipedia.org/wiki/C_(programming_language) "C programming language"
[Java]: https://en.wikipedia.org/wiki/Java_(programming_language) "Java programming language"
[Kotlin]: https://kotlinlang.org/ "Kotlin programming language"
[Python]: https://en.wikipedia.org/wiki/Python_(programming_language) "Python programming language"
[Swift]: https://en.wikipedia.org/wiki/Swift_(programming_language) "Swift programming language"
[uv]: https://docs.astral.sh/uv/ "uv Python package and project manager"

<!-- Abbreviation definitions from includes/abbreviations.md -->
*[API]: Application Programming Interface
*[SDK]: Software Development Kit
*[TNL]: TrulyNatural, Sensory's large-vocabulary speech recognition technology
