Guides

Voix IA en français et en swahili par API, sans carte bancaire

TchaviPar Gael — fondateur de Tchavi

· 10 min de lecture

Retour au blog

Sommaire

Pour une voix qui dit du français à l'oral, commence par voxtral-tts-3 : 3,799 crédits pour une phrase de 131 caractères, soit environ 1,3 F. Monte à eleven-flash-v2.5 (11,502 crédits, environ 3,8 F) quand tu veux une voix plus soignée pour pas cher, et à eleven-v3 (23,004 crédits, environ 7,7 F) seulement quand la voix compte plus que trois secondes d'attente. Tu trouveras le détail de ce calcul plus bas, avec les sept modèles passés sur la même phrase, un aller-retour en swahili, et le code pour les deux endpoints.

Treize modèles audio sont arrivés sur Tchavi fin octobre, sans un mot sur le blog jusqu'ici : la gamme ElevenLabs au complet (neuf voix, plus scribe-v2 et scribe-v2-medical pour la transcription), et deux voix MiniMax Speech. L'article sur tts-1 et gpt-4o-mini-tts annonçait déjà que les voix d'OpenAI s'arrêtent le 6 janvier 2027, mais ne disait pas qu'ElevenLabs existait sur Tchavi. Cet article comble le trou.

En bref

  • Même appel, POST /v1/audio/speech : seuls le model et la voice changent d'un fournisseur à l'autre. POST /v1/audio/transcriptions fait le chemin inverse, en multipart/form-data.
  • Sept modèles testés sur la même phrase française de 131 caractères, un essai chacun, le 6 novembre 2026 : de 3,799 crédits (voxtral-tts-3) à 28,754 crédits (minimax-speech-2.8-hd). Les sept ont répondu 200 du premier coup, au tarif public exact.
  • Le modèle le plus cher du lot a perdu contre son propre petit frère : à l'oreille, minimax-speech-2.8-turbo (17,253 crédits) bat minimax-speech-2.8-hd (28,754 crédits), qui coûte 67 % plus cher.
  • Un aller-retour en swahili : eleven-v3 a dit une phrase swahilie, scribe-v2 l'a retranscrite avec une seule erreur sur 122 caractères, une frontière de mot sur un nom propre. Les chiffres et l'heure sont passés intacts. Ça prouve que les mots sont intelligibles, pas que l'accent est juste : aucun locuteur natif n'a encore écouté.
  • scribe-v2 facture à la seconde d'audio, pas à la minute entamée comme Whisper : un clip de 8,88 secondes a coûté 1,208 crédit, pas une minute pleine.

Les sept voix, le même appel

POST /v1/audio/speech prend un model, un input et une voice. Voici l'appel avec voxtral-tts-3, le moins cher du lot :

curl -X POST https://tchavi.com/api/v1/audio/speech \
  -H "Authorization: Bearer $TCHAVI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "voxtral-tts-3",
    "voice": "fr_marie_neutral",
    "input": "Bonjour Awa, ta commande est partie de Cotonou. Le livreur arrive entre quinze heures et dix-sept heures. Merci pour ta confiance !"
  }' \
  -D - \
  -o reponse.mp3

Pour changer de modèle, tu changes deux champs. En Node, avec eleven-flash-v2.5 et la voix alice :

import { writeFileSync } from 'node:fs';

const res = await fetch('https://tchavi.com/api/v1/audio/speech', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    Authorization: `Bearer ${process.env.TCHAVI_API_KEY}`,
  },
  body: JSON.stringify({
    model: 'eleven-flash-v2.5',
    voice: 'alice',
    input: 'Bonjour Awa, ta commande est partie de Cotonou.',
  }),
});

const audio = Buffer.from(await res.arrayBuffer());
console.log(res.headers.get('content-type'), res.headers.get('x-credits-used'), 'crédits');
writeFileSync('reponse.mp3', audio);

Même en-tête x-credits-used à la fin de la réponse, même format de sortie par défaut (mp3), que le modèle vienne d'ElevenLabs, de MiniMax ou de Mistral. C'est le point qui rend le changement de voix sans douleur : la documentation audio décrit le format commun.

Ce que j'ai mesuré : sept modèles, une phrase, un essai chacun

Un essai en staging, le 6 novembre 2026, sur la même phrase française de 131 caractères (« Bonjour Awa, ta commande est partie de Cotonou. Le livreur arrive entre quinze heures et dix-sept heures. Merci pour ta confiance ! »). Ce n'est pas un banc d'essai, c'est un essai chacun, dans les mêmes conditions :

