Skip to content

Быстрый старт

Пять минут от регистрации до первого результата.

1. Войдите в кабинет и создайте проект

Откройте console.gapi.uz, войдите через Google и создайте проект. Проект это настройки, токены и записи одного клиента или одной интеграции.

2. Загрузите первую запись в кабинете

На главной странице проекта перетащите файл mp3, wav, ogg/opus, m4a, flac или webm. Распознавание начинается сразу, нажимать ничего не нужно. Пока идёт работа, видно два шага: «Загрузка» с процентами отправленного файла и «Распознавание» с секундами разобранного аудио. Результат открывается на той же странице: текст по репликам, спикеры и плеер, который играет ровно нажатую реплику.

Опции меняются до загрузки: откройте «Опции распознавания» и включите или выключите что-то для следующих записей. Там же скажите, звонок ли это и входящий или исходящий: это помогает отличить клиента от менеджера.

3. Создайте токен

Проще всего открыть на странице проекта блок «Подключить через API»: если токена ещё нет, он создаётся сам и примеры сразу идут с ним. Сохраните токен; если понадобится, его всегда можно скопировать целиком на вкладке «API-токены». Все токены проекта на вкладке «API-токены», там же можно выпустить ещё. Каждый запрос к API идёт с заголовком:

Authorization: Bearer <токен>

4. Отправьте запись через API

bash
curl -X POST https://console.gapi.uz/v1/jobs \
  -H "Authorization: Bearer $TOKEN" \
  -F file=@call.mp3

Ответ:

json
{"id": "41f79b78-…", "state": "queued", "class": "batch", "estimated_seconds": 283,
 "created_at": "2026-09-10T08:14:03Z", "result_url": "https://console.gapi.uz/v1/jobs/41f79b78-…/result"}

5. Заберите результат

Опросите задачу раз в пару секунд, пока state не станет done, и заберите результат:

bash
curl https://console.gapi.uz/v1/jobs/41f79b78-… -H "Authorization: Bearer $TOKEN"
# {"id": "…", "state": "done", …}

curl https://console.gapi.uz/v1/jobs/41f79b78-…/result -H "Authorization: Bearer $TOKEN"

В результате есть text (весь текст) и segments (реплики с временем и спикером). Что ещё там лежит: Формат ответа.

Опрос — самый простой способ, но не лучший. GET /v1/jobs/{id}/events отдаёт реплики по мере готовности, так что текст видно ещё во время разговора, а не только в конце. А если ждать нечего и результат нужен «когда-нибудь потом», укажите webhook_url, и мы постучимся сами. Оба способа: API.

Словарь: названия, которые должны узнаваться

Название компании, продукты, бренды, имена сотрудников в обычной речи не встречаются, и модель слышит вместо них похожее по звучанию слово. Словарь проекта это исправляет: перечисленные термины она начинает узнавать в записях чаще. Словарь не меняет тариф и действует на все следующие записи проекта.

В кабинете список на вкладке «Словарь». Через API:

bash
curl -X PUT https://console.gapi.uz/v1/vocabulary \
  -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
  -d '{"terms": ["MetaSell", "Bitrix24", "amoCRM", "Toshkent"]}'

От 1 до 20 терминов, в каждом не больше 4 слов. Список намеренно короткий: чем он короче, тем точнее модель попадает в нужное слово, поэтому вносите не весь каталог, а только то, что действительно звучит в разговорах.

Словарь принадлежит проекту: задача берёт копию активной версии в момент создания, поэтому правка не переписывает уже отправленную работу. Каждое сохранение это новая версия, её видно в кабинете, так что неудачная правка это шаг назад, а не потеря.

Если термины нужны только для одной записи, пришлите их прямо с файлом — полем vocabulary в загрузке. Такой список работает на эту задачу и ни на что больше: словарь проекта не меняется. Подробно: API.

Короткие записи одним запросом

Записи до 5 минут можно распознать синхронно, без задачи:

bash
curl -X POST https://console.gapi.uz/v1/transcribe \
  -H "Authorization: Bearer $TOKEN" \
  -F file=@short.mp3

Ответ приходит сразу с результатом внутри.

Настройки на один запрос

Настройки проекта применяются ко всем записям. Для одной записи их можно изменить полем settings:

bash
curl -X POST https://console.gapi.uz/v1/jobs \
  -H "Authorization: Bearer $TOKEN" \
  -F file=@call.mp3 \
  -F 'settings={"speaker_roles":true,"call_direction":"inbound","emotion":false,"pii":false}'

Все ключи описаны в разделе Опции, а готовые наборы под звонки, совещания и интервью — в Сценариях.