Endpoints
Spraak (TTS)
POST /audio/speech: zet tekst om in audio met tekst-naar-spraakmodellen, met stemmen, formaten, prijs per teken en foutcodes.
Probeer het in de playgroundZet tekst om in natuurlijk klinkende spraak (tekst-naar-spraak, TTS). Het endpoint volgt de vorm van POST /audio/speech van OpenAI en geeft ruwe audiobytes terug, dus client.audio.speech.create(...) werkt ongewijzigd.
POST https://api14.com/api/v1/audio/speech
Request
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
model | string | ja | Een spraakmodel-id, bijv. openai/gpt-4o-mini-tts. |
input | string | ja | De tekst die uitgesproken moet worden. |
voice | string | ja | Stemnaam, bijv. alloy, nova, verse. Stemmen verschillen per model (zie de modelpagina). |
response_format | string | nee | mp3 (standaard), wav, opus, aac, flac, pcm waar ondersteund. |
speed | number | nee | Afspeelsnelheid, doorgaans 0.25 tot 4.0. |
instructions | string | nee | Stijlaanwijzing voor modellen die dit accepteren ("rustige, warme toon"). |
Voorbeeld
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()));
Response
De body is het audiobestand zelf, met een passende Content-Type (bijv. audio/mpeg). Sla het op schijf op of stream het naar een speler:
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
Fouten komen nog steeds als JSON in het OpenAI-foutformaat terug, controleer dus de statuscode voordat je het bestand schrijft.
Prijzen
Spraak wordt per invoerteken gefactureerd tegen de vermelde prijs van het model, getoond als "$ / 1M tekens". Een alinea van 1.000 tekens op een model van $15 / 1M tekens kost $0,015.
Spraakmodellen weergeven
curl "https://api14.com/api/v1/models?category=speech"
Fouten
| Status | Code | Wanneer |
|---|---|---|
| 400 | model_required / invalid_json | model ontbreekt of de body is ongeldig. |
| 402 | insufficient_balance | Je USD-saldo is $0. |
| 403 | model_not_allowed / plan_required | De allowlist van de key of je abonnement sluit het model uit. |
| 404 | model_not_found | Onbekend of uitgeschakeld model-id. |
| 429 | rate_limited | Requests per minuut overschreden. |
Niet-ondersteunde stemmen of formaten worden upstream geweigerd en doorgegeven. Zie Fouten.