Voice Agents quickstart
Get your API key
- Sign up at console.speechify.ai
- Go to API Keys
- Copy your default API key (or create a new one)
Install the SDK
The official Python and TypeScript SDKs auto-generate against the same OpenAPI spec — every method below is type-checked and version-pinned. Both read SPEECHIFY_API_KEY from the environment automatically.
Python
TypeScript
cURL
Create an agent
An agent bundles a prompt, a voice, and a default LLM. Voice IDs come from the regular /v1/voices catalog — anything that works for TTS works for Voice Agents, including your cloned voices.
Python
TypeScript
cURL
Start a conversation
POST /v1/agents/{id}/conversations provisions a realtime voice session, dispatches the agent, and returns a short-lived access token. The caller connects directly to the session with that token — audio never flows through our server.
Python
TypeScript
cURL
The response shape:
Embed it on your site
The fastest way to hear your agent on an actual web page is the drop-in web component:
That’s the whole integration for a public agent. Enable the Public toggle on the agent’s Embed tab in the console, add the site’s origin to the allowlist, and the widget works unauthenticated — your API key stays on the server.
For private agents, mint a session token on your backend and pass it to the widget via session-token + session-url attributes. Full details in Embed.
Test it from the console
The quickest path to hearing the agent without writing any integration at all: open the agent in the console, click Test Call, and talk.
Inspecting conversations
Every turn is streamed to the control plane and persisted with timestamps.
Python
TypeScript
cURL
Next steps
Give the agent access to your backend, the caller’s device, or built-in actions like end_call.
Receive conversation.started, conversation.ended, message.created webhooks.
Use a custom voice with your agents.
Full schemas for /v1/agents, /v1/tools, /v1/conversations.