×

API v2 асинхронного распознавания

 
Для работы с API v2 понадобятся:
1. Бакет Object, в который вы загружаете аудиофайл для распознавания.
2. Сервисный аккаунт с ролями ai.speechkit-stt.user и storage.uploader, которые нужны для работы со SpeechKit и Object.
3. API-ключ для аутентификации.
Асинхронно распознать аудиофайлы можно только от имени сервисного аккаунта.
 
Сервис асинхронного распознавания для API v2 располагается по адресу:
 transcribe.api.cloud.your_domain.apigw.cloupard.uz/speech/stt/v2/longRunningRecognize
 
ОТПРАВИТЬ ФАЙЛ НА РАСПОЗНАВАНИЕ
 
Параметры в теле запроса
Структура тела запроса:
{
 "config": {
  "specification": {
   "languageCode": "string",
   "model": "string",
   "profanityFilter": boolean,
   "literature_text": boolean,
   "audioEncoding": "string",
   "sampleRateHertz": integer,
   "audioChannelCount": integer,
   "rawResults": boolean
  }
 },
 "audio": {
  "uri": "string"
 }
}
 
Параметр
Описание
config
object
Поле с настройками распознавания.
config.
specification
object
Настройки распознавания.
config.
specification.
languageCode
string
Язык речи в аудиозаписи для распознавания.
Значение по умолчанию — ru-RU  — русский язык.
config.
specification.
model
 
string
Языковая модель для распознавания речи.
Значение параметра по умолчанию: general.
Выбор модели влияет на стоимость использования.
config.
specification.
profanityFilter
 
boolean
Фильтр ненормативной лексики.
Допустимые значения:
  • true — замаскировать ненормативную лексику звездочками в результатах распознавания.
  • false(по умолчанию) — не маскировать ненормативную лексику.
config.
specification.
literature_text
boolean
config.
specification.
audioEncoding
 
string
Формат передаваемого аудио.
Допустимые значения:
config.
specification.
sampleRateHertz
 
integer (int64)
Частота дискретизации передаваемого аудио.
Этот параметр обязателен, если значение format равно LINEAR16_PCM. Допустимые значения:
  • 48000(по умолчанию) — частота дискретизации 48 кГц;
  • 16000— частота дискретизации 16 кГц;
  • 8000— частота дискретизации 8 кГц.
 
config.
specification.
audioChannelCount
 
integer (int64)
Количество каналов для аудиофайлов в формате LPCM. По умолчанию используется значение 1.
Не используйте это поле для аудиофайлов в формате OggOpus и MP3. Информация о количестве каналов уже содержится в этих файлах.
 
config.
specification.
rawResults
 
boolean
Флаг, указывающий, как писать числа.
Допустимые значения:
  • true — писать прописью.
  • false(по умолчанию) — писать цифрами.
audio.
uri
 
string
URI аудиофайла для распознавания. Поддерживаются только ссылки на файлы, которые хранятся в Object.
 
ОТВЕТ
 
Если запрос был составлен правильно, сервис возвращает объект Operation, в котором содержится идентификатор операции распознавания (id):
{
 "done": false,
 "id": "e03sup6d5h1q********",
 "createdAt": "2019-04-21T22:49:29Z",
 "createdBy": "ajes08feato8********",
 "modifiedAt": "2019-04-21T22:49:29Z"
}
 
Используйте полученный идентификатор на следующем шаге.
 
ПОЛУЧИТЬ РЕЗУЛЬТАТЫ РАСПОЗНАВАНИЯ
 
Чтобы проверить статус операции и получить результат распознавания, отправьте запрос по адресу: operation.api.cloud.85.92.116.215
 
Проверяйте результаты распознавания, используя полученный идентификатор. Количество запросов на проверку результатов ограничено, 1 минута одноканального аудио распознается примерно за 10 секунд.
Результаты распознавания хранятся на сервере 3 суток. После этого вы не сможете запросить результаты распознавания, используя полученный идентификатор.
 
PATH-ПАРАМЕТРЫ
 
Параметр
Описание
 perationId
Идентификатор операции, полученный при отправке запроса на распознавание.
 
ОТВЕТ
 
В ответе на запрос возвращается объект Operation. Пример ответа:
{
 "done": true,
 "response": {
  "@type": "type.googleapis.com/yandex.cloud.ai.stt.v2.LongRunningRecognitionResponse",
  "chunks": [
   {
    "alternatives": [
     {
      "words": [
       {
        "startTime": "0.879999999s",
        "endTime": "1.159999992s",
        "word": "при",
        "confidence": 1
       },
       {
        "startTime": "1.219999995s",
        "endTime": "1.539999988s",
        "word": "написании",
        "confidence": 1
       },
       ...
      ],
      "text": "при написании хоббита толкин обращался к мотивам скандинавской мифологии древней английской поэмы беовульф",
      "confidence": 1
     }
    ],
    "channelTag": "1"
   },
   ...
  ]
 },
 "id": "e03sup6d5h1q********",
 "createdAt": "2019-04-21T22:49:29Z",
 "createdBy": "ajes08feato8********",
 "modifiedAt": "2019-04-21T22:49:36Z"
}
 
Параметр
Описание
done
boolean
Содержит значение true, когда распознавание закончено.
response
object
Результаты асинхронного распознавания речи.
response.
@type
string
Тип ответа на запрос.
response.
chunks
array
Массив с результатами распознавания.
response.
chunks.
alternatives
array
Массив с вариантами распознанного текста.
response.
chunks.
alternatives.
words
array
Массив с распознанными словами и информацией о них.
response.
chunks.
alternatives.
words.
startTime
string
Время начала слова в аудиозаписи. Возможна погрешность в пределах 1–2 секунд.
response.
chunks.
alternatives.
words.
endTime
string
Время окончания слова в аудиозаписи. Возможна погрешность в пределах 1–2 секунд.
 
response.
chunks.
alternatives.
words.
word
 
string
Распознанное слово. Распознанные числа пишутся прописью, например не 12, а двенадцать.
 
response.
chunks.
alternatives.
words.
confidence
integer (int64)
Поле не поддерживается, не используйте его.
response.
chunks.
alternatives.
text
string
Распознанный текст целиком. По умолчанию числа пишутся цифрами. Чтобы весь текст был прописью, укажите true в параметре config.specification.rawResult.
response.
chunks.
alternatives.
confidence
integer (int64)
Поле не поддерживается, не используйте его.
 
response.
chunks.
channelTag
string
Аудиоканал, для которого выполнено распознавание.
id
 
string
Идентификатор операции. Генерируется на стороне сервиса.
createdAt
 
Время запуска операции. Указывается в формате RFC3339 (Timestamps)
createdBy
string
Идентификатор пользователя, запустившего операцию.
modifiedAt
 
google.protobuf.Timestamp Время последнего изменения ресурса. Указывается в формате RFC3339 (Timestamps).