Usiamo i cookie. Cookie e memoria del browser ti mantengono connesso e ricordano le tue preferenze. Con il tuo consenso misuriamo anche come viene usato il sito. Puoi in qualsiasi momento. Consulta la nostra cookie policy.

Sintesi vocale (TTS)

Endpoint

Sintesi vocale (TTS)

Trasforma il testo in audio con POST /audio/speech, che restituisce byte audio grezzi, con voci, formati, velocità, prezzi per carattere ed errori.

Provalo nel playground

Trasforma il testo in un parlato dal suono naturale (text-to-speech, TTS). L'endpoint segue la forma di POST /audio/speech di OpenAI e restituisce byte audio grezzi, quindi client.audio.speech.create(...) funziona senza modifiche.

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

Richiesta

ParametroTipoObbligatorioDescrizione
modelstringsìL'id di un modello vocale, ad es. openai/gpt-4o-mini-tts.
inputstringsìIl testo da pronunciare.
voicestringsìNome della voce, ad es. alloy, nova, verse. Le voci variano per modello (vedi la pagina del modello).
response_formatstringnomp3 (predefinito), wav, opus, aac, flac, pcm dove supportato.
speednumbernoVelocità di riproduzione, in genere 0.25-4.0.
instructionsstringnoIndicazioni di stile per i modelli che le accettano ("tono calmo e caldo").

Esempio

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

Risposta

Il corpo è il file audio stesso, con un Content-Type corrispondente (ad es. audio/mpeg). Salvalo su disco oppure invialo in streaming a un player:

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

Gli errori vengono comunque restituiti come JSON nel formato di errore di OpenAI, quindi controlla il codice di stato prima di scrivere il file.

Prezzi

La sintesi vocale è fatturata per carattere di input al prezzo indicato per il modello, mostrato come "$ / 1M caratteri". Un paragrafo di 1.000 caratteri su un modello a $15 / 1M caratteri costa $0.015.

Elencare i modelli vocali

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

Errori

StatoCodiceQuando
400model_required / invalid_jsonManca model oppure il corpo è malformato.
402insufficient_balanceIl tuo saldo in USD è $0.
403model_not_allowed / plan_requiredLa lista dei modelli consentiti della chiave o il piano escludono il modello.
404model_not_foundId del modello sconosciuto o disattivato.
429rate_limitedSuperato il limite di richieste al minuto.

Le voci o i formati non supportati vengono rifiutati dall'upstream e inoltrati. Vedi Errori.