Programmable Voice AI for Developers
The only fully programmable platform for building voice agents.
Deploy tonight
An unopinionated and programmable platform for building voice agents. Deploy your agent's logic as lightweight functions and easily integrate any third-party tool—from model providers to RAG pipelines and everything in between. voice_dev handles the infrastructure, while giving you truly unlimited room for customization.
1import os
2from openai import OpenAI
3from voicedev import GenerateAgentResponse, StartCall, ResponseCompleted, VoiceClient, TTS, STT, AgentConfig
4
5# Start calls with your users (you may trigger this function from your front or back end using developer SDKs)
6async def start_call(input: StartCall, client: VoiceClient):
7 # Your authentication logic here:
8 ...
9
10 return await client.start_agent(
11 stt=STT.Deepgram(),
12 tts=TTS.ElevenLabs(),
13 system_prompt="Tell a joke about the moon!",
14 talk_first=True,
15 conversation_history=[],
16 )
17
18# Define how your agent responds
19async def agent_response_handler(input: GenerateAgentResponse):
20 messages = input["messages"]
21 customArguments = input["customArguments"]
22 client = OpenAI(
23 api_key=os.environ.get("OPENAI_API_KEY")
24 )
25
26 # Define proprietary business logic here
27 completion = await client.chat.completions.create(
28 messages=messages,
29 model="gpt-4o",
30 stream=True
31 )
32
33 # Return an OpenAI format response (or any text stream)
34 return completion
35
36# Respond to events
37async def agent_response_completed(input: ResponseCompleted):
38 # Here you might trigger analytics, update your database, or do something else entirely
39 pass
40
41# Configure your agent
42config = AgentConfig(
43 agent_id="my-agent",
44 start_call=start_call,
45 agent_response_handler=agent_response_handler,
46 agent_response_completed=agent_response_completed,
47)
Integrate with any frontend or backend
Easily start calls from your front or backend with SDKs for your favorite languages and frameworks.
1import { useClient, CallStatusIndicator } from 'voicedev-react';
2
3export default function VoiceAgent() {
4 const client = useClient({
5 clientSecret: 'YOUR_CLIENT_SECRET',
6 });
7
8 const triggerCall = async () => {
9 if (client) {
10 try {
11 await client.startCall('my-agent');
12 } catch (error) {
13 console.error("Error starting call:", error);
14 }
15 }
16 };
17
18 return (
19 <div>
20 <button onClick={triggerCall}>Start Call</button>
21 <CallStatusIndicator client={client} />
22 </div>
23 );
24}
Enhance your agent with custom tools
Effortlessly develop and deploy custom tools for your agent with zero-downtime upgrades and seamless handling of ongoing calls. Focus on enhancing your agent's capabilities while voice_dev delivers performance and stability.
1import os
2import requests
3from voicedev import ToolConfig, AgentConfig
4from typing import Dict, Any
5
6# Define the tool function
7def fetch_weather(city: str) -> Dict[str, Any]:
8 api_key = os.getenv('OPENWEATHERMAP_API_KEY')
9 url = "https://api.openweathermap.org/data/2.5/weather"
10 params = {'q': city, 'appid': api_key, 'units': 'metric'}
11 response = requests.get(url, params=params)
12 response.raise_for_status()
13 return response.json()
14
15# Configure the tool
16weather_tool = ToolConfig(
17 tool_id='weather-fetcher',
18 description='Fetches current weather data for a specified city.',
19 function=fetch_weather,
20)
21
22# Configure your agent
23config = AgentConfig(
24 agent_id="my-agent",
25 tools: [weather_tool],
26)
Made for simplicity, built to scale
A robust serverless platform designed for effortless scalability and reliability. Focus on your agent's logic while we handle the heavy lifting.
Simple Deployments, Effortless Scaling
Deploy and update your agent as lightweight, serverless functions — no self-hosted containers required, but still fully programmable with Python or Javascript. Enjoy zero-downtime updates, automatic scaling, and no infrastructure maintenance.
Modular Event Handlers
Track and respond to any event in the voice chat lifecycle — from the start of a call to agent responses, user interruptions, and more.
Voice AI with ultra-low latency
Built on scalable, ultra-low latency real-time communications infrastructure, ensuring crisp, responsive voice interactions worldwide.
Ultra-Low Latency
Achieve lightning-fast responses with ~300ms network average.
Global Coverage
Deliver reliable voice experiences to users in over 200 countries.
Support for the AI providers you use
Build your agent with native support for popular speech-to-text, text-to-speech, and large language model providers including the OpenAI Realtime API. Don't see your provider here? No worries, our fully programmable platform means you can easily integrate any service you need.
OpenAI
Realtime API, LLMs, TTS, STT
ElevenLabs
Text-to-Speech
Cartesia
Text-to-Speech
PlayHT
Text-to-Speech
Azure
LLMs, TTS, STT
Deepgram
Speech-to-Text
Meta
Large Language Models
Anthropic
Large Language Models
A developer experience that just works
We built this platform for developers like us — people who want to focus on building their agent, not dealing with servers. With intuitive SDKs, an unopinionated framework, and reliable infrastructure, creating AI voice agents has never been this easy.
Complete Flexibility
Take full control of your agent's behavior by writing custom logic in your favorite backend language. Integrate any third-party tool — from model providers to vector databases and everything in between.
Lightweight Development Environment
Develop faster with an effective local development environment. Hot reloading ensures instant updates to your agent's code, while event triggers let you test real-time event handling easily.
Everything in your control
All the features you need to manage your voice agent, troubleshoot with detailed logging, and reach a global audience.
Analytics
Gain actionable insights into agent performance and usage.
Logging Visibility
Access detailed logs to debug and optimize every interaction.
Multilingual
Deploy voice agents that speak your users' native language including English, Spanish, German, and dozens more.
Function Calling
Connect your agent to external systems so it can book appointments, fetch data, or anything else.
Simple, transparent pricing
Flexible pricing that scales with your needs. Use your own API keys or let us manage providers like OpenAI or ElevenLabs and bill you at cost.
Pay-as-you-go
5¢ / minute
No flat monthly fees. No surprises. Just straightforward pricing.
- Ultra-low latency infrastructure
- Global coverage
- Programmable agent platform
- End-to-end hosting
- Bring your own API keys
Running at scale? Contact us for tailored enterprise solutions.