Документация NeuroAPI
Генерация

Синтез речи

Как запрашивать синтез речи и получать аудио-ответ

API для преобразования текста в высококачественную озвученную речь с использованием моделей OpenAI TTS.

OpenAI-совместимость: API полностью совместимо с OpenAI Text-to-Speech API, что позволяет легко интегрировать с существующими приложениями без изменения кода.

Поддерживаемые модели

NeuroAPI поддерживает следующие модели OpenAI для синтеза речи:

МодельОписаниеПрименение
tts-1Стандартная модель для синтеза речиРеальное время, чат-боты
tts-1-hdВысококачественная модельКонтент высокого качества

Параметры запроса

Запрос к эндпоинту /v1/audio/speech принимает JSON со следующими параметрами:

Request Schema

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 для синтеза речи:

ГолосОписание
alloyНейтральный, сбалансированный голос
echoМужской голос с четкой дикцией
fableБританский акцент, рассказчик
onyxГлубокий мужской голос
novaЖенский голос, энергичный
shimmerМягкий женский голос

Примеры использования

Базовый запрос

JSON Request

{
  "model": "tts-1",
  "input": "Привет! Это пример синтеза речи через NeuroAPI.",
  "voice": "alloy",
  "speed": 1.0,
  "response_format": "mp3"
}

Примеры использования (cURL, Python, OpenAI SDK)

OpenAI SDK

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

Python

import requests
import json

url = "https://neuroapi.host/v1/audio/speech"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}

data = {
    "model": "tts-1-hd",
    "input": "Это пример использования TTS API на Python",
    "voice": "echo",
    "speed": 0.9,
    "response_format": "mp3"
}

response = requests.post(url, headers=headers, json=data)

if response.status_code == 200:
    with open("output.mp3", "wb") as f:
        f.write(response.content)
    print("Аудиофайл успешно создан!")
else:
    print(f"Ошибка: {response.status_code}")
    print(response.text)

cURL

curl --location 'https://neuroapi.host/v1/audio/speech' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
  "model": "tts-1",
  "input": "Добро пожаловать в NeuroAPI! Это демонстрация синтеза речи.",
  "voice": "nova",
  "speed": 1.2,
  "response_format": "mp3"
}' \
--output speech.mp3

Форматы ответа

API поддерживает различные аудиоформаты для вывода:

ФорматОписаниеПрименение
mp3Стандартный формат (по умолчанию)Веб, мобильные приложения
opusСжатый формат для интернетаПотоковое аудио
aacAdvanced Audio CodingМобильные устройства
flacLossless аудиоВысокое качество
wavНесжатый форматПрофессиональная обработка
pcmСырые аудиоданныеНизкоуровневая обработка

Структура ответа

В зависимости от параметра response_format API возвращает:

Audio Response

# При указании аудиоформата (mp3, wav, etc.)
# Ответ содержит бинарные данные аудиофайла
Content-Type: audio/mpeg
Content-Length: 15234

[Binary audio data...]

JSON Response

// При response_format: "json" (если поддерживается)
{
  "text": "Исходный текст для синтеза",
  "audio_url": "https://example.com/generated-audio.mp3",
  "duration": 3.45,
  "model": "tts-1",
  "voice": "alloy"
}

Советы по оптимизации TTS:

  • Используйте tts-1 для реального времени
  • Выбирайте tts-1-hd для высокого качества
  • Контролируйте скорость речи параметром speed (0.25-4.0)
  • Учитывайте размер файла при выборе формата
  • Тестируйте разные голоса для вашей аудитории

Ограничения и баланс

При использовании TTS API действуют следующие ограничения:

  • Максимальная длина текста: 4096 символов в одном запросе
  • Подсчет токенов производится по количеству символов входного текста
  • Стоимость зависит от выбранной модели и длины текста
  • Лимиты скорости запросов зависят от тарифного плана

On this page