Skip to content

Озвучка текста (TTS)

Text-to-Speech — преобразование текста в речь. Генерируйте естественно звучащую речь из текстового ввода с помощью моделей OpenAI.

Эндпоинт POST /v1/audio/speech позволяет преобразовать текст в аудиофайл с озвучкой.

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

МодельОписание
gpt-4o-mini-ttsБыстрая модель с поддержкой инструкций по стилю речи
tts-1Стандартная модель Text-to-Speech
tts-1-hdМодель высокого качества

Базовое использование

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-aitunnel-xxx",
    base_url="https://api.aitunnel.ru/v1/",
)

response = client.audio.speech.create(
    model="tts-1",
    voice="alloy",
    input="Привет! Это пример озвучки текста через AITUNNEL.",
)

# Сохраняем аудио в файл
response.stream_to_file("output.mp3")
typescript
import OpenAI from "openai";
import fs from "fs";

const client = new OpenAI({
  apiKey: "sk-aitunnel-xxx",
  baseURL: "https://api.aitunnel.ru/v1/",
});

const response = await client.audio.speech.create({
  model: "tts-1",
  voice: "alloy",
  input: "Привет! Это пример озвучки текста через AITUNNEL.",
});

const buffer = Buffer.from(await response.arrayBuffer());
fs.writeFileSync("output.mp3", buffer);
shell
curl https://api.aitunnel.ru/v1/audio/speech \
  -H "Authorization: Bearer sk-aitunnel-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1",
    "voice": "alloy",
    "input": "Привет! Это пример озвучки текста через AITUNNEL."
  }' \
  --output output.mp3

Голоса

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

ГолосОписание
alloyНейтральный, сбалансированный
ashМужской, уверенный
balladМягкий, мелодичный
coralЖенский, тёплый
echoМужской, спокойный
fableВыразительный, повествовательный
onyxМужской, глубокий
novaЖенский, энергичный
sageСпокойный, размеренный
shimmerЖенский, мягкий
verseДраматичный, выразительный
marinПриятный, современный
cedarСпокойный, естественный

Совет

Все голоса хорошо работают с русским языком. Попробуйте несколько, чтобы найти подходящий для вашего проекта.

Инструкции по стилю речи

Модель gpt-4o-mini-tts поддерживает параметр instructions, который позволяет управлять стилем и эмоциональностью речи:

python
response = client.audio.speech.create(
    model="gpt-4o-mini-tts",
    voice="nova",
    input="Добро пожаловать в наш магазин! Сегодня у нас отличные скидки.",
    instructions="Говори с энтузиазмом и радостью, как диктор рекламы."
)

response.stream_to_file("promo.mp3")

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

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

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

Эндпоинт возвращает бинарный аудиофайл в указанном формате. Стоимость запроса доступна в заголовках ответа.

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

Генерация подкаста

python
segments = [
    ("nova", "Добрый день! Вы слушаете наш еженедельный подкаст о технологиях."),
    ("onyx", "Сегодня мы обсудим последние новости в мире искусственного интеллекта."),
    ("nova", "Начнём с обзора новых моделей, которые вышли на этой неделе."),
]

for i, (voice, text) in enumerate(segments):
    response = client.audio.speech.create(
        model="tts-1-hd",
        voice=voice,
        input=text,
    )
    response.stream_to_file(f"segment_{i}.mp3")

Озвучка уведомлений

python
response = client.audio.speech.create(
    model="gpt-4o-mini-tts",
    voice="alloy",
    input="У вас новое сообщение от команды поддержки.",
    instructions="Спокойный, деловой тон. Короткая пауза в конце.",
    response_format="wav",
)
response.stream_to_file("notification.wav")

Лучшие практики

  1. Выбор модели: tts-1 для скорости, tts-1-hd для качества, gpt-4o-mini-tts для управления стилем
  2. Длинные тексты: Разбивайте на фрагменты до 4096 символов
  3. Формат аудио: Используйте opus для минимального размера файла, wav для максимального качества
  4. Кеширование: Сохраняйте сгенерированные аудиофайлы, чтобы не генерировать один и тот же текст повторно

AITUNNEL