Quick Start

Get your first voice AI conversation running in under 5 minutes.


Step 1: Register & Login

BASH
# Register a new account
curl -X POST https://ultravoice.us.inc/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "SecurePass123!",
    "first_name": "Dev",
    "last_name": "User"
  }'

Check your email for a 6-digit OTP code, then verify:

BASH
curl -X POST https://ultravoice.us.inc/api/v1/auth/verify-otp \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]", "code": "482916"}'

Now login to get your JWT token:

BASH
curl -X POST https://ultravoice.us.inc/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]", "password": "SecurePass123!"}'

# Response:
# { "data": { "access_token": "eyJhbGci...", "refresh_token": "...", "expires_in": 86400 } }
BASH
export TOKEN="eyJhbGciOiJIUzI1NiIs..."

Step 2: Create an Agent

An Agent is a voice AI assistant with its own personality, providers, and configuration.

BASH
curl -X POST https://ultravoice.us.inc/api/v1/agents/ \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Customer Support Bot",
    "system_prompt": "You are a friendly support agent. Keep responses concise — 1-2 sentences max.",
    "welcome_message": "Hello! How can I help you today?",
    "workspace_id": "YOUR_WORKSPACE_ID",
    "language": "en"
  }'
BASH
export AGENT_ID="a1b2c3d4-..."

Step 3: Configure AI Providers

Each agent needs three providers: LLM (brain), ASR (ears), and TTS (voice).

LLM — OpenAI GPT-4o Mini

BASH
curl -X POST https://ultravoice.us.inc/api/v1/agents/$AGENT_ID/providers \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"provider_type":"llm","provider_name":"openai","api_key":"sk-proj-...","model_name":"gpt-4o-mini"}'

ASR — Deepgram Nova-2

BASH
curl -X POST https://ultravoice.us.inc/api/v1/agents/$AGENT_ID/providers \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"provider_type":"asr","provider_name":"deepgram","api_key":"dg_...","model_name":"nova-2"}'

TTS — ElevenLabs Turbo

BASH
curl -X POST https://ultravoice.us.inc/api/v1/agents/$AGENT_ID/providers \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"provider_type":"tts","provider_name":"elevenlabs","api_key":"sk_...","model_name":"eleven_turbo_v2_5","voice_id":"pFZP5JQG7iQjIQuC4Bku"}'

Step 4: Start a Voice Session

BASH
curl -X POST https://ultravoice.us.inc/api/v1/voice/sessions/start \
  -H "Content-Type: application/json" \
  -d '{"agent_id":"'$AGENT_ID'","user_id":"user-123","welcome_message":"Hello!"}'

# Response:
# { "session_id": "f7e8d9c0-...", "agent_id": "...", "status": "ready" }

Step 5: Connect via WebSocket

Connect to stream audio in real-time:

TEXT
wss://ultravoice.us.inc/api/v1/voice/ws/f7e8d9c0-...
  • Send: Raw PCM Int16 audio at 16kHz mono (binary frames)
  • Receive: WAV-wrapped PCM audio (binary) + JSON events (text)

Using the Dashboard

The easiest way to test is the built-in Voice Test page:

  • Log in to the dashboard
  • Navigate to Voice Test in the sidebar
  • Select your agent from the dropdown
  • Click Start Conversation and speak into your microphone
💡

No code required for testing! The dashboard handles WebSocket connection, audio capture, and playback automatically.