Генерация речи
Доступные модели
Полный список моделей можно посмотреть на странице Модели или получить динамически через API эндпоинты: https://openai.bothub.chat/v1/models и https://bothub.chat/api/v2/replicate/v1/models
BotHub поддерживает генерацию речи через OpenAI-совместимый API. Вы можете преобразовывать текст в аудио, выбирать голос озвучки, формат аудиофайла и скорость воспроизведения.
Для генерации речи используются модели семейства Text-to-Speech (TTS):
tts-1— стандартная модель с низкой задержкойtts-1-hd— улучшенная модель с более высоким качеством озвучки
Доступные голоса
При генерации речи можно выбрать один из встроенных голосов: alloy, echo, fable, onyx, nova, shimmer.
Поддерживаемые аудио форматы
API поддерживает генерацию аудио в нескольких форматах: mp3, opus, aac, flac.
Основные параметры запроса
При создании аудио используются следующие параметры:
| Параметр | Тип | Описание |
|---|---|---|
model | string | Модель генерации речи (tts-1 или tts-1-hd) |
voice | string | Голос озвучивания |
input | string | Текст для преобразования в речь |
response_format | string | Формат выходного аудио |
speed | number | Скорость воспроизведения речи (0.25 – 4.0) |
Пример генерации речи
- JS
- Python
- Go
- cURL
import OpenAI from 'openai';
import fs from 'fs';
const openai = new OpenAI({
apiKey: 'ВАШ_API_КЛЮЧ_BOTHUB',
baseURL: 'https://openai.bothub.chat/v1'
});
async function main() {
const response = await openai.audio.speech.create({
model: 'tts-1-hd',
voice: 'nova',
input: 'Привет! Это пример генерации речи через BotHub.',
response_format: 'mp3',
speed: 0.9
});
const buffer = Buffer.from(await response.arrayBuffer());
await fs.promises.writeFile('output.mp3', buffer);
console.log('Аудиофайл успешно сохранён.');
}
main();
from pathlib import Path
from openai import OpenAI
client = OpenAI(
api_key='ВАШ_API_КЛЮЧ_BOTHUB',
base_url='https://openai.bothub.chat/v1'
)
speech_file_path = Path(__file__).parent / "output.mp3"
response = client.audio.speech.create(
model='tts-1-hd',
voice='nova',
input='Привет! Это пример генерации речи через BotHub.',
response_format='mp3',
speed=0.9
)
response.stream_to_file(speech_file_path)
print('Аудиофайл успешно сохранён.')
package main
import (
"context"
"fmt"
"io"
"os"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
option.WithAPIKey("ВАШ_API_КЛЮЧ_BOTHUB"),
option.WithBaseURL("https://openai.bothub.chat/v1"),
)
response, err := client.Audio.Speech.New(context.Background(), openai.AudioSpeechNewParams{
Model: openai.SpeechModel("tts-1-hd"),
Voice: openai.AudioSpeechNewParamsVoiceNova,
Input: "Привет! Это пример генерации речи через BotHub.",
ResponseFormat: openai.AudioSpeechNewParamsResponseFormatMP3,
Speed: openai.Float(0.9),
})
if err != nil {
panic(err)
}
defer response.Body.Close()
file, err := os.Create("output.mp3")
if err != nil {
panic(err)
}
defer file.Close()
if _, err := io.Copy(file, response.Body); err != nil {
panic(err)
}
fmt.Println("Аудиофайл успешно сохранён.")
}
curl https://openai.bothub.chat/v1/audio/speech \
-H "Authorization: Bearer ВАШ_API_КЛЮЧ_BOTHUB" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1-hd",
"voice": "nova",
"input": "Привет! Это пример генерации речи через BotHub.",
"response_format": "mp3",
"speed": 0.9
}' \
--output output.mp3
Рекомендации
Рекомендации по использованию
- Для большинства сценариев рекомендуется использовать
tts-1, если важна скорость генерации. - Используйте
tts-1-hd, если приоритетом является качество озвучки. - Формат
mp3подходит для большинства приложений и обеспечивает хорошее соотношение качества и размера файла. - Значение
speedвыше1.0ускоряет воспроизведение, а ниже1.0делает речь медленнее и более плавной.
Официальная документация OpenAI