Usamos cookies. Las cookies y el almacenamiento del navegador mantienen tu sesión iniciada y recuerdan tus preferencias. Con tu permiso, también medimos cómo se usa el sitio. Puedes en cualquier momento. Consulta nuestra política de cookies.

Voz (TTS)

Endpoints

Voz (TTS)

Convierte texto en voz con POST /audio/speech, que devuelve bytes de audio sin procesar con el mismo formato que la API de texto a voz de OpenAI.

Pruébalo en el playground

Convierte texto en voz con sonido natural (texto a voz, TTS). El endpoint sigue el formato de POST /audio/speech de OpenAI y devuelve bytes de audio sin procesar, así que client.audio.speech.create(...) funciona sin cambios.

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

Petición

ParámetroTipoObligatorioDescripción
modelstringsíUn id de modelo de voz, p. ej. openai/gpt-4o-mini-tts.
inputstringsíEl texto que se va a leer.
voicestringsíNombre de la voz, p. ej. alloy, nova, verse. Las voces varían según el modelo (consulta la página del modelo).
response_formatstringnomp3 (por defecto), wav, opus, aac, flac, pcm donde se admita.
speednumbernoVelocidad de reproducción, normalmente 0.25–4.0.
instructionsstringnoIndicaciones de estilo para los modelos que las aceptan ("tono calmado y cálido").

Ejemplo

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

Respuesta

El cuerpo es el propio archivo de audio, con el Content-Type correspondiente (p. ej. audio/mpeg). Guárdalo en disco o transmítelo a un reproductor:

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

Los errores se siguen devolviendo como JSON con el formato de error de OpenAI, así que comprueba el código de estado antes de escribir el archivo.

Precios

La voz se factura por carácter de entrada al precio indicado del modelo, mostrado como "$ / 1M caracteres". Un párrafo de 1.000 caracteres en un modelo con precio de $15 / 1M caracteres cuesta $0.015.

Listar modelos de voz

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

Errores

EstadoCódigoCuándo
400model_required / invalid_jsonFalta model o el cuerpo está mal formado.
402insufficient_balanceTu saldo en USD es $0.
403model_not_allowed / plan_requiredLa lista de modelos permitidos de la clave o el plan excluye el modelo.
404model_not_foundId de modelo desconocido o desactivado.
429rate_limitedSe superaron las peticiones por minuto.

Las voces o formatos no admitidos se rechazan en el proveedor y se transmiten tal cual. Consulta Errores.