Voxvencer

Developers

Voxvencer API

Call our in-house language, speech-to-text and text-to-speech models from your own code with one API key.

Call our in-house language, speech-to-text and text-to-speech models from your own code. Every request is authenticated with your API key and counts toward your plan. Trial accounts share the same limits as the dashboard.

Authentication

Create a key in your dashboard, then send it on every request:

Authorization: Bearer vox_your_key

Keys are shown once. If you lose one, create a new key in the dashboard; the old key stops working immediately.

Language model

POST /api/llm.php with a JSON body. Send a single prompt, or a messages array for multi-turn chat. Roles are system, user and assistant.

curl https://voxvencer.com/api/llm.php \
  -H "Authorization: Bearer vox_your_key" \
  -H "Content-Type: application/json" \
  -d '{"messages": [
        {"role": "system", "content": "You are a receptionist for a dental clinic."},
        {"role": "user", "content": "Can I book a cleaning on Friday?"}
      ]}'
{ "reply": "Of course! We have openings at 9:00 AM and 3:30 PM on Friday…", "remaining": 29 }

Speech to text

POST /api/stt.php as multipart/form-data with the recording in an audio field. Accepts wav, mp3, m4a, ogg and webm.

curl https://voxvencer.com/api/stt.php \
  -H "Authorization: Bearer vox_your_key" \
  -F "audio=@call.mp3"
{ "text": "Hi, I'm calling about my order from last week…", "remaining": 9 }

Text to speech

POST /api/tts.php with a JSON body containing text and an optional voice. The response is the audio file itself; the remaining trial count is in the X-Trial-Remaining header.

curl https://voxvencer.com/api/tts.php \
  -H "Authorization: Bearer vox_your_key" \
  -H "Content-Type: application/json" \
  -d '{"text": "Thanks for calling. How can I help you today?"}' \
  --output greeting.mp3

Trial limits

ModelRequestsSize limit
Language model304,000 characters in, about 400 tokens out
Speech to text105 MB per file
Text to speech10400 characters per request

The trial lasts 3 days. Failed requests are not counted. For production volumes, contact sales.

Errors

Errors return JSON like {"error": "…"} with a message you can show to users.

StatusMeaning
400The request is missing a field or has an invalid value.
401The API key is missing or invalid.
402The trial has ended or this model's trial requests are used up.
413 / 415The audio file is too large or isn't audio.
502 / 503The model is temporarily unavailable. The request was not counted; retry shortly.