Quickstart
This guide takes you from nothing to a Swahili audio file, and back to text, in about five minutes.
1. Get an API key
Request early access at waridi.io/get-started. Once you are in, open Waridi Studio, go to Settings → API keys and create a key. It is shown once, so store it somewhere safe.
Export it as an environment variable. Both SDKs read WARIDI_API_KEY automatically.
export WARIDI_API_KEY="wrd_test_..."
The Free sandbox includes 10 minutes of audio per month, which is plenty for this guide.
2. Install an SDK
pip install waridi
npm install @waridi/sdk
# Nothing to install. cURL ships with macOS, Linux and Windows 10+.
curl --version
3. Generate speech
Send a short line of Swahili to POST /v1/tts. The response body is the audio file.
from waridi import Waridi
client = Waridi() # reads WARIDI_API_KEY
audio = client.tts.create(
model="sauti-standard",
voice="zawadi",
text="Habari! Karibu Waridi. Nikusaidie nini leo?",
language="sw-TZ",
format="mp3",
)
audio.save("karibu.mp3")
import { Waridi } from "@waridi/sdk";
import { writeFile } from "node:fs/promises";
const client = new Waridi(); // reads WARIDI_API_KEY
const audio = await client.tts.create({
model: "sauti-standard",
voice: "zawadi",
text: "Habari! Karibu Waridi. Nikusaidie nini leo?",
language: "sw-TZ",
format: "mp3",
});
await writeFile("karibu.mp3", Buffer.from(await audio.arrayBuffer()));
curl https://api.waridi.io/v1/tts \
-H "Authorization: Bearer $WARIDI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "sauti-standard", "voice": "zawadi", "language": "sw-TZ", "format": "mp3", "text": "Habari! Karibu Waridi. Nikusaidie nini leo?"}' \
--output karibu.mp3
Play karibu.mp3. You should hear: "Hello! Welcome to Waridi. How can I help you today?"
4. Transcribe it back
Now send the same file to POST /v1/stt.
with open("karibu.mp3", "rb") as f:
result = client.stt.transcribe(model="sikia-1", file=f, language="sw-TZ")
print(result.text)
import { createReadStream } from "node:fs";
const result = await client.stt.transcribe({
model: "sikia-1",
file: createReadStream("karibu.mp3"),
language: "sw-TZ",
});
console.log(result.text);
curl https://api.waridi.io/v1/stt \
-H "Authorization: Bearer $WARIDI_API_KEY" \
-F model=sikia-1 \
-F language=sw-TZ \
-F file=@karibu.mp3
Response:
{
"id": "stt_01J9Z3K8Q4",
"model": "sikia-1",
"language": "sw-TZ",
"duration_ms": 2840,
"text": "Habari! Karibu Waridi. Nikusaidie nini leo?"
}
Where to go next
- Tune voices, speed and audio formats in Text-to-speech.
- Get word timestamps and language tags in Speech-to-text.
- Go real time with Streaming.
- Build a phone agent with Voice agents and Telephony.