L’API de reconnaissance vocale (STT) basée sur les modèles Whisper d’OpenAI peut convertir des fichiers audio en texte. Elle prend en charge divers cas d’usage :
Transcrire des fichiers audio en texte
Traduire de l’audio multilingue en anglais
Prendre en charge plusieurs formats audio en entrée
Proposer plusieurs options de format de sortie
Liste des modèles disponibles :
whisper-large-v3 — Dernier grand modèle Whisper, prend en charge de nombreuses langues. Pour la reconnaissance du chinois, utilisez-le avec des prompts appropriés et une température basse
whisper-1 — Modèle Whisper d’origine, stable et fiable, prend en charge plusieurs langues
distil-whisper-large-v3-en — Modèle distillé, plus rapide mais légèrement moins précis ; recommandé avec une faible température
Recommandations de performance :
Pour l’audio en chinois, utilisez le modèle whisper-large-v3 avec des prompts appropriés et des températures plus faibles (par exemple 0,2) afin de réduire les hallucinations
Pour l’audio anglais ou un traitement plus rapide, utilisez le modèle distil-whisper-large-v3-en
Utilisez l’endpoint /v1/audio/transcriptions via la méthode client.audio.transcriptions.create() pour transcrire l’audio en texte dans la langue d’origine.
Température d’échantillonnage entre 0 et 1. Des valeurs plus élevées rendent la sortie plus aléatoire, des valeurs plus basses la rendent plus déterministe. Valeur par défaut : 0
curl https://aihubmix.com/v1/audio/translations \ -H "Authorization: Bearer $AIHUBMIX_API_KEY" \ -H "Content-Type: multipart/form-data" \ -F file="@/path/to/file/audio.mp3" \ -F model="whisper-large-v3" \ -F prompt="autocorrect, clean up the stammer, and translate to english" \ -F response_format="text" \ -F temperature="0.2"
from openai import OpenAIimport osclient = OpenAI( api_key="sk-***", # Replace with your AiHubMix API key base_url="https://aihubmix.com/v1")# Open audio fileaudio_file = open("path/to/audio.mp3", "rb")# Transcribe audiotranscript = client.audio.transcriptions.create( model="whisper-large-v3", file=audio_file, language="en", # Specify English for better accuracy prompt="Please transcribe accurately with proper punctuation and grammar", response_format="text", temperature=0.2 # Lower randomness to reduce hallucinations)print(transcript)
from openai import OpenAIimport osclient = OpenAI( api_key="sk-***", # Replace with your AiHubMix API key base_url="https://aihubmix.com/v1")# Open audio fileaudio_file = open("path/to/audio.m4a", "rb")# Translate audio to Englishtranslation = client.audio.translations.create( model="whisper-large-v3", file=audio_file, prompt="autocorrect, clean up the stammer, and translate to english", response_format="text", temperature=0.2)print(translation)
from openai import OpenAIimport osclient = OpenAI( api_key="sk-***", # Replace with your AiHubMix API key base_url="https://aihubmix.com/v1")audio_file = open("path/to/audio.wav", "rb")# Get detailed transcription results with timestampstranscript = client.audio.transcriptions.create( model="whisper-large-v3", file=audio_file, response_format="verbose_json", timestamp_granularities=["word"], temperature=0.2)# Output results with word-level timestampsprint(f"Text: {transcript.text}")print(f"Language: {transcript.language}")for word in transcript.words: print(f"'{word.word}' at {word.start}s - {word.end}s")
from openai import OpenAIimport osclient = OpenAI( api_key="sk-***", # Replace with your AiHubMix API key base_url="https://aihubmix.com/v1")audio_file = open("path/to/video_audio.mp4", "rb")# Generate SRT subtitle filesrt_transcript = client.audio.transcriptions.create( model="whisper-large-v3", file=audio_file, response_format="srt", language="en", temperature=0.2)# Save as .srt filewith open("subtitles.srt", "w", encoding="utf-8") as f: f.write(srt_transcript)print("SRT subtitle file generated")
Traitement de l’audio en chinois : utilisez le modèle whisper-large-v3, définissez language="zh", temperature=0.2 et fournissez des prompts chinois appropriés
Traitement de l’audio en anglais : utilisez distil-whisper-large-v3-en pour un traitement plus rapide
Gestion du bruit : utilisez des prompts pour indiquer au modèle d’ignorer le bruit de fond ou de nettoyer les bégaiements
Traitement de l’audio long : l’API segmente automatiquement les longs fichiers audio ; il est recommandé de prétraiter la qualité audio pour de meilleurs résultats
Besoins en horodatage : utilisez le format verbose_json et timestamp_granularities lorsque des horodatages précis sont nécessaires
Création de sous-titres : utilisez directement la sortie au format srt ou vtt sans traitement supplémentaire