ModèleLatenceCréditsDurée audioEn F
voxtral-tts-32,41 s3,7996,83 s≈ 1,3 F
eleven-turbo-v2.51,12 s11,5026,92 s≈ 3,8 F
eleven-flash-v2.51,82 s11,5027,62 s≈ 3,8 F
eleven-multilingual-v21,25 s23,0047,24 s≈ 7,7 F
eleven-v33,49 s23,0047,28 s≈ 7,7 F
minimax-speech-2.8-turbo4,31 s17,2538,23 s≈ 5,8 F
minimax-speech-2.8-hd3,81 s28,7548,61 s≈ 9,6 F

Les sept ont répondu 200 au premier essai, et le x-credits-used de chaque réponse tombe exactement sur le tarif public du modèle rapporté à 131 caractères : pas de surprise de facturation ici.

voxtral-tts-3, 3,799 crédits

Ce que j'ai entendu : trois surprises, à l'oreille

J'ai écouté les sept clips, sur la même phrase, à l'oreille et une seule fois : ce n'est pas une mesure objective, juste ce que le founder entend. Trois choses valent d'être dites, y compris celle qui fait mal :

  • eleven-flash-v2.5 bat eleven-turbo-v2.5, au même prix exact (11,502 crédits). ElevenLabs marque d'ailleurs eleven-turbo-v2.5 comme déprécié et recommande Flash à sa place : notre oreille est d'accord.
  • eleven-v3 bat eleven-multilingual-v2, toujours au même prix (23,004 crédits), mais répond en 3,49 secondes contre 1,25 seconde. Tu paies la meilleure voix en attente, pas en crédits.
  • minimax-speech-2.8-turbo bat minimax-speech-2.8-hd (17,253 contre 28,754 crédits) : c'est le modèle le plus cher du lot qui perd contre son propre petit frère, moins cher de 40 %. On garde voxtral-tts-3 à 3,799 crédits comme référence basse : il tient face à des modèles de trois à huit fois plus chers.
eleven-flash-v2.5, 11,502 crédits
eleven-v3, 23,004 crédits
minimax-speech-2.8-turbo, 17,253 crédits

L'aller-retour en swahili

C'est la vraie raison d'écrire cet article : eleven-v3 et eleven-v3-conversational annoncent le swahili, le haoussa et le yoruba en plus du français. scribe-v2, le modèle de transcription d'ElevenLabs, annonce le swahili, le haoussa et l'arabe, parmi plus de 90 langues, avec un horodatage mot à mot.

J'ai fait dire à eleven-v3 une phrase swahilie de 122 caractères, puis fait retranscrire l'audio obtenu par scribe-v2 :

Habari Awa, agizo lako limetoka Cotonou. Dereva atafika kati ya saa tisa na saa kumi na moja jioni. Asante kwa imani yako.
ÉtapeModèleLatenceCrédits
Texte → audioeleven-v35,17 s21,423
Audio → textescribe-v22,56 s1,208

scribe-v2 a retranscrit la phrase avec une seule erreur sur les 122 caractères : une frontière de mot ratée sur un nom propre, « Habari Awa » revenu « Habariawa ». Les chiffres, les verbes et toute l'expression de l'heure sont ressortis intacts. Pour comparer, le même aller-retour en français (phrase de départ dite par voxtral-tts-3) a pris 1,46 seconde et 0,94 crédit chez scribe-v2, avec « quinze heures » normalisé en « 15 h ».

eleven-v3 en swahili, 21,423 crédits

Une erreur sur 122 caractères, c'est un texte intelligible. Ce n'est pas une mesure de l'accent : je ne parle pas swahili, et aucun locuteur natif n'a encore écouté ce clip. Si tu construis une app pour un public swahiliphone, hausaphone ou yorubaphone, fais écouter ce clip précis à quelqu'un qui parle la langue avant de le mettre en production. Je ne prétends rien de plus que ce que la transcription prouve : les mots sont là.

Transcrire avec scribe-v2

POST /v1/audio/transcriptions prend le fichier en multipart/form-data, comme Whisper :

curl -X POST https://tchavi.com/api/v1/audio/transcriptions \
  -H "Authorization: Bearer $TCHAVI_API_KEY" \
  -F "model=scribe-v2" \
  -F "file=@reponse.mp3" \
  -F "language=fr"

En Node, avec fetch et un FormData :

import { readFileSync } from 'node:fs';

const form = new FormData();
form.append('model', 'scribe-v2');
form.append('file', new Blob([readFileSync('reponse.mp3')]), 'reponse.mp3');
form.append('language', 'fr');

const res = await fetch('https://tchavi.com/api/v1/audio/transcriptions', {
  method: 'POST',
  headers: { Authorization: `Bearer ${process.env.TCHAVI_API_KEY}` },
  body: form,
});

const data = await res.json();
console.log(data.text, res.headers.get('x-credits-used'), 'crédits');

