Developer platform
Developer documentation
Integrate speech recognition, speech synthesis and custom voices into your product with Loli 2.0, Loly 3.5 and the Voice Library. Evom Labs supports REST API, NDJSON and WebSocket, for standalone processing jobs as well as real-time audio streams.
Evom Labs capabilities
Loli 2.0
Speech-to-TextTurns speech into text, from an audio file or a continuous PCM stream. Supports a JSON response, NDJSON progress and a real-time WebSocket.
Loly 3.5
Text-to-SpeechTurns text into speech, either as a finished file or as a PCM16 stream delivered frame by frame.
Voice Library
Custom voicesCreate and manage voices from audio samples you are authorised to use.
Integration methods
REST API
Suited to standalone processing jobs: transcribing a file, generating speech, enrolling a voice and reading usage.
NDJSON
Delivers progress and results chunk by chunk while a long audio file is transcribed.
WebSocket
Suited to applications that send or receive audio continuously, in real time.
- Loli 2.0 receives binary PCM16 from the client.
- Loly 3.5 returns binary PCM16 frame by frame.
Base URL
REST requests use the base URL below. Every path in this documentation is relative to it.
https://studio.evomlabs.comEndpoints
The endpoints below are the public surface listed in the source registry. Each one is documented in full on its product page.
/api/v1/voices/api/v1/voices/{id}/api/v1/tts/generate/api/v1/tts/bytes/api/v1/tts/sse/api/v1/tts/stream-token/ws/tts/stream?token=<stream_token>/api/v1/stt/transcriptions/api/v1/stt/transcriptions?stream=true/api/public/v1/stt/ws?token=<stt_key>/api/public/v1/auth/check/api/v1/keys/api/v1/usageQuickstart
Pick a product, create the credential it requires, then send a first request.
- 1
Create an account
Sign in to Evom Labs to manage credentials, voices and usage.
- 2
Pick a product
Loli 2.0 for Speech-to-Text, Loly 3.5 for Text-to-Speech.
- 3
Create a credential
Issue an STT key, an account key or a voice key, according to the task.
- 4
Send a request
REST for standalone jobs, NDJSON for transcription progress, WebSocket for real-time audio.
curl -X POST https://studio.evomlabs.com/api/v1/tts/generate \
-H "Authorization: Bearer vc_sk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Xin chào, đây là bài test giọng nói.",
"language": "vi",
"format": "wav",
"cfg_value": 2.0,
"dit_steps": 10
}'Important
voice_id.Next: Authentication, Loli 2.0, Loly 3.5
Response format
Endpoints under /api/v1/ wrap their result in an envelope: check ok before reading data.
// success
{ "ok": true, "data": { } }
// failure
{ "ok": false, "error": { "code": "QUOTA_EXCEEDED", "message": "Not enough quota remaining" } }Not one envelope everywhere