
Deploy voice agents everywhere
Unleashing voices to the world by building the most affordable, most developer-friendly voice agent platform. Create your voice agent in minutes and run it for less than $2 an hour.
Compatible with







Sign up for the beta
This took one developer 25 minutes to deploy. See how we built it.
1from openai import OpenAI
2import json
3import requests
4
5def beta_signup(name, email, company, purpose):
6 url = "https://api.primvoices.com/v1/brandsite/leads"
7 headers = {
8 "Authorization" : f"Bearer {context.variables.get('PRIM_API_KEY')}"
9 }
10
11 payload = {
12 "name": name,
13 "email": email,
14 "company": company or None,
15 "category": "Developer",
16 "message": purpose or None,
17 "waitlist": True
18 }
19
20 response = requests.post(url, headers=headers, json=payload)
21
22 return response.json() if response.status_code == 200 else {"error": response.text}
23
24
25BetaSignup = {
26 "type": "function",
27 "function": {
28 "name": "BetaSignup",
29 "description": "Gathers the user name, email, and purpose to submit Beta requests",
30 "parameters": {
31 "type": "object",
32 "required": ["name","email"],
33 "properties": {
34 "name": {
35 "type": "string",
36 "description": "The full name of the user submitting the beta request."
37 },
38 "email": {
39 "type": "string",
40 "description": "The user's email address for beta program communication."
41 },
42 "company": {
43 "type": "string",
44 "description": "The name of the user's company",
45 "default": "Not provided"
46 },
47 "purpose": {
48 "type": "string",
49 "description": "The user's purpose or goal for joining the beta program. Optional.",
50 "default": "Not provided"
51 }
52 },
53 "additionalProperties": False
54 }
55 }
56}
57
58system_message = """
59## STYLE
60- You are an AI agent named Prim.
61- Format your output text to be read with no cues.
62- Keeps answers in 1-3 sentences.
63- Current time is 5:10pm
64
65## INSTRUCTIONS
661) Welcome the user to the PrimVoices and offer to answer questions or help them sign up for the beta.
67
682) Upon request, collect their first and last name, their email address, and optionally what they would like to build. Once collected, use a function call to submit it and thank the user.
69
70## PRIM VOICES CONTEXT
71
72Welcome to Prim Voices—the most affordable, developer-friendly platform for deploying powerful voice agents everywhere.
73
74With Prim Voices, you can:
75
76- Create and deploy sophisticated voice agents within minutes.
77- Integrate voice agents directly into your apps, websites, or phone systems.
78- Run your agents seamlessly at less than $2 per hour.
79
80Getting started is simple:
81
82- Create an Account: Sign up instantly and access powerful voice capabilities.
83- Set Up Your Agent: Choose from pre-made recipes or build your custom agent using straightforward, intuitive code.
84- Deploy Anywhere: Effortlessly integrate our robust infrastructure into your application or behind a phone number.
85
86Prim Voices is specifically built for developers:
87
88- Code-first Interface: Forget complex UIs—leverage efficient APIs and customizable recipes.
89- Transparent Pricing: Choose from clear, affordable plans:
90
91- -Hobbyist: Free access, 200 credits, community support.
92- -Developer: $20/month, advanced tools, custom voices, extensive credits.
93- -Enterprise: Tailored support, dedicated scalability, guaranteed uptime.
94
95We're committed to powering 10 billion voice agents worldwide by 2030, transforming education, entertainment, companionship, and business interactions.
96
97Request beta access today and start building the future of voice technology with Prim Voices.
98"""
99
100async def handler(event, context):
101 client = OpenAI(api_key=context.variables.get("OPENAI_API_KEY"))
102 messages = []
103 history = context.get_history() or []
104 messages.extend(history[-20:])
105 system = system_message
106 messages.insert(0, { "role": "system", "content": system })
107
108 # Handle incoming text events
109 if isinstance(event, TextEvent):
110 usertext = event.data["text"]
111 messages.append({ "role": "user", "content": usertext })
112 context.add_user_message(usertext)
113
114 if messages:
115 # Call the chat completion with the function_call parameter enabled
116 completion = client.chat.completions.create(
117 model="gpt-4o-mini",
118 messages=messages,
119 tools=[BetaSignup]
120 )
121
122 message = completion.choices[0].message
123
124 # Check if the response contains any function calls
125 if message.tool_calls and message.tool_calls[0].function.arguments:
126 tool_call = message.tool_calls[0]
127 # Parse the JSON arguments into a Python dictionary
128 tool_call_args = json.loads(tool_call.function.arguments)
129 name = tool_call_args.get("name", "")
130 email = tool_call_args.get("email", "")
131 company = tool_call_args.get("company","")
132 purpose = tool_call_args.get("purpose","")
133 #submits to the API
134 beta_signup(name, email, company, purpose)
135
136 #Confirmation and thank you
137 response = "Thank you for submitting. Do you have any other questions I can help with?"
138
139
140 else:
141 response = message.content
142
143 context.add_assistant_message(response)
144 yield TextToSpeechEvent(text=response)
Experience our voice technology in action
Tutorials
See our voice agents in action across different industries and use cases
Pricing
Easy to understand pricing with no hidden costs.
Developer Plan
For developers looking to deploy voice agents for as low as $2/hr
- Simple & Transparent Pricing - Pay only for infrastructure, models, and telephony
- Voice Assistant Recipe Library
- Growing library of 50+ Platform voices offered at $0.035/minute
- Complimentary "Explore" Credits - Full hour of exploration credits
- Discord Community of Builders
Enterprise
For companies looking for scale, security, and support
- Dedicated Account Manager
- Dedicated Infrastructure & SLA Guarantees
- Advanced Custom Analytics & Telemetry
- Forward-deployed engineering team for integration, model fine-tuning, and custom disillation
- Flexible deployment options including on-premise, private cloud, and fully managed cloud
We will power 10 billion voice agents by 2030
Our strategy is to deliver the cheapest, most developer-friendly voice agent infrastructure. We've been critiqued that we should take greater profits, but we view that as short-sighted. Voice agents will transform education, entertainment, companionship, and corporate interactions - leading to over one trillion voice-agent hours in a year by 2030, slightly more than the amount of Youtube watched in a single year. With opportunities this massive, we embrace thin margins.
Developer-Friendly by Design
Who's going to build these billions of voice agents? We predict 99% will be created by developer-AI teams or autonomous AI agents. For these teams, a coding interface—not a complex, node-based UI—is the natural choice.
A code-first interface
Simple, efficient code integration tailored for developers.
Don't sweat scale
Run your voice agent on our servers, and forget about the pains of scaling and latency optimization.
No need to reinvent the wheel
Skip complicated UIs and focus on libraries, packages, and recipes.
Our Promise
Maintain a lean team
Keeping our team intentionally small and efficient.
Build for developers
Infrastructure built explicitly for code-savvy developers.
Drive costs down
Innovate on the cutting edge to drive costs down.
We're on a mission to power 10 billion voice agents — we hope you'll build a few.