Deux différences avec Whisper à connaître avant d'appeler : scribe-v2 refuse response_format: "text", "srt" et "vtt" (seuls json et verbose_json passent), et refuse le paramètre prompt. Les deux renvoient un 400, sans frais.

La correction de facturation : à la seconde, pas à la minute

La documentation audio dit que Whisper facture 13 crédits par minute d'audio, arrondie à la minute supérieure. scribe-v2 ne suit pas cette règle : il facture à la seconde réelle d'audio, à 8,049 crédits la minute. Un clip de 8,88 secondes a coûté 1,208 crédit sur nos mesures, pas l'équivalent d'une minute pleine. Si ton code calcule un coût prévisionnel à partir de la durée arrondie à la minute, il surestimera scribe-v2 ; recalcule au prorata de la seconde.

Choisir son modèle

BesoinModèlePourquoi
Démarrer, tester, un bot simplevoxtral-tts-33,799 crédits, tient face à des modèles bien plus chers
Une meilleure voix, sans payer chereleven-flash-v2.511,502 crédits, bat son prédécesseur déprécié au même prix
La voix compte plus que 3 secondes d'attenteeleven-v323,004 crédits, meilleure voix que eleven-multilingual-v2 au même prix, mais 3,49 s de latence
Une langue qu'ElevenLabs ne couvre pasminimax-speech-2.8-turbo17,253 crédits, moins cher et meilleur que son propre modèle HD
Transcrire, sous-titrer, horodater mot à motscribe-v28,049 crédits la minute, facturé à la seconde, 90+ langues

Les tarifs ci-dessus sont les tarifs publics, mesurés le 6 novembre 2026 ; certains modèles bénéficient parfois d'une remise, vérifie le prix affiché sur la page de chacun avant de décider : voxtral-tts-3, eleven-flash-v2.5, eleven-turbo-v2.5, eleven-multilingual-v2, eleven-v3, minimax-speech-2.8-turbo, minimax-speech-2.8-hd et scribe-v2. Le catalogue audio les liste tous côte à côte.

FAQ

Puis-je cloner une voix ?

Pas avec ces modèles. ElevenLabs et MiniMax proposent chacun des voix prédéfinies ; voxtral-tts-3 aussi, avec 66 voix, dont une voix française déclinée en six humeurs (fr_marie_neutral, fr_marie_happy, fr_marie_sad…). Aucun des trois n'ouvre le clonage de voix sur Tchavi.

Pourquoi eleven-v3 répond plus lentement que les autres modèles ElevenLabs ?

C'est ce qu'on a mesuré sur un seul essai (3,49 secondes contre 1,12 à 1,82 seconde pour les autres voix ElevenLabs) : le modèle traite plus de nuances d'interprétation, et ça se paie en attente, pas en crédits puisque le prix est identique à eleven-multilingual-v2. Sur une app qui répond en direct à un client, préfère eleven-flash-v2.5.

Le swahili, le haoussa et le yoruba marchent-ils aussi bien que le français ?

Je n'ai testé qu'un aller-retour en swahili, un essai, avec une erreur de frontière de mot sur un nom propre. Je n'ai pas de mesure pour le haoussa ni le yoruba, et personne qui parle ces langues n'a encore écouté ces clips. Teste avec tes propres phrases, celles de tes utilisateurs, et fais-les écouter par quelqu'un qui parle la langue avant de lancer en production.

scribe-v2 facture-t-il comme Whisper ?

Non. Whisper facture 13 crédits par minute entamée (une minute pleine même pour un clip de 10 secondes). scribe-v2 facture 8,049 crédits la minute, au prorata réel de la seconde d'audio : un clip de 8,88 secondes nous a coûté 1,208 crédit.

Puis-je tester ces modèles avec les crédits offerts à l'inscription ?

Oui, largement, pour la synthèse vocale. Avec les 50 crédits offerts à la vérification de l'e-mail, tu as de quoi faire environ 13 essais de la phrase ci-dessus avec voxtral-tts-3, ou 4 avec eleven-flash-v2.5, ou environ 6 minutes de transcription avec scribe-v2.

crée ton compte et recharge 1 000 F

Cet article fait partie de la série « Construire un SaaS IA depuis l'Afrique francophone ». Tchavi est une passerelle d'API IA compatible OpenAI : une seule clé donne accès à plus de 100 modèles de texte, d'image, d'audio et de vidéo, et tu la paies en mobile money, sans carte bancaire (pays et opérateurs). Plus de guides sur le blog. Pour suivre les prochains : LinkedIn et X.

Partager

Ton premier appel d'API, payé en mobile money

Sans carte bancaire. Recharge à partir de 1 000 F ; ta première recharge ajoute 150 crédits de bonus, et tes crédits n'expirent pas.