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
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
Фильтр ненормативной лексики.
Допустимые значения:
|
config.
specification.
literature_text
|
boolean
|
config.
specification.
audioEncoding
|
string
Формат передаваемого аудио.
Допустимые значения:
|
config.
specification.
sampleRateHertz
|
integer (int64)
Частота дискретизации передаваемого аудио.
Этот параметр обязателен, если значение format равно LINEAR16_PCM. Допустимые значения:
|
config.
specification.
audioChannelCount
|
integer (int64)
Не используйте это поле для аудиофайлов в формате OggOpus и MP3. Информация о количестве каналов уже содержится в этих файлах.
|
config.
specification.
rawResults
|
boolean
Флаг, указывающий, как писать числа.
Допустимые значения:
|
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).
|