Перейти к основному содержанию
POST
/
v2
/
audio
/
speech
Сгенерировать речь из текста (TTS)
curl --request POST \
  --url https://polza.ai/api/v2/audio/speech \
  --header 'Content-Type: application/json' \
  --data '
{
  "input": "Привет! Это тестовое сообщение.",
  "voice": "alloy",
  "model": "tts-1",
  "instructions": "Говори медленно и выразительно",
  "response_format": "mp3",
  "speed": 1,
  "stream_format": "sse",
  "user": "user-123",
  "stability": 0.5,
  "similarity_boost": 0.75,
  "style": 0,
  "timestamps": false,
  "previous_text": "<string>",
  "next_text": "<string>",
  "language_code": "ru"
}
'
{
  "audio": "SUQzBAAAAAAAI1RTU0UAAA...",
  "contentType": "audio/mpeg",
  "model": "tts-1",
  "duration": 5.2,
  "usage": {
    "characters": 100,
    "cost": 0.01,
    "costRub": 0.01
  },
  "alignment": {}
}
Этот эндпоинт совместим с OpenAI SDK и подходит для быстрой миграции существующего кода. Если вы разрабатываете новый софт — рекомендуем использовать Media API, который предоставляет единый интерфейс для всех медиа-операций.
Эндпоинт доступен по путям /v1/audio/speech и /v2/audio/speech.

Доступные модели

МодельIDОписание
TTSopenai/tts-1OpenAI-совместимая модель (по умолчанию)
TTS HDopenai/tts-1-hdВысокое качество
GPT-4o Mini TTSopenai/gpt-4o-mini-ttsПоддержка голосовых инструкций

Доступные голоса

OpenAI: alloy, ash, ballad, coral, echo, fable, onyx, nova, sage, shimmer, verse ElevenLabs: Rachel, Aria, Roger, Sarah, Laura, Charlie, George, Callum, River, Liam, Charlotte, Alice, Matilda, Will, Jessica, Eric, Chris, Brian, Daniel, Lily, Bill

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

ПараметрТипОбязательныйОписание
modelstringНетМодель TTS (по умолчанию openai/tts-1)
inputstringДаТекст для озвучки (макс. 5000 символов)
voicestringДаИмя голоса
response_formatstringНетФормат: mp3, opus, aac, flac, wav, pcm (по умолчанию mp3)
speednumberНетСкорость речи (0.25-4.0, по умолчанию 1.0)
instructionsstringНетИнструкции для голоса (макс. 4096, только openai/gpt-4o-mini-tts)
userstringНетИдентификатор конечного пользователя

Параметры ElevenLabs

ПараметрТипОписание
stabilitynumber (0-1)Стабильность голоса (меньше = экспрессивнее)
similarity_boostnumber (0-1)Схожесть с оригинальным голосом
stylenumber (0-1)Эмоциональность
timestampsbooleanВременные метки слов
previous_textstringТекст перед текущим фрагментом (контекст)
next_textstringТекст после текущего фрагмента (контекст)
language_codestringКод языка (для ElevenLabs Turbo v2.5)

Примеры

curl -X POST "https://polza.ai/api/v1/audio/speech" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/tts-1",
    "input": "Привет! Это Polza.AI!",
    "voice": "alloy"
  }'

Ответ (200)

{
  "audio": "https://cdn.polza.ai/audio/9a0127a1.mp3",
  "contentType": "audio/mpeg",
  "model": "openai/tts-1",
  "duration": 3.5,
  "usage": {
    "characters": 25,
    "cost_rub": 0.50,
    "cost": 0.50
  }
}
ПолеТипОписание
audiostringURL или base64 аудио
contentTypestringMIME-тип (например, audio/mpeg)
modelstringИспользованная модель
durationnumberДлительность в секундах
usageobjectИспользование: characters, cost_rub, cost
alignmentobjectВременные метки слов (при timestamps: true)

Генерация звуковых эффектов

Также доступна генерация звуков по текстовому описанию через тот же эндпоинт.

Параметры

