Getting Started
Quickstart
Make your first SAUTI API call in under five minutes.
Prerequisites
You need an API key. Keys are available on request — email hello@finiflowlabs.com with a brief description of your use case.
Step 1 — Synthesise Swahili speech (cURL)
Send a POST request to /v1/text-to-speech/sauti-swahili-v1. The response is JSON containing base64-encoded WAV audio.
bash
curl -X POST https://sauti.finiflowlabs.com/v1/text-to-speech/sauti-swahili-v1 \
-H "xi-api-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "Habari za asubuhi"}'This synthesises Habari za asubuhi (“Good morning” in Kiswahili). The response JSON includes an audio_base64 field — decode it to get the WAV file.
Step 2 — Using the Python SDK
Install the SDK with pip install sauti-tts, then synthesise in two lines:
python
from sauti import SautiTTS
client = SautiTTS(api_key="YOUR_KEY")
client.synthesize_to_file("Habari za asubuhi", "habari.wav")Or use raw requests if you prefer:
python
import requests
import base64
response = requests.post(
"https://sauti.finiflowlabs.com/v1/text-to-speech/sauti-swahili-v1",
headers={"xi-api-key": "YOUR_KEY"},
json={"text": "Habari za asubuhi"},
)
response.raise_for_status()
data = response.json()
audio_bytes = base64.b64decode(data["audio_base64"])
with open("habari.wav", "wb") as f:
f.write(audio_bytes)
print(f"Saved habari.wav ({data['duration_seconds']}s)")Step 3 — Using the TypeScript SDK
Install with npm install @sauti/tts:
typescript
import { SautiTTS } from "@sauti/tts";
const client = new SautiTTS({ apiKey: "YOUR_KEY" });
const response = await client.synthesize("Habari za asubuhi");Step 4 — List available voices
Use GET /v1/voices to see all available voice models.
bash
curl https://sauti.finiflowlabs.com/v1/voices \
-H "xi-api-key: YOUR_KEY"json
{
"voices": [
{
"voice_id": "sauti-swahili-v1",
"name": "Sauti Swahili",
"language_code": "sw",
"locale": "sw-KE",
"gender": "female",
"description": "Natural Swahili voice, fine-tuned on WAXAL swa_tts dataset.",
"status": "active"
}
]
}What's next
- Authentication — key format, security best practices, and error responses.
- TTS API Reference — all request parameters, response schema, and model notes.
- Voices API Reference — browse available voice models and their metadata.
- Async Jobs Reference — handle long-text synthesis with job polling.
- Supported Languages — current and roadmap language coverage.