ДокументацияОзвучка текста (TTS)
Озвучка текста (TTS)
POST /v1/audio/speech превращает текст в речь (text-to-speech). Формат совместим с OpenAI Audio API: в ответ приходит готовый аудиофайл.
Адрес
POST https://api.zenvy.su/v1/audio/speechЗаголовки
| Заголовок | Значение |
|---|---|
Authorization | Bearer sk-zenvy-... |
Content-Type | application/json |
Поля запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
model | string | да | Модель с audio-выводом — см. Модели и баланс, в architecture.output_modalities должно быть "audio" |
input | string | да | Текст для озвучки, до 4096 символов |
voice | string | нет | Голос: alloy (по умолчанию), echo, nova и др. — зависит от модели |
response_format | string | нет | mp3 (по умолчанию), wav, pcm16 (raw PCM, 24 кГц, моно, 16 бит) |
instructions | string | нет | Стиль подачи: тон, темп, интонация |
Пример запроса
curl https://api.zenvy.su/v1/audio/speech \
-H "Authorization: Bearer sk-zenvy-..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-audio",
"input": "Привет! Это тест озвучки текста через Zenvy.",
"voice": "alloy",
"response_format": "mp3"
}' \
--output speech.mp3В ответ приходит бинарный аудиофайл с заголовком Content-Type: audio/mpeg.
Пример с SDK
import fs from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.ZENVY_API_KEY,
baseURL: "https://api.zenvy.su/v1"
});
const response = await client.audio.speech.create({
model: "gpt-4o-audio",
input: "Привет! Это тест озвучки текста через Zenvy.",
voice: "alloy",
response_format: "mp3"
});
const buffer = Buffer.from(await response.arrayBuffer());
fs.writeFileSync("speech.mp3", buffer);Ошибки
| Код | Причина |
|---|---|
422 | Не указан input, неизвестный response_format или модель не генерирует аудио |
413 | Текст длиннее 4096 символов |
402 | Недостаточно средств на балансе |
502 | Провайдер недоступен или модель не вернула аудио |
Биллинг
Списание по токенам модели: текст — входные токены, сгенерированное аудио — выходные. Подробнее: Токены и биллинг.
Обратная задача — распознавание речи — на странице Распознавание речи.