ПараметрТипОбязательныйОписание
modelstringДаelevenlabs/sound-effect-v2
inputstringДаОписание звука на английском
duration_secondsnumberНетДлительность (0.5-10 сек)
loopbooleanНетЗацикленность
output_formatstringНетФормат аудио
prompt_influencenumberНетВлияние промпта

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

  • mp3_22050_32 — MP3 22050Hz 32kbps
  • mp3_44100_32 — MP3 44100Hz 32kbps
  • mp3_44100_64 — MP3 44100Hz 64kbps
  • mp3_44100_128 — MP3 44100Hz 128kbps (рекомендуется)
  • mp3_44100_192 — MP3 44100Hz 192kbps

Пример

curl -X POST "https://polza.ai/api/v1/audio/speech" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "elevenlabs/sound-effect-v2",
    "input": "sound of guitar strumming",
    "duration_seconds": 2.5,
    "loop": false,
    "output_format": "mp3_44100_128",
    "prompt_influence": 0.3
  }'
Описание звуковых эффектов должно быть на английском языке.

Тело

application/json
input
string
обязательно

Текст для озвучивания (максимум 5000 символов)

Maximum string length: 5000
Пример:

"Привет! Это тестовое сообщение."

voice
string
обязательно

Голос для генерации речи. Допустимые значения зависят от модели: OpenAI (alloy, ash, ballad, coral, echo, fable, onyx, nova, sage, shimmer, verse), ElevenLabs (Rachel, Aria, Roger, Sarah и др.)

Пример:

"alloy"

model
string
по умолчанию:tts-1

ID модели для генерации речи

Пример:

"tts-1"

instructions
string

Инструкции для управления характеристиками голоса. Поддерживается только для gpt-4o-mini-tts, не работает с tts-1 и tts-1-hd

Maximum string length: 4096
Пример:

"Говори медленно и выразительно"

response_format
enum<string>
по умолчанию:mp3

Формат выходного аудио

Доступные опции:
mp3,
opus,
aac,
flac,
wav,
pcm
speed
number
по умолчанию:1

Скорость генерации речи (0.25 - 4.0)

Требуемый диапазон: 0.25 <= x <= 4
Пример:

1

stream_format
enum<string>

Формат потоковой передачи аудио. Не поддерживается для tts-1 и tts-1-hd

Доступные опции:
sse,
audio
user
string

Уникальный идентификатор конечного пользователя для отслеживания и предотвращения злоупотреблений

Пример:

"user-123"

stability
number

Стабильность голоса (0-1). Только для ElevenLabs

Требуемый диапазон: 0 <= x <= 1
Пример:

0.5

similarity_boost
number

Усиление схожести голоса (0-1). Только для ElevenLabs

Требуемый диапазон: 0 <= x <= 1
Пример:

0.75

style
number

Экспрессия стиля (0-1). Только для ElevenLabs

Требуемый диапазон: 0 <= x <= 1
Пример:

0

timestamps
boolean

Возвращать временные метки для каждого слова. Только для ElevenLabs

Пример:

false

previous_text
string

Предшествующий текст для улучшения непрерывности речи при конкатенации. Только для ElevenLabs

Maximum string length: 5000
next_text
string

Последующий текст для улучшения непрерывности речи при конкатенации. Только для ElevenLabs

Maximum string length: 5000
language_code
string

Код языка ISO 639-1. Только для ElevenLabs Turbo v2.5

Maximum string length: 10
Пример:

"ru"

Ответ

audio
string
обязательно

Base64-encoded аудио данные

Пример:

"SUQzBAAAAAAAI1RTU0UAAA..."

contentType
string
обязательно

Content-Type аудио

Пример:

"audio/mpeg"

model
string
обязательно

ID использованной модели

Пример:

"tts-1"

duration
number

Длительность аудио в секундах (если известна)

Пример:

5.2

usage
object

Информация об использовании

Пример:
{
  "characters": 100,
  "cost": 0.01,
  "costRub": 0.01
}
alignment
object

Временные метки символов (при timestamps: true, ElevenLabs)