Nous utilisons des cookies. Les cookies et le stockage du navigateur vous gardent connecté et mémorisent vos préférences. Avec votre accord, nous mesurons aussi l’utilisation du site. Vous pouvez à tout moment. Consultez notre politique relative aux cookies.

Voix (synthèse vocale)

Endpoints

Voix (synthèse vocale)

POST /audio/speech : transformez du texte en audio avec les modèles de synthèse vocale (TTS), qui renvoient directement les octets du fichier audio.

Essayer dans le playground

Transformez du texte en parole naturelle (synthèse vocale, TTS). L'endpoint suit la forme du POST /audio/speech d'OpenAI et renvoie les octets audio bruts, donc client.audio.speech.create(...) fonctionne sans modification.

POST https://api14.com/api/v1/audio/speech

Requête

ParamètreTypeObligatoireDescription
modelstringouiUn identifiant de modèle de voix, par ex. openai/gpt-4o-mini-tts.
inputstringouiLe texte à prononcer.
voicestringouiNom de la voix, par ex. alloy, nova, verse. Les voix varient selon le modèle (voir la page du modèle).
response_formatstringnonmp3 (par défaut), wav, opus, aac, flac, pcm quand c'est pris en charge.
speednumbernonVitesse de lecture, généralement 0.25–4.0.
instructionsstringnonConsignes de style pour les modèles qui les acceptent (« ton calme et chaleureux »).

Exemple

import { writeFile } from "node:fs/promises";
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

const audio = await client.audio.speech.create({
  "model": "openai/gpt-4o-mini-tts",
  "input": "Hello from api14! One API for every model.",
  "voice": "alloy",
  "response_format": "mp3"
});
await writeFile("speech.mp3", Buffer.from(await audio.arrayBuffer()));

Réponse

Le corps est le fichier audio lui-même, avec un Content-Type correspondant (par ex. audio/mpeg). Enregistrez-le sur le disque ou diffusez-le vers un lecteur :

curl https://api14.com/api/v1/audio/speech \
  -H "Authorization: Bearer sk-api14-..." \
  -H "Content-Type: application/json" \
  -d '{"model":"openai/gpt-4o-mini-tts","input":"Hello from api14!","voice":"alloy"}' \
  --output hello.mp3

Les erreurs sont toujours renvoyées en JSON au format d'erreur OpenAI : vérifiez donc le code de statut avant d'écrire le fichier.

Tarifs

La voix est facturée par caractère d'entrée au prix indiqué du modèle, affiché en « $ / 1M caractères ». Un paragraphe de 1 000 caractères sur un modèle à 15 $ / 1M caractères coûte 0,015 $.

Lister les modèles de voix

curl "https://api14.com/api/v1/models?category=speech"

Erreurs

StatutCodeQuand
400model_required / invalid_jsonmodel manquant ou corps mal formé.
402insufficient_balanceVotre solde en USD est à 0 $.
403model_not_allowed / plan_requiredLa liste autorisée de la clé ou le forfait exclut le modèle.
404model_not_foundIdentifiant de modèle inconnu ou désactivé.
429rate_limitedRequêtes par minute dépassées.

Les voix ou formats non pris en charge sont rejetés en amont et l'erreur est transmise. Voir Erreurs.