La facture d'une transcription vocale semble ne dépendre que de « la durée de l'audio ». En réalité, le coût total additionne souvent bien d'autres facteurs : silences inutiles, fichiers à haut débit, reprises après échec, chevauchements de découpage, soumissions en double, conservation du stockage et relecture humaine après transcription.
Cet article ne donne pas de tarif unitaire fixe, car les prix évoluent et les règles diffèrent selon les modèles et les passerelles. L'essentiel est de comprendre la structure de facturation et les facteurs de coût ; les tarifs exacts figurent sur la page Tarifs des modèles.
Remarque : OpenAI et Whisper sont des marques de leurs détenteurs respectifs ; cet article est purement technique et n'implique aucune affiliation avec OpenAI. Les unités de facturation, les régions disponibles et les limites peuvent changer ; la documentation officielle et la page Tarifs du site font foi. Cet article ne contient aucun prix concret.
1. L'unité de base est la durée audio
Le modèle historique whisper-1 facture à la minute d'audio soumis. Les modèles plus récents de la famille gpt-4o-transcribe facturent les tokens d'entrée et de sortie audio, et la page Tarifs donne généralement une estimation équivalente par minute ; les modalités des nouveaux modèles comme gpt-transcribe évoluent également.
Qu'il s'agisse de minutes ou de tokens, la base de facturation reste « la longueur de l'audio soumis », et non « la durée de parole utile ». Générique de début et de fin, longs silences, pauses de réunion : tout peut entrer dans la facture. Première règle de maîtrise des coûts : couper les passages inutiles avant l'envoi.
2. Comment taille et format influencent la facture
La limite officielle par fichier est de 25 Mo, avec prise en charge de mp3, mp4, mpeg, mpga, m4a, wav et webm. Cette limite influence indirectement le coût :
- Un WAV à haut débit est volumineux ; les longs audios dépassent plus vite la limite et nécessitent davantage de segments.
- Plus le fichier est gros, plus l'upload est lent, et plus le risque de timeout et de reprise augmente.
- Un format incompatible échoue directement, consommant requêtes et temps de diagnostic.
- Le transcodage n'est généralement pas facturé par l'API, mais consomme serveurs et stockage.
Convertir systématiquement en mp3 ou wav 16 kHz mono réduit nettement le volume à qualité acceptable. Vérifiez d'abord que la perte de qualité est acceptable pour votre usage ; pour les dialectes et les termes spécialisés, conservez un débit plus élevé.
3. Les opérations qui gonflent discrètement la facture
| Poste de coût | Dans la facture API | Méthode de maîtrise |
|---|---|---|
| Durée audio | Oui | Supprimer les silences, couper début et fin, ne soumettre que l'utile |
| Reprises après échec | Double facturation possible | Limiter le nombre de reprises, journaliser les résultats |
| Chevauchement des segments | Oui, la partie recouverte est retranscrite | Limiter le chevauchement à 0,5–1 s, dédupliquer à la fusion |
| Transcodage et stockage | Généralement hors facture API | Appliquer des règles de cycle de vie, nettoyer régulièrement |
| Trafic sortant | Selon fournisseur et architecture | Traiter dans la même région, éviter les téléchargements répétés |
| Relecture humaine | Hors facture API | Contrôle par échantillonnage, glossaire, validation par niveau |
Le gaspillage le plus fréquent n'est pas le prix unitaire, mais le travail répété : le même audio soumis trois fois à cause d'un timeout, ou un segment entièrement retranscrit pour obtenir des horodatages.
4. Reprises, timeouts et double facturation
Un timeout réseau ne signifie pas que le serveur n'a rien traité. Si la requête est déjà facturée mais que le client n'a pas reçu le résultat, une reprise génère un second coût. Trois pratiques s'imposent :
- Utiliser un hachage de fichier ou un numéro métier comme clé d'idempotence, et réutiliser les résultats réussis stockés en base.
- Limiter le nombre maximal de reprises, par exemple à trois, avec backoff exponentiel.
- Ne réessayer que les 429, 5xx et timeouts ; réessayer un 400, 401 ou 413 n'a aucun sens.
Pour les traitements par lots, réglez aussi des timeouts de connexion et de lecture raisonnables. Trop court, un long audio normal est déclaré en échec ; trop long, la file d'attente se bloque.
5. Découpage des longs audios et stratégie de concurrence
Un audio de plus de 25 Mo doit être découpé. Plus les segments sont fins, plus le nombre de requêtes augmente ; plus ils sont larges, plus une reprise coûte cher. Procédez dans cet ordre :
- Utiliser
ffprobepour mesurer durée et débit de chaque fichier et estimer le total de minutes. - Transcoder uniformément en 16 kHz mono pour maîtriser le volume de chaque segment.
- Découper de préférence aux silences, sinon à durée fixe de 10 minutes.
- Enregistrer le décalage de chaque segment et rétablir la chronologie à la fusion.
- Limiter la concurrence au quota du compte et ajuster selon la proportion de 429.
- Dédupliquer après fusion et contrôler par échantillonnage les points de coupe.
- Rapprocher les minutes réellement soumises de la facture pour détecter les anomalies.
La concurrence ne modifie pas le prix unitaire à l'usage, mais influence le taux de reprise et la durée totale. Une concurrence maximale provoque de nombreux 429 ; avec les reprises et le backoff, elle coûte souvent plus cher qu'un rythme régulier.
6. Stockage et trafic sortant, souvent oubliés
Les fichiers audio, les transcriptions, les journaux et les sauvegardes génèrent des coûts de stockage, l'audio étant le plus volumineux. Classez par usage :
- Audio brut : conserver une période de traçabilité après transcription, puis supprimer ou archiver à froid.
- Texte transcrit : conserver par projet, chiffrer les contenus sensibles et restreindre l'accès.
- Journaux de requêtes : ne pas stocker l'URL audio complète ni les clés, garder les ID de requête nécessaires.
- Sauvegardes : ne sauvegarder que les résultats, pas l'audio brut en double.
Si l'audio et le service de transcription ne sont pas dans la même région, upload et téléchargement génèrent du trafic sortant. Placer le traitement près du stockage réduit cette dépense.
7. Comment estimer un budget
N'utilisez pas un prix unitaire approximatif multiplié par la durée totale. La formule plus robuste est :
Coût mensuel ≈ minutes audio utiles × prix unitaire × coefficient de reprise + stockage et trafic + relecture humaine
Le coefficient de reprise s'estime à partir des données de supervision : avec 97 % de réussite, prévoyez une marge pour les échecs. Le script ci-dessous ne lit que la durée et un prix unitaire fourni par variable d'environnement, sans intégrer de tarif en dur :
import os, subprocess, json
UNIT_PRICE = float(os.environ["AUDIO_UNIT_PRICE"]) # à récupérer sur la page Tarifs, par minute
files = ["meeting-01.mp3", "meeting-02.mp3"]
total_minutes = 0.0
for path in files:
out = subprocess.check_output([
"ffprobe", "-v", "error", "-show_entries", "format=duration",
"-of", "json", path,
])
total_minutes += float(json.loads(out)["format"]["duration"]) / 60
estimate = total_minutes * UNIT_PRICE * 1.1 # marge pour reprises et chevauchements
print(f"Audio {total_minutes:.1f} minutes, estimation {estimate:.2f}")
Le budget doit aussi inclure stockage, serveurs de transcodage, relecture humaine et maintenance du développement. Comparer uniquement le prix unitaire de l'API sous-estime le coût total de possession.
8. Rapprochement et suivi des prix après mise en production
- Ventiler l'usage par projet ou par clé pour éviter une facture unique mélangeant tous les services.
- Exporter l'usage chaque semaine et le comparer aux minutes audio soumises en interne.
- Pour les écarts au-delà du seuil, rechercher : soumissions en double, reprises anormales, paramètres de découpage erronés.
- Configurer des alertes budgétaires et agir avant d'atteindre le plafond.
- Suivre les mises à jour de modèles et de prix ; avant de changer, comparer qualité et coût sur des échantillons réels.
Les prix changent, les modèles aussi. Placez le prix unitaire en configuration, jamais en dur dans le code ; chaque ajustement ne demande alors qu'une mise à jour de configuration et une nouvelle estimation.
Questions fréquentes
L'API Whisper facture-t-elle à la minute ou au token ?
whisper-1 facture à la minute audio ; la famille gpt-4o-transcribe facture les tokens d'entrée et de sortie audio, avec une estimation équivalente en minutes sur la page Tarifs. La page Tarifs des modèles et la documentation officielle font foi.
Les silences sont-ils facturés ?
La facturation suit généralement la longueur de l'audio soumis, silences compris. Couper les silences avant l'envoi est le moyen le plus direct de maîtriser le coût.
Une reprise après échec est-elle facturée deux fois ?
Si le serveur a traité la requête et que seul le client a expiré, la reprise peut produire un second coût. Réutilisez les résultats réussis via une clé d'idempotence et limitez le nombre de tentatives.
Une concurrence plus élevée réduit-elle la facture ?
Elle ne change pas le prix unitaire et ne réduit pas nécessairement le coût total. Une concurrence excessive déclenche des 429 ; reprises et file d'attente allongent temps et dépenses.
Pourquoi cet article ne donne-t-il pas de prix précis ?
Les tarifs des modèles audio changent fréquemment et les règles varient selon les passerelles. Un chiffre figé devient vite obsolète ; l'estimation à partir de la page Tarifs du site est plus fiable.
Pour aller plus loin
Commencez par créer un compte sur la passerelle ZSQH AI Gateway, faites tourner une transcription sur un audio court, puis mesurez les minutes réelles avant de bâtir un budget. Les modèles et tarifs à jour figurent sur la page Tarifs des modèles.
Articles liés :
