Список голосов
Запрос списка голосов
GET
https://gptunnel.ru/api/v2/media/voices Возвращает голоса озвучки, доступные вашему API-ключу. Поле id из ответа — это то, что передаётся в params.voice при создании задачи.
Голоса не описаны в схеме params у списка моделей: каталог живёт отдельно и меняется независимо от моделей, поэтому актуальные значения voice берутся только отсюда.
Query-параметры
| Параметр | Тип | Описание |
|---|---|---|
model | string | Фильтр по модели синтеза. Без параметра (или с model=tts2) возвращаются голоса всех моделей озвучки |
Пример запроса
curl --request GET \ --url 'https://gptunnel.ru/api/v2/media/voices' \ --header 'Authorization: YOUR_API_KEY'import axios from 'axios'
const { data } = await axios.get('https://gptunnel.ru/api/v2/media/voices', { headers: { Authorization: 'YOUR_API_KEY' },})
console.log(data)import requests
response = requests.get( 'https://gptunnel.ru/api/v2/media/voices', headers={'Authorization': 'YOUR_API_KEY'},)
print(response.json())Пример ответа
Набор голосов меняется — ориентируйтесь на ответ эндпоинта, а не на этот пример.
{ "code": 0, "voices": [ { "id": "69e7737a97a24533bd8ffca9", "name": "Алиса", "model": "tts2", "description": "Тёплый женский голос, подходит для рекламы", "gender": "female", "language": "ru-RU", "tags": ["реклама", "тёплый"], "preview_url": "https://cdn.gptunnel.ru/tts/preview/alice.mp3?v=1787559045479", "avatar_url": "https://cdn.gptunnel.ru/tts/avatar/alice.png?v=1787559045479", "price_per_1k_chars": 36 }, { "id": "6a12b0c4d5e6f70819a2b3c4", "name": "Мой клон", "model": "tts2", "language": "ru-RU", "tags": [], "price_per_1k_chars": 60, "custom": true, "expires_at": 1787991045 } ]}Поля голоса
| Параметр | Тип | Описание |
|---|---|---|
id* | string | Значение для params.voice при создании задачи |
name* | string | Название голоса |
model* | string | Модель, которую нужно передать в model при создании задачи с этим голосом. По её ставке считается цена, если у голоса нет своей |
description | string | Описание тембра и сценариев использования |
gender | string | Пол голоса |
language* | string | Основной язык голоса, например ru-RU |
tags* | string[] | Метки для фильтрации в вашем интерфейсе |
preview_url | string | Ссылка на демо-озвучку |
avatar_url | string | Ссылка на аватар голоса |
price_per_1k_chars | number | Ставка голоса в рублях за 1000 символов. Если поля нет, своей ставки у голоса нет и задача тарифицируется по ставке модели из поля model — точную сумму даёт расчёт цены |
custom | boolean | Клонированный голос: виден только владельцу ключа |
expires_at | number | Unix-время, до которого живёт клонированный голос. Каждая генерация с ним продлевает срок на 5 дней |
Как использовать
{ "model": "tts2", "prompt": "Привет! Это проверка озвучки.", "params": { "voice": "69e7737a97a24533bd8ffca9" }}Цену задачи можно узнать заранее через расчёт цены — передайте туда те же prompt и params.voice.
Голос, которого нет в этом списке, отклоняется на создании задачи — 400 с code: 3 и полем voice в details. Списания при этом не происходит.