Quickstart

Make your first speech and transcription requests with cURL or Python. You will need an API key with Naad access and enough wallet credit for metered requests.

1. Create an API key

Create an account, open Dashboard → API keys, and create a key. It is shown once and looks like sk-setu-…. Export it:

bash
export OOGAM_API_KEY="sk-setu-..."

Check your available credit and current rates in Dashboard → Billing before sending requests. Contact the team if your account needs access or billing help.

2. Say something — Naad TTS v2

Naad TTS v2 is live. Send model: "naad-tts-v2" to choose it. Existing v1 requests remain supported on the same API URL.

bash
curl https://platform.oogam.ai/v1/audio/speech \
  -H "Authorization: Bearer $OOGAM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "naad-tts-v2",
    "input": "नमस्ते! ऊगम में आपका स्वागत है।",
    "voice": "aditi",
    "language": "HIN"
  }' \
  --output namaste.wav

# Play it:
#   macOS:  afplay namaste.wav
#   Linux:  aplay namaste.wav

Choose the language code from the language reference and check voice availability with GET /voices:

bash
curl https://platform.oogam.ai/v1/voices -H "Authorization: Bearer $OOGAM_API_KEY"

3. Hear something — Speech to Text

Feed the file you just generated straight back:

bash
curl https://platform.oogam.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $OOGAM_API_KEY" \
  -F "language=HIN" \
  -F "file=@namaste.wav"

# → नमस्ते! ऊगम में आपका स्वागत है।

Transcription currently returns the transcript directly; asynchronous jobs are temporarily unavailable. Processing time depends on the recording. Check response timing and limits in the STT reference.

4. The same in Python

python
# pip install requests
import requests, os

KEY = os.environ["OOGAM_API_KEY"]
BASE = "https://platform.oogam.ai/v1"

# Speak
audio = requests.post(f"{BASE}/audio/speech",
    headers={"Authorization": f"Bearer {KEY}"},
    json={"model": "naad-tts-v2", "input": "કેમ છો?", "voice": "kabir", "language": "GUJ"})
open("hello.wav", "wb").write(audio.content)

# Listen
text = requests.post(f"{BASE}/audio/transcriptions",
    headers={"Authorization": f"Bearer {KEY}"},
    data={"language": "GUJ"},
    files={"file": open("hello.wav", "rb")})
print(text.text)

5. Go realtime

Live conversation — caller's mic in, agent's voice out, with your own system prompt grounding the agent — runs over one WebSocket at wss://platform.oogam.ai/v1/realtime. The full protocol, with a runnable Node example, is in Realtime Speech to Speech.

Where next