Pour les équipes qui appellent l'API Whisper depuis la Chine, le problème vient rarement du modèle, mais du chemin réseau : instabilité transfrontalière, uploads lents, timeouts sur les longs audios, taille maximale par fichier, clé unique partagée entre plusieurs projets difficile à réconcilier. Un relais ou un proxy regroupe ces difficultés dans une couche d'accès.
Mais un relais n'est pas un simple « changement d'adresse ». L'audio est une donnée sensible et la transcription une requête longue. Le choix doit examiner les limites d'upload, les timeouts, les reprises, la facturation et la gestion des clés. Cet article détaille ces points et fournit une liste de vérification et de migration applicable.
Remarque : OpenAI et Whisper sont des marques de leurs détenteurs respectifs ; cet article est purement technique et n'implique aucune affiliation ni relation d'agence avec les éditeurs concernés. Les limites d'interface, les codes d'erreur et les règles de facturation peuvent évoluer ; la documentation officielle et celle du site font foi.
1. Ce que fait réellement un relais
Un relais vocal effectue généralement quatre tâches : transmettre la requête à l'amont, remplacer ou héberger la clé amont, enregistrer l'usage et les journaux, réessayer ou basculer de canal en cas d'échec. Côté métier, on envoie toujours une requête multipart à /v1/audio/transcriptions ; seuls l'URL de base et la clé changent.
Trois formes courantes :
- Proxy inverse auto-hébergé : ne règle que le réseau et la sortie ; la clé et les données restent maîtrisées, mais la stabilité dépend de votre infrastructure.
- Passerelle agrégatrice : unifie plusieurs amonts, avec quotas, journaux, limitation de débit et canal de secours ; adaptée aux équipes multi-projets.
- Revente ou recharge déléguée : un compte tiers émet les requêtes ; prix et conditions varient fortement, il faut examiner données et conformité.
Les responsabilités diffèrent. Avec un proxy auto-hébergé, vous diagnostiquez vous-même ; avec une passerelle, vérifiez le SLA et la notification d'incident ; avec la revente, confirmez que les conditions amont permettent cet usage.
2. Limites d'upload : trois couches à vérifier
L'interface Whisper impose une taille maximale par fichier ; la documentation officielle indique actuellement 25 Mo, sans plafond de durée uniforme. La durée réelle dépend de l'encodage :
- WAV 16 kHz mono 16 bits : environ 1,9 Mo par minute, soit une quinzaine de minutes pour 25 Mo.
- MP3 mono 32 kbit/s : environ 240 Ko par minute, soit plus d'une heure pour 25 Mo.
- Les relais, proxys inverses et plateformes serverless peuvent imposer une limite de corps de requête plus basse.
Pour diagnostiquer un 413 ou un échec d'upload, vérifiez donc simultanément la limite amont, celle de la passerelle et celle du client. Compresser l'audio est souvent plus simple que découper : la transcription n'a pas besoin d'un taux d'échantillonnage élevé ; 16 kHz mono suffit, et MP3 ou Opus réduisent nettement le volume.
3. Découpage, transcription et fusion
L'audio dépassant la limite doit être découpé. Privilégiez les points de silence pour ne pas couper une phrase en deux ; à défaut, un découpage à durée fixe convient, avec un léger chevauchement.
ffmpeg -i input.wav -ar 16000 -ac 1 -c:a libmp3lame -b:a 32k \
-f segment -segment_time 600 -reset_timestamps 1 chunk_%03d.mp3
Le traitement peut suivre un ordre fixe :
- Convertir en 16 kHz mono pour réduire le volume et les écarts de format.
- Découper par tranches de 5 à 10 minutes, de préférence aux silences.
- Appeler l'interface de transcription segment par segment, avec l'indication de langue et un court contexte.
- Fusionner le texte et ajouter le décalage temporel selon l'index du segment.
- Vérifier les doublons ou omissions aux jointures, en alignant sur les chevauchements si nécessaire.
Attention aux horodatages : ajoutez « numéro de segment × durée du segment » à chaque horodatage, sinon tout revient au début après fusion. Avec des horodatages au niveau du mot, gérez aussi les mots coupés entre segments.
4. Timeouts et reprises
La transcription d'un long audio n'est pas instantanée. Timeout de lecture côté client, timeout d'inactivité du proxy inverse, timeout amont de la passerelle : toute couche réglée trop court échouera. Réglez d'abord les timeouts sur le pire cas, puis limitez la concurrence par une file d'attente.
| Panne | Symptôme courant | Traitement |
|---|---|---|
| 429 limitation | Échecs groupés aux heures de pointe | Backoff exponentiel avec jitter, réduire la concurrence |
| 5xx ou erreur de passerelle | Échecs intermittents | Reprises limitées, basculer sur le canal de secours |
| Timeout de lecture | Coupure en cours de long audio | Allonger le timeout, soumettre par segments |
| 413 requête trop volumineuse | Échec dès l'upload | Compresser ou découper, vérifier la limite du proxy |
| 401/403 | Clé invalide ou droits absents | Arrêter les reprises, vérifier clé et quota |
| 400 paramètre invalide | Format, langue ou champ non pris en charge | Corriger la requête, ne pas réessayer à l'aveugle |
Une reprise n'a de sens que pour la limitation, les timeouts et les 5xx. Réessayer une erreur de paramètre 4xx ne fait que consommer du quota. Journalisez l'ID de requête à chaque tentative pour éviter une double facturation du même audio ; pour les lots, utilisez une file et une file de messages morts pour inspection manuelle.
5. Transparence de la facturation
La transcription vocale est souvent facturée à la durée audio, parfois au token. Pour comparer les factures, vérifiez : arrondi à la minute supérieure, durée minimale facturée, facturation des échecs, double facturation des reprises, minimum de consommation.
La méthode est simple : comptez localement les minutes soumises et rapprochez-les des minutes facturées ; prélevez une journée de journaux et vérifiez requête par requête ; étiquetez séparément échecs et reprises. Si l'écart dépasse durablement quelques points, demandez le détail au fournisseur. Les prix et paliers font foi sur la page Tarifs ; les tarifs changent, ne budgétez pas sur une ancienne capture.
6. Clés et risques sur les données
Un relais voit vos audios et vos textes transcrits. Demandez : les requêtes et réponses sont-elles stockées sur disque, combien de temps, utilisées pour l'entraînement, quels sous-traitants, dans quelle région, quel mécanisme de suppression.
Côté ingénierie, faites au minimum : une clé par projet, des plafonds de quota, une rotation régulière, aucune clé dans le frontend, et évitez de journaliser le texte transcrit complet. Pour des enregistrements clients, médicaux ou financiers, privilégiez un service acceptant un accord de traitement des données, ou une transcription auto-hébergée.
7. Comment vérifier un relais
- Tester avec un audio dont le texte est connu et vérifier le taux d'erreur.
- Contrôler les champs retournés : modèle, langue, durée, segments.
- Envoyer un fichier proche de la limite et vérifier l'absence de troncature silencieuse.
- Simuler un long audio et observer timeouts et messages d'échec.
- Provoquer une limitation ou un paramètre invalide, vérifier la transparence des codes et l'absence de facturation abusive.
- Comparer usage et facture plusieurs jours de suite.
Ne testez pas seulement des vidéos courtes. Les longues réunions, les enregistrements téléphoniques et les environnements bruyants concentrent les problèmes.
8. Liste de migration
- Inventorier les interfaces, modèles, formats audio, durées moyennes et pics de concurrence.
- Figer un audio de test et sa transcription corrigée comme base de comparaison.
- Confirmer limites d'upload, timeouts, concurrence et stratégie de reprise du relais.
- Externaliser URL de base, clé et timeouts en configuration, sans codage en dur.
- Compléter découpage, fusion, décalage d'horodatage et file d'échecs.
- Mettre en place rapprochement de facture et alertes d'usage, avec plafond budgétaire.
- Basculer 10 % du trafic, observer taux d'erreur et P95, puis augmenter progressivement.
- Conserver l'ancien canal et un interrupteur de retour arrière avant de le retirer.
Les équipes disposant déjà d'un code compatible OpenAI n'ont souvent qu'à changer la configuration ; commencez par la page d'inscription et validez sur un petit volume.
9. Questions fréquentes
Quelle différence entre un relais API Whisper, un VPN et un proxy inverse ?
Le VPN ne change que le chemin réseau ; le proxy inverse transmet les requêtes ; la passerelle agrégatrice gère en plus clés, facturation, limitation et reprises. Le bon niveau dépend du problème.
La limite de 25 Mo vient-elle du relais ?
Pas nécessairement. L'interface amont impose sa propre limite, et relais comme proxy peuvent en fixer une plus basse. Vérifiez chaque couche, pas seulement l'erreur du client.
Quelle durée de segment choisir pour un long audio ?
La pratique courante est de 5 à 10 minutes par segment, coupé aux silences. Trop petit, le nombre de requêtes et le coût augmentent ; trop grand, le timeout devient probable. Le test réel tranche.
Les reprises peuvent-elles être facturées deux fois ?
Cela dépend des règles du fournisseur. Une reprise après succès, ou après un timeout alors que l'amont a traité, peut générer une double facturation. Dédupliquez par ID de requête et rapprochez les factures.
Comment savoir si le relais a changé de modèle ?
Examinez le champ modèle, la langue et la structure des segments, et comparez sur un jeu de test fixe. Si le style change soudainement ou si des champs manquent, demandez des explications.
Pour aller plus loin :
