Audio

GetRouter expose trois opérations audio compatibles OpenAI :

OpérationEndpoint
TranscriptionPOST /v1/audio/transcriptions
TraductionPOST /v1/audio/translations
Synthèse vocalePOST /v1/audio/speech

Utilisez un modèle compatible avec l’opération audio demandée.

Transcrire un fichier audio

Envoyez le fichier source sous forme de données de formulaire multipart :

curl https://getrouter.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "[email protected]" \
  -F "model=MODEL_ID" \
  -F "response_format=json"

La réponse JSON contient la transcription dans text.

Les champs de transcription facultatifs du schéma d’API comprennent :

  • language — code de langue ISO 639-1
  • prompt — indication de contexte ou de vocabulaire
  • response_formatjson, text, srt, verbose_json ou vtt
  • temperature
  • timestamp_granularitiesword ou segment

La prise en charge des champs facultatifs dépend du modèle sélectionné.

Traduire un fichier audio

curl https://getrouter.ai/v1/audio/translations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "[email protected]" \
  -F "model=MODEL_ID" \
  -F "response_format=json"

La réponse utilise la même structure text de base que la transcription.

Générer de la voix

curl https://getrouter.ai/v1/audio/speech \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_ID",
    "input": "GetRouter connects your application to multiple AI models.",
    "voice": "alloy",
    "response_format": "mp3"
  }' \
  --output speech.mp3

Le schéma de requête de synthèse vocale comprend :

ChampDescription
modelID obligatoire du modèle de synthèse vocale
inputTexte obligatoire à synthétiser
voiceVoix obligatoire prise en charge par le modèle
response_formatmp3, opus, aac, flac, wav ou pcm
speedVitesse de lecture pour les modèles compatibles

Exemple de transcription en Python

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://getrouter.ai/v1",
)

with open("recording.mp3", "rb") as audio_file:
    transcript = client.audio.transcriptions.create(
        model="MODEL_ID",
        file=audio_file,
    )

print(transcript.text)
Tip

Les fichiers audio envoyés et générés peuvent être volumineux. Configurez les délais d’expiration du client de manière appropriée et diffusez les données des fichiers en flux plutôt que de charger des copies inutiles en mémoire.

Facturation et nouvelles tentatives

La facturation de l’audio peut dépendre du modèle, de la taille des données d’entrée, de la durée ou du contenu généré. Consultez la page Tarifs. Avant toute nouvelle tentative, déterminez si le serveur a terminé la requête et si seul le téléchargement du fichier a échoué.

Étapes suivantes