Reconnaissance vocale : transcription et traduction de l'audio #
Les points de terminaison de l'API pour l'audio offrent deux options de conversion de la parole en texte, les transcriptions et les traductions. Ils peuvent être utilisés pour :
- Transcrire l'audio dans la langue de l'audio.
- Traduire et transcrire l'audio en anglais.
La taille des fichiers audio est actuellement limitée à 25Mo. Les types de fichiers suivants sont pris en charge : flac, mp3, mp4, mpeg, mpga, m4a, wav et webm.
Il y a plusieurs façons d'utiliser les modèles audio :
- Le menu audio interactif depuis notre site web.
- Les points de terminaison correspondants de l'API HTTP: transcriptions & translations en utilisant votre outil préféré, votre langage de programmation, ou avec les libraries clientes pour l'API d'OpenAI.
En utilisant la méthode HTTP POST, les point de terminaison pour les modèles de texte sont :
- Transcriptions:
https://api.ektos.ai/v1/audio/transcriptions
- Translations:
https://api.ektos.ai/v1/audio/translations
Le paramètre diarise
(utilisé pour identifier chaque locuteur dans l'enregistrement audio) n'est pas directement pris en charge par les libraries clientes officielles d'OpenAI. Pour l'utiliser, vous devez ajouter la méthode extra_body
de cette manière :
1transcription = client.audio.transcriptions.create(
2 model="whisper-large-v3-turbo",
3 language="fr",
4 file=audio_file,
5 extra_body={"diarise": True}
6)
Lors de la création de requêtes vers ces points de terminaison, sélectionnez le modèle que vous souhaitez utiliser avec le paramètre model
.
Les modèles disponibles sont listés ici (type : STT
).
Une description détaillée des paramètres disponibles se trouve dans la spécification de référence de l'API:
Vous trouverez ci-dessous des exemples de base utilisant cuRL et les libraries clientes officielles d'OpenAI pour Python et Node.JS.
[transcriptions] cuRL #
1curl --request POST \
2 --url https://api.ektos.ai/v1/audio/transcriptions \
3 --header "Authorization: Bearer $EKTOS_API_KEY" \
4 --header "Content-Type: multipart/form-data" \
5 --form file="@/path/to/file/audio.mp3" \
6 --form model="whisper-large-v3-turbo"
[transcriptions] Python: librairie cliente OpenAI #
1import os
2from openai import OpenAI
3client = OpenAI(
4 base_url="https://api.ektos.ai/v1/",
5 api_key="YOUR_EKTOS_API_KEY_HERE"
6 # api_key=os.environ.get("EKTOS_API_KEY")
7)
8
9audio_file = open("speech.mp3", "rb")
10transcript = client.audio.transcriptions.create(
11 model="whisper-large-v3-turbo",
12 file=audio_file
13)
14print(transcript.text)
[transcriptions] JavaScript: librairie cliente OpenAI Node.JS #
1import fs from "fs";
2import OpenAI from "openai";
3
4const openai = new OpenAI({
5 apiKey: "$EKTOS_API_KEY",
6 baseURL: 'https://api.ektos.ai/v1/',
7});
8
9async function main() {
10 const transcription = await openai.audio.transcriptions.create({
11 file: fs.createReadStream("audio.mp3"),
12 model: "whisper-large-v3-turbo",
13 });
14
15 console.log(transcription.text);
16}
17main();
[translations] cuRL #
1curl --request POST \
2 --url https://api.ektos.ai/v1/audio/translations \
3 --header "Authorization: Bearer $EKTOS_API_KEY" \
4 --header "Content-Type: multipart/form-data" \
5 --form file="@/path/to/file/audio.mp3" \
6 --form model="whisper-large-v3-turbo"
(translations) Python: librairie cliente OpenAI #
1import os
2from openai import OpenAI
3client = OpenAI(
4 base_url="https://api.ektos.ai/v1/",
5 api_key="YOUR_EKTOS_API_KEY_HERE"
6 # api_key=os.environ.get("EKTOS_API_KEY")
7)
8
9audio_file = open("speech.mp3", "rb")
10translation = client.audio.translations.create(
11 model="whisper-large-v3-turbo",
12 file=audio_file
13)
14print(translation.text)
[translations] JavaScript: librairie cliente OpenAI Node.JS #
1import fs from "fs";
2import OpenAI from "openai";
3
4const openai = new OpenAI({
5 apiKey: "$EKTOS_API_KEY",
6 baseURL: 'https://api.ektos.ai/v1/',
7});
8
9async function main() {
10 const transcription = await openai.audio.translations.create({
11 file: fs.createReadStream("audio.mp3"),
12 model: "whisper-large-v3-turbo",
13 });
14
15 console.log(transcription.text);
16}
17main();