Endpunkte
Sprache (TTS)
POST /audio/speech wandelt Text in Sprache um und liefert rohe Audio-Bytes, kompatibel mit client.audio.speech.create des OpenAI-SDK.
Im Playground testenWandeln Sie Text in natürlich klingende Sprache um (Text-to-Speech, TTS). Der Endpunkt folgt der Form von POST /audio/speech von OpenAI und liefert rohe Audio-Bytes, daher funktioniert client.audio.speech.create(...) unverändert.
POST https://api14.com/api/v1/audio/speech
Anfrage
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
model | string | ja | Eine Sprachmodell-ID, z. B. openai/gpt-4o-mini-tts. |
input | string | ja | Der zu sprechende Text. |
voice | string | ja | Name der Stimme, z. B. alloy, nova, verse. Die Stimmen variieren je Modell (siehe Modellseite). |
response_format | string | nein | mp3 (Standard), wav, opus, aac, flac, pcm, wo unterstützt. |
speed | number | nein | Wiedergabegeschwindigkeit, typischerweise 0.25 bis 4.0. |
instructions | string | nein | Stilvorgaben für Modelle, die sie akzeptieren ("ruhiger, warmer Ton"). |
Beispiel
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()));
Antwort
Der Body ist die Audiodatei selbst, mit passendem Content-Type (z. B. audio/mpeg). Speichern Sie sie auf der Festplatte oder streamen Sie sie an einen 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
Fehler werden weiterhin als JSON im OpenAI-Fehlerformat zurückgegeben. Prüfen Sie daher den Statuscode, bevor Sie die Datei schreiben.
Preise
Sprache wird pro Eingabezeichen zum gelisteten Preis des Modells abgerechnet, angezeigt als "$ / 1M Zeichen". Ein Absatz mit 1.000 Zeichen kostet bei einem Modell zu 15 $ / 1M Zeichen 0,015 $.
Sprachmodelle auflisten
curl "https://api14.com/api/v1/models?category=speech"
Fehler
| Status | Code | Wann |
|---|---|---|
| 400 | model_required / invalid_json | model fehlt oder der Body ist fehlerhaft. |
| 402 | insufficient_balance | Ihr USD-Guthaben beträgt 0 $. |
| 403 | model_not_allowed / plan_required | Allowlist des Schlüssels oder Plan schließt das Modell aus. |
| 404 | model_not_found | Unbekannte oder deaktivierte Modell-ID. |
| 429 | rate_limited | Anfragen pro Minute überschritten. |
Nicht unterstützte Stimmen oder Formate werden vom Upstream abgelehnt und durchgereicht. Siehe Fehler.