Developer Platform
Voice calls as an API primitive
Place, receive and control calls with a few lines of code. Real-time events, media streams and AI built into the same API, so you never glue three vendors together again.
Calls in one request
POST /v1/calls starts a call. The response is a call object you can mutate live: transfer, mute, record, play, gather.
Event-driven control
Webhooks and WebSocket streams for ringing, answer, DTMF, speech and hangup, delivered in order with signatures.
Media streaming
Fork live audio to your servers for custom transcription, analytics or your own AI stack.
Conferences and transfers
Mix legs into conferences, run attended transfers and build whisper coaching with simple verbs.
AI in the call object
Attach an AI agent, transcription or sentiment analysis to any call with one parameter.
Honest sandboxes
Test keys route to simulated carriers with realistic timing, so CI never places a real call.
How it works
- 1
Get an API key
Sign up and create a scoped key. The sandbox works immediately, no approval queue.
- 2
Make your first call
One curl command rings your phone. The quickstart takes five minutes.
- 3
Subscribe to events
Add a webhook endpoint and drive your call logic from real-time state changes.
call.ts
import { GTalk2VoIP } from "@gtalk2voip/sdk";
const client = new GTalk2VoIP(process.env.API_KEY);
const call = await client.calls.create({
to: "+14155550134",
from: "+14155550100",
record: true,
transcribe: true,
});
client.on("call.answered", async (event) => {
await call.play("welcome.mp3");
});See Voice API on your own traffic
The 14-day trial includes this product in full. Set it up yourself or bring your questions to an engineer.