Endpoints
Musique et audio
Générez de la musique et de l'audio parlé avec des modèles de chat à sortie audio via chat completions et le paramètre modalities.
Essayer dans le playgroundLes modèles de musique et à sortie audio (Lyria 3, GPT Audio et d'autres) n'ont pas d'endpoint dédié : vous les appelez via les Chat completions et demandez une sortie audio avec modalities. L'audio généré revient encodé en base64 dans le message de l'assistant.
POST https://api14.com/api/v1/chat/completions
Requête
Tous les paramètres des chat completions s'appliquent. Ceux propres à l'audio :
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
model | string | oui | Un identifiant de modèle audio, par ex. google/lyria-3 ou openai/gpt-audio. |
messages | array | oui | Décrivez la musique ou la voix souhaitée. |
modalities | string[] | oui | ["text", "audio"] pour recevoir de l'audio. |
audio | object | non | Options de sortie pour les modèles de voix : { "voice": "alloy", "format": "wav" }. |
stream | boolean | non | Diffuse des fragments audio en server-sent events quand c'est pris en charge. |
Exemple
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.chat.completions.create({
"model": "google/lyria-3",
"messages": [
{
"role": "user",
"content": "Explain vector databases in two sentences."
}
]
});
console.log(result.choices[0].message.content);
Une requête brute :
{
"model": "google/lyria-3",
"modalities": ["text", "audio"],
"messages": [
{ "role": "user", "content": "A 30-second lo-fi hip hop loop with soft piano and vinyl crackle." }
]
}
Réponse
{
"id": "gen-1791100000-xyz",
"object": "chat.completion",
"model": "google/lyria-3",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Here is your loop.",
"audio": { "id": "audio_01", "data": "UklGRiQAAABXQVZFZm10...", "format": "wav" }
},
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": 24, "completion_tokens": 1500, "total_tokens": 1524, "cost": 0.06 }
}
Décodez choices[0].message.audio.data depuis le base64 et enregistrez-le avec l'extension correspondant à format.
Audio en entrée
Pour envoyer de l'audio à un modèle (par ex. « résume cet enregistrement »), utilisez une partie de contenu input_audio, voir Vision et fichiers. Pour une simple reconnaissance vocale, la Transcription est plus simple et moins chère ; pour la synthèse vocale, utilisez Voix.
Lister les modèles audio
curl "https://api14.com/api/v1/models?category=audio"
Tarifs
Les modèles audio sont facturés à leur prix indiqué (par token audio, par seconde ou par requête, selon le modèle). Le coût exact figure dans usage.cost.
Erreurs
| Statut | Code | Quand |
|---|---|---|
| 402 | insufficient_balance | Votre solde en USD est à 0 $. |
| 403 | plan_required | Votre forfait n'inclut pas les modèles audio. |
| 404 | model_not_found | Identifiant de modèle inconnu ou désactivé. |
Voir Erreurs.