API для преобразования текста в высококачественную озвученную речь с использованием моделей OpenAI TTS.
NeuroAPI поддерживает следующие модели OpenAI для синтеза речи:
Модель | Описание | Применение |
---|---|---|
tts-1 | Стандартная модель для синтеза речи | Реальное время, чат-боты |
tts-1-hd | Высококачественная модель | Контент высокого качества |
Запрос к эндпоинту /v1/audio/speech
принимает JSON со следующими параметрами:
interface TTSRequest {
// Идентификатор модели для синтеза речи
model: 'tts-1' | 'tts-1-hd';
// Текст для озвучивания
input: string;
// Голос для синтеза речи
voice: 'alloy' | 'echo' | 'fable' | 'onyx' | 'nova' | 'shimmer';
// Скорость речи от 0.25 до 4.0 (по умолчанию 1.0)
speed?: number;
// Формат выходного аудиофайла
response_format?: 'mp3' | 'opus' | 'aac' | 'flac' | 'wav' | 'pcm';
}
Доступны следующие голоса OpenAI для синтеза речи:
Нейтральный, сбалансированный голос
Мужской голос с четкой дикцией
Британский акцент, рассказчик
Глубокий мужской голос
Женский голос, энергичный
Мягкий женский голос
{
"model": "tts-1",
"input": "Привет! Это пример синтеза речи через NeuroAPI.",
"voice": "alloy",
"speed": 1.0,
"response_format": "mp3"
}
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://neuroapi.host/v1',
});
const speechFile = path.resolve("./speech.mp3");
const mp3 = await client.audio.speech.create({
model: "tts-1",
voice: "alloy",
input: "Привет! Это пример синтеза речи через NeuroAPI.",
});
const buffer = Buffer.from(await mp3.arrayBuffer());
await fs.promises.writeFile(speechFile, buffer);
API поддерживает различные аудиоформаты для вывода:
Формат | Описание | Применение |
---|---|---|
mp3 | Стандартный формат (по умолчанию) | Веб, мобильные приложения |
opus | Сжатый формат для интернета | Потоковое аудио |
aac | Advanced Audio Coding | Мобильные устройства |
flac | Lossless аудио | Высокое качество |
wav | Несжатый формат | Профессиональная обработка |
pcm | Сырые аудиоданные | Низкоуровневая обработка |
В зависимости от параметра response_format
API возвращает:
# При указании аудиоформата (mp3, wav, etc.) # Ответ содержит бинарные данные аудиофайла Content-Type: audio/mpeg Content-Length: 15234 [Binary audio data...]
Советы по оптимизации TTS:
tts-1
для реального времени tts-1-hd
для высокого качества speed
(0.25-4.0) При использовании TTS API действуют следующие ограничения: