Интеграция OpenAI TTS для синтеза речи

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Интеграция OpenAI TTS для синтеза речи
Простая
~1 рабочий день
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1240
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1167
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    867
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1084
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    829

Интеграция OpenAI TTS для синтеза речи

OpenAI TTS API предлагает 6 голосов (alloy, echo, fable, onyx, nova, shimmer) с поддержкой 50+ языков. Качество на английском — лучшее среди облачных решений. На русском — хорошее, с естественной интонацией, но иногда с заметным акцентом.

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

  • tts-1: оптимизирован для скорости, задержка ~300 мс
  • tts-1-hd: высокое качество, задержка ~500–800 мс

Базовая интеграция

from openai import OpenAI
import io

client = OpenAI()

def synthesize_speech(text: str, voice: str = "alloy") -> bytes:
    response = client.audio.speech.create(
        model="tts-1-hd",
        voice=voice,  # alloy | echo | fable | onyx | nova | shimmer
        input=text,
        response_format="mp3",  # mp3 | opus | aac | flac | wav | pcm
        speed=1.0  # 0.25–4.0
    )
    return response.content

# Потоковый вывод (для real-time воспроизведения)
with client.audio.speech.with_streaming_response.create(
    model="tts-1",
    voice="nova",
    input="Привет! Как я могу вам помочь?",
) as response:
    response.stream_to_file("output.mp3")

Кэширование ответов

TTS-запросы идентичного текста возвращают одинаковое аудио — кэшируем:

import hashlib
import redis

cache = redis.Redis()

def get_speech(text: str, voice: str = "alloy") -> bytes:
    cache_key = hashlib.md5(f"{text}:{voice}:tts-1-hd".encode()).hexdigest()
    cached = cache.get(cache_key)
    if cached:
        return cached

    audio = synthesize_speech(text, voice)
    cache.setex(cache_key, 86400 * 7, audio)  # TTL 7 дней
    return audio

Стоимость

tts-1: $15/1M символов. tts-1-hd: $30/1M символов. Для типичной фразы в 100 символов: $0.0015 / $0.003.

Интеграция: 1 день.