API для разработчиков

TTS API (Text-To-Speech)

Видеоверсия
Бесплатное демо озвучки текста

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

import requests

data = {
    "email": "example@gmail.com",  # Email, который Вы указали при регистрации
    "password": "your_password",   # Ваш пароль
    "token": "your_token",         # Токен разработчика (раздел "Данные в личном кабинете")
    "name": "Vladimir",            # Голос для озвучки (список голосов ниже)
    "audio_format": "mp3",         # Формат аудиофайла (по умолчанию wav)
    "round": True,                 # Округление времени аудифайла до целых секунд (True/False). По умолчанию - False
    "text": "Текст для озвучки"    # Текст для озвучки
}
res = requests.post(f'https://unitools.tech/dev-api/tts', data=data)  # Делаем запрос
print('Статус:', res.status_code)  # Выводим статус запроса (Коды ошибок ниже)

if res.status_code == 200:  # Если запрос удачный
    print('Url:', res.json()['url'])  # Получаем и выводим ссылку для загрузки
    print('Баланс:', res.json()['balance'])  # Здесь количество денег на счете в рублях
    audio = requests.get(res.json()['url']).content  # Получаем файл в бинарном виде
    with open('speech.mp3', 'wb') as f:  # Записываем переменную audio в файл "speech.wav"
        f.write(audio)
//Запрос к API через CURL

// Полный доступ для владельца, доступ на чтение и выполнение для других
chmod("/somedir/somefile", 0755);


if( $curl = curl_init() ) {
    curl_setopt($curl, CURLOPT_URL, 'https://unitools.tech/dev-api/tts');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_POST, true);

    curl_setopt($curl, CURLOPT_POSTFIELDS, "email=".urlencode("<Тут Ваш email>")."&password=".urlencode("<А тут Ваш пароль>")."&token=<Тут Ваш токен>&name=<Голос>&audio_format=<Тип формата: mp3 / wav>&round=<Округление
                по времени: True / False>&text=".urlencode("<Тут Ваш текст>"));
    $out = curl_exec($curl);

    $response=json_decode($out); // Декодируем JSON.
    echo $file=$response->url;   // Вытащим и покажем URL аудио файла для дальнейших манипуляций.
    copy($file,'speech.<Формат Вашего файла mp3 или wav>'); // Сохраним аудиодорожку на компьютере.
    curl_close($curl);
}
POST or GET /dev-api/tts HTTP/1.1

Host: unitools.tech


Data (POST):
{
    "email": "example@gmail.com",  # Email, который Вы указали при регистрации
    "password": "your_password",   # Ваш пароль
    "token": "your_token",         # Токен разработчика (раздел "Данные в личном кабинете")
    "name": "Vladimir",            # Голос для озвучки (список голосов ниже)
    "audio_format": "mp3",         # Формат аудиофайла
    "round": True,                 # Округление времени аудифайла до целых секунд (True/False). По умолчанию - False
    "text": "Текст для озвучки"    # Текст для озвучки
}


or GET example:

https://unitools.tech/dev-api/tts?email=example@gmail.com&password=your_password&token=your_token&name=Lev&round=True&text=Текст для озвучки

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

{
    "url": "https://unitools.tech/mediafiles/example/speech.wav",  // Ссылка для загрузки файла
    "balance": 124.13,    // Остаток денег на счете
    "length": 1.23,       // Длина в секундах файла озвучки
    "length_full": 2,     // Длина в секундах (с тишиной в конце) файла озвучки (если round=True)
    "size": 1234,         // Размера файла в байтах
    "cost": 1.24          // Стоимость озвученного фрагмента текста (рубли)
}

Названия и примеры звучания всех голосов приведены здесь

Сколько символов осталось?

import requests
import json

data = {
    "email": "example@gmail.com",  # Email, который Вы указали при регистрации
    "password": "your_password",   # Ваш пароль
    "token": "your_token",         # Токен разработчика (раздел "Данные в личном кабинете")
}

res = requests.post(f'https://unitools.tech/dev-api/max-len', data=data)  # Делаем запрос
print('Статус:', res.status_code)  # Выводим статус запроса (Коды ошибок выше)

if res.status_code == 200:  # Если запрос удачный
    print('Символов осталось:', res.text)
POST or GET /dev-api/max-len HTTP/1.1
Host: unitools.tech

Data (POST):
{
    "email": "example@gmail.com",  # Email, который Вы указали при регистрации
    "password": "your_password",   # Ваш пароль
    "token": "your_token",         # Токен разработчика (раздел "Данные в личном кабинете")
}


or GET example:

https://unitools.tech/dev-api/max-len?email=example@gmail.com&password=your_password&token=your_token

Коды ошибок

Код Текст Текст
400 User not found; Wrong email/password/token Ошибка входа
401 Not enough money for the operation. Your balance (текущий баланс)Р Недостаточно средств для синтеза
500 Something went wrong. Please let us know Внуренняя ошибка сервера