Voice agent API vs voice AI SDK
An API runs the conversation for you. An SDK is how your app talks to it. Here is when to use each.
- API runs the conversation on a managed backend
- SDK is a client library (Python, TypeScript)
- Frameworks are a third category: assemble your own stack
Definition
The terms get used interchangeably, but they name different things. A voice agent API is a service that runs the conversation on a managed backend. A voice AI SDK is a client library your application uses to call that service. One is the engine; the other is the steering wheel.
The API
The API is where the work happens. You send an agent configuration and, at call time, audio streams in and out along with structured events. Speech-to-text, the LLM, text-to-speech, and telephony all run behind that endpoint. You do not host or scale any of it.
The SDK
The SDK is a thin, typed wrapper around the API. SpeechifyAI ships Python (speechify-api) and TypeScript (@speechify/api) SDKs that read your API key from the environment and expose methods instead of raw HTTP. If you are in another language, you call the REST API directly and get the same behavior.
The framework option
There is a third category worth naming: orchestration frameworks. With those you assemble your own STT, LLM, and TTS and run the loop yourself. That is maximum control and maximum maintenance. An all-in API does the assembly for you and charges one rate, which is the right trade for most teams shipping to production.
How to choose
Pick the SDK if you are in Python or TypeScript and want less boilerplate. Pick the raw API for other languages or full request control. Pick a framework only if you genuinely need to own every layer. All three, in our case, sit on top of the same managed backend.
Frequently asked questions
What is the difference between a voice agent API and a voice AI SDK?
When should I use the API directly versus the SDK?
How is this different from an orchestration framework?
Start building
An API runs the conversation for you. An SDK is how your app talks to it. Here is when to use each.