Usamos cookies. Cookies e o armazenamento do navegador mantêm você conectado e lembram suas preferências. Com sua permissão, também medimos como o site é usado. Você pode a qualquer momento. Veja nossa política de cookies.

Texto para fala

Endpoints

Texto para fala

Converta texto em fala natural com o endpoint POST /audio/speech do api14, compatível com a OpenAI, com vozes, formatos de áudio e preços.

Teste no playground

Transforme texto em fala natural (text-to-speech, TTS). O endpoint segue o formato POST /audio/speech da OpenAI e retorna bytes de áudio brutos, então client.audio.speech.create(...) funciona sem alterações.

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

Requisição

ParâmetroTipoObrigatórioDescrição
modelstringsimUm id de modelo de fala, por exemplo openai/gpt-4o-mini-tts.
inputstringsimO texto a ser falado.
voicestringsimNome da voz, por exemplo alloy, nova, verse. As vozes variam por modelo (veja a página do modelo).
response_formatstringnãomp3 (padrão), wav, opus, aac, flac, pcm quando suportado.
speednumbernãoVelocidade de reprodução, normalmente 0.25–4.0.
instructionsstringnãoOrientação de estilo para modelos que a aceitam ("tom calmo e acolhedor").

Exemplo

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

Resposta

O corpo é o próprio arquivo de áudio, com um Content-Type correspondente (por exemplo audio/mpeg). Salve-o em disco ou envie-o por streaming a um 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

Os erros continuam sendo retornados em JSON no formato de erro da OpenAI, então verifique o código de status antes de gravar o arquivo.

Preços

A fala é cobrada por caractere de entrada ao preço listado do modelo, exibido como "$ / 1M caracteres". Um parágrafo de 1.000 caracteres em um modelo com preço de $15 / 1M caracteres custa $0.015.

Listando modelos de fala

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

Erros

StatusCódigoQuando
400model_required / invalid_jsonmodel ausente ou corpo malformado.
402insufficient_balanceSeu saldo em USD é $0.
403model_not_allowed / plan_requiredA lista de permissões da chave ou o plano exclui o modelo.
404model_not_foundId de modelo desconhecido ou desativado.
429rate_limitedLimite de requisições por minuto excedido.

Vozes ou formatos não suportados são rejeitados pelo provedor e repassados. Veja Erros.