Ektos AI est en beta fermée !Rejoignez notre Discord pour devenir un testeur. 

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 :

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();