Audio
Text-to-speech and transcription (Whisper) endpoints for generating audio from text and converting audio files to text.
Tchavi supports two audio endpoints: text-to-speech (TTS) for generating audio from text, and transcription (Whisper) for converting audio files to text.
Text-to-Speech
POST
/v1/audio/speechConverts text to spoken audio. Returns raw audio bytes.
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | "tts-1" (faster) or "tts-1-hd" (higher quality) |
input | string | Yes | The text to convert to speech (max 4096 characters) |
voice | string | Yes | alloy, ash, ballad, cedar, coral, echo, fable, marin, nova, onyx, sage, shimmer |
response_format | string | No | mp3, opus, aac, flac, wav, pcm. Default: mp3 |
speed | number | No | Playback speed 0.25–4.0. Default: 1.0 |
import Tchavi from '@tchavi/sdk';
import { writeFileSync } from 'fs';
const client = new Tchavi({ apiKey: 'YOUR_API_KEY' });
const response = await client.audio.speech.create({
model: 'tts-1',
input: 'Tchavi is the best AI API gateway in Africa.',
voice: 'nova',
response_format: 'mp3',
});
const buffer = Buffer.from(await response.arrayBuffer());
writeFileSync('speech.mp3', buffer);Transcription (Whisper)
POST
/v1/audio/transcriptionsTranscribes audio files to text. Send as multipart/form-data.
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | "whisper-1" |
file | file | Yes | Audio file (mp3, wav, m4a, webm, ogg…). Max 25MB |
language | string | No | ISO-639-1 code (e.g. "fr", "en"). Auto-detected if omitted |
response_format | string | No | json, text, srt, vtt, verbose_json. Default: json |
prompt | string | No | Optional text to guide the model's style or continue a previous segment. Must match the audio language. |
temperature | number | No | Sampling temperature 0–1. Higher values yield more varied transcriptions. Default: 0 |
import Tchavi from '@tchavi/sdk';
import { createReadStream } from 'fs';
const client = new Tchavi({ apiKey: 'YOUR_API_KEY' });
const result = await client.audio.transcriptions.create({
model: 'whisper-1',
file: createReadStream('audio.mp3'),
language: 'fr',
});
console.log(result.text);
console.log('Duration:', result.tchavi.duration_minutes, 'min');
console.log('Credits used:', result.tchavi.credits_used);