Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте REST API преобразования речи в текст для короткого звука только когда вы не можете использовать SDK для распознавания речи или API быстрого транскрибирования.
Прежде чем использовать REST API преобразования речи в текст для короткого звука, рассмотрите следующие ограничения:
- Запросы, использующие REST API для короткого звука и передачи звука, могут содержать не более 60 секунд звука. Для оценки произношения продолжительность звука не должна превышать 30 секунд. Входные форматы звука являются более ограниченными по сравнению с пакетом SDK службы "Речь".
- REST API для короткого звука возвращает только окончательные результаты. Он не предоставляет частичные результаты.
- Перевод речи не поддерживается через REST API для короткого звука. Необходимо использовать Speech SDK.
- Пакетное транскрибирование и настраиваемая речь не поддерживаются через REST API для короткого звука. Для пакетного транскрибирования и пользовательской речи всегда следует использовать REST API преобразования речи в текст.
Прежде чем использовать REST API распознавания речи для коротких аудиофайлов, необходимо выполнить обмен токенами в рамках аутентификации для доступа к службе. Дополнительные сведения см. в разделе "Проверка подлинности".
Регионы и конечные точки
Конечная точка REST API для короткого звука имеет следующий формат:
https://YourResourceName.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1
Замените YourResourceName именем вашего ресурса Speech.
Примечание
Сведения о Azure для государственных организаций и Microsoft Azure, конечных точках, управляемых компанией 21Vianet, см. в статье о суверенных облаках.
Форматы звука
Звук отправляется в тексте HTTP-запроса POST . Он должен находиться в одном из форматов в этой таблице:
| Формат | Кодек | Скорость передачи битов | Частота выборки |
|---|---|---|---|
| WAV | PCM | 256 кб/с | 16 кГц, моно |
| OGG | OPUS | 256 кб/с | 16 кГц, моно |
Примечание
Следующие форматы поддерживаются через REST API для короткого аудио и WebSockets в службе распознавания речи. Пакет SDK службы "Речь" поддерживает формат WAV с кодеком PCM, а также другими форматами.
Заголовки запросов
В этой таблице перечислены обязательные и необязательные заголовки для преобразования речи в текстовые запросы:
| Заголовка | Описание | Обязательный или необязательный |
|---|---|---|
Ocp-Apim-Subscription-Key |
Ключ ресурса для службы "Речь". | Этот заголовок или Authorization обязательный. |
Authorization |
Маркер авторизации, предшествующий слову Bearer. Дополнительные сведения см. в разделе "Проверка подлинности". |
Этот заголовок или Ocp-Apim-Subscription-Key обязательный. |
Pronunciation-Assessment |
Задает параметры для отображения показателей произношения в результатах распознавания. Эти оценки оценивают качество произношения входных данных речи с такими индикаторами, как точность, беглость и полнота. Этот параметр представляет собой JSON в кодировке Base64, содержащий несколько подробных параметров. Сведения о создании этого заголовка см. в разделе "Параметры оценки произношения". |
Необязательный |
Content-type |
Описывает формат и кодек предоставленных звуковых данных. Допустимые значения: audio/wav; codecs=audio/pcm; samplerate=16000 и audio/ogg; codecs=opus. |
Обязательно |
Transfer-Encoding |
Указывает, что отправляются звуковые данные, разбитые на части, а не один файл. Используйте этот заголовок, только если вы блокируете аудиоданные. | Необязательный |
Expect |
Если вы используете фрагментированную передачу, отправьте сообщение Expect: 100-continue. Служба распознавания речи подтверждает первоначальный запрос и ожидает дополнительных данных. |
Требуется, если вы отправляете порционированные звуковые данные. |
Accept |
Если это указано, оно должно быть application/json. Служба "Речь" предоставляет результаты в формате JSON. Некоторые платформы запросов предоставляют несовместимое значение по умолчанию. Рекомендуется всегда включать Accept. |
Необязательно, но рекомендуется. |
Параметры запроса
Эти параметры могут быть включены в строку запроса REST- запроса.
Примечание
Чтобы избежать получения ошибки HTTP 4xx, необходимо добавить параметр языка к URL-адресу. Например, язык, заданный для английского языка США, имеет следующий формат: https://YourResourceName.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
| Параметр | Описание | Обязательный или необязательный |
|---|---|---|
language |
Идентифицирует распознаваемый язык. См. раздел "Поддерживаемые языки". | Обязательно |
format |
Задает формат результата. Допустимые значения: simple и detailed. Простые результаты включают RecognitionStatus, DisplayTextи OffsetDuration. Подробные ответы включают четыре различных представления отображаемого текста. Значение по умолчанию — simple. |
Необязательный |
profanity |
Указывает способ обработки ненормативной лексики в результатах распознавания. Допустимые значения: masked, который заменяет ненормативность звездочками. removed, который удаляет всю ненормативную лексику из текста. raw, который включает ненормативную лексику в результатах. Значение по умолчанию — masked. |
Необязательный |
Параметры оценки произношения
В этой таблице перечислены обязательные и необязательные параметры для оценки произношения:
| Параметр | Описание | Обязательный или необязательный |
|---|---|---|
ReferenceText |
Текст, по которому оценивается произношение. | Обязательно |
GradingSystem |
Система точек для калибровки показателей. Система FivePoint дает оценку с плавающей запятой 0-5 и HundredMark дает оценку с плавающей запятой 0-100. По умолчанию: FivePoint. |
Необязательный |
Granularity |
Степень детализации оценки. Допустимые значения:Phoneme, который показывает оценку на уровнях полнотекстового текста, слова и фонемы.Word, который показывает оценку на полнотекстовых и word уровнях. FullText, который показывает оценку только на полнотекстовом уровне.Значение по умолчанию — Phoneme. |
Необязательный |
Dimension |
Определяет критерии вывода. Допустимые значения:Basic, который показывает только оценку точности. Comprehensive, который показывает оценки по дополнительным измерениям (например, оценка беглости и полноты на полнотекстовом уровне, а также тип ошибки на уровне слова).Чтобы просмотреть определения различных измерений оценок и видов ошибок слова, см. раздел "Свойства ответа". Значение по умолчанию — Basic. |
Необязательный |
EnableMiscue |
Включает расчёт отклонений. Если этот параметр включен, то выраженные слова сравниваются с ссылочным текстом. Они отмечены упущением или вставкой на основе сравнения. Допустимые значения: False и True. Значение по умолчанию — False. |
Необязательный |
EnableProsodyAssessment |
Позволяет осуществлять оценку просодии для оценки вашего произношения. Эта функция оценивает такие аспекты, как стресс, интонация, скорость речи и ритм. Эта функция предоставляет аналитические сведения о естественности и экспрессивности вашей речи. Если для этого свойства задано значение True, возвращается значение результата ProsodyScore. |
Необязательный |
ScenarioId |
GUID, указывающий настраиваемую систему точек. | Необязательный |
Ниже приведен пример JSON, содержащий параметры оценки произношения:
{
"ReferenceText": "Good morning.",
"GradingSystem": "HundredMark",
"Granularity": "Word",
"Dimension": "Comprehensive",
"EnableProsodyAssessment": "True"
}
В следующем примере кода показано, как создать параметры оценки произношения в заголовке Pronunciation-Assessment :
var pronAssessmentParamsJson = $"{{\"ReferenceText\":\"Good morning.\",\"GradingSystem\":\"HundredMark\",\"Granularity\":\"Word\",\"Dimension\":\"Comprehensive\",\"EnableProsodyAssessment\":\"True\"}}";
var pronAssessmentParamsBytes = Encoding.UTF8.GetBytes(pronAssessmentParamsJson);
var pronAssessmentHeader = Convert.ToBase64String(pronAssessmentParamsBytes);
Настоятельно рекомендуется передавать потоковую передачу (фрагментированную передачу) во время публикации звуковых данных, что может значительно снизить задержку. См. пример кода на различных языках программирования, чтобы узнать, как включить потоковую передачу.
Примечание
Дополнительные сведения см. в оценке произношения.
Пример запроса
В следующем примере содержатся имя узла и обязательные заголовки. Важно отметить, что служба также ожидает звуковые данные, которые не включены в этот пример. Как упоминалось ранее, использование чанкинга рекомендуется, но не является обязательным.
POST speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=detailed HTTP/1.1
Accept: application/json;text/xml
Content-Type: audio/wav; codecs=audio/pcm; samplerate=16000
Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY
Host: YourResourceName.cognitiveservices.azure.com
Transfer-Encoding: chunked
Expect: 100-continue
Чтобы включить оценку произношения, можно добавить следующий заголовок. Сведения о создании этого заголовка см. в разделе "Параметры оценки произношения".
Pronunciation-Assessment: eyJSZWZlcm...
Коды состояния HTTP
Код состояния HTTP для каждого ответа указывает на успешность или распространенные ошибки.
| Код состояния HTTP | Описание | Возможные причины |
|---|---|---|
| 100 | Продолжить | Первоначальный запрос принимается. Перейдите к отправке остальных данных. (Этот код используется для потоковой передачи данных с разбиением на части.) |
| 200 | ХОРОШО | Запрос выполнен успешно. Текст ответа — это объект JSON. |
| 400 | Недопустимый запрос | Код языка не был указан, язык не поддерживается или звуковой файл недопустим (например). |
| 401 | Несанкционированный | Ключ ресурса или маркер авторизации недопустим в указанном регионе или конечная точка является недопустимой. |
| 403 | Запрещено | Отсутствует ключ ресурса или маркер авторизации. |
Примеры ответов
Ниже приведен типичный ответ на simple распознавание:
{
"RecognitionStatus": "Success",
"DisplayText": "Remind me to buy 5 pencils.",
"Offset": "1236645672289",
"Duration": "1236645672289"
}
Ниже приведен типичный ответ на detailed распознавание:
{
"RecognitionStatus": "Success",
"Offset": "1236645672289",
"Duration": "1236645672289",
"NBest": [
{
"Confidence": 0.9052885,
"Display": "What's the weather like?",
"ITN": "what's the weather like",
"Lexical": "what's the weather like",
"MaskedITN": "what's the weather like"
},
{
"Confidence": 0.92459863,
"Display": "what is the weather like",
"ITN": "what is the weather like",
"Lexical": "what is the weather like",
"MaskedITN": "what is the weather like"
}
]
}
Ниже приведен типичный ответ на распознавание с помощью оценки произношения:
{
"RecognitionStatus": "Success",
"Offset": 700000,
"Duration": 8400000,
"DisplayText": "Good morning.",
"SNR": 38.76819,
"NBest": [
{
"Confidence": 0.98503506,
"Lexical": "good morning",
"ITN": "good morning",
"MaskedITN": "good morning",
"Display": "Good morning.",
"AccuracyScore": 100.0,
"FluencyScore": 100.0,
"ProsodyScore": 87.8,
"CompletenessScore": 100.0,
"PronScore": 95.1,
"Words": [
{
"Word": "good",
"Offset": 700000,
"Duration": 2600000,
"Confidence": 0.0,
"AccuracyScore": 100.0,
"ErrorType": "None",
"Feedback": {
"Prosody": {
"Break": {
"ErrorTypes": [
"None"
],
"BreakLength": 0
},
"Intonation": {
"ErrorTypes": [],
"Monotone": {
"Confidence": 0.0,
"WordPitchSlopeConfidence": 0.0,
"SyllablePitchDeltaConfidence": 0.91385907
}
}
}
}
},
{
"Word": "morning",
"Offset": 3400000,
"Duration": 5700000,
"Confidence": 0.0,
"AccuracyScore": 100.0,
"ErrorType": "None",
"Feedback": {
"Prosody": {
"Break": {
"ErrorTypes": [
"None"
],
"UnexpectedBreak": {
"Confidence": 3.5294118e-08
},
"MissingBreak": {
"Confidence": 1.0
},
"BreakLength": 0
},
"Intonation": {
"ErrorTypes": [],
"Monotone": {
"Confidence": 0.0,
"WordPitchSlopeConfidence": 0.0,
"SyllablePitchDeltaConfidence": 0.91385907
}
}
}
}
}
]
}
]
}
Свойства ответа
Результаты предоставляются в формате JSON. Формат simple включает следующие поля верхнего уровня:
| Свойство | Описание |
|---|---|
RecognitionStatus |
Статус, например Success для успешного распознавания. См. следующую таблицу. |
DisplayText |
Распознанный текст после капитализации, расстановки знаков препинания, инверсной нормализации текста и маскирования ненормативной лексики. Присутствует только при успешном выполнении. Обратная нормализация текста — это преобразование устного текста в более короткие формы, такие как 200 для "двести" или "д-р Смит" для "доктор Смит". |
Offset |
Время (в 100-наносекундных единицах), с которого распознанная речь начинается в звуковом потоке. |
Duration |
Длительность (в 100-наносекундах) распознанной речи в звуковом потоке. |
SNR |
Коэффициент сигнала к шуму (SNR) распознанной речи в звуковом потоке. |
Поле RecognitionStatus может содержать следующие значения:
| Статус | Описание |
|---|---|
Success |
Распознавание прошло успешно, и DisplayText поле присутствует. |
NoMatch |
Речь была обнаружена в звуковом потоке, но ни слова из целевого языка не были сопоставлены. Это состояние обычно означает, что язык распознавания отличается от языка, который говорит пользователь. |
InitialSilenceTimeout |
Начало аудиопотока содержало только тишину, и время ожидания истекло во время ожидания начала речи. |
BabbleTimeout |
Начало аудиопотока содержало только шум, и работа службы была прервана в ожидании речи. |
Error |
Служба распознавания столкнулась с внутренней ошибкой и не могла продолжиться. Повторите попытку, если это возможно. |
Примечание
Если звук состоит только из ненормативной лексики, а profanity параметр запроса имеет removeзначение, служба не возвращает результат речи.
Формат detailed содержит больше форм распознанных результатов.
При использовании формата detailed, DisplayText предоставляется как Display для каждого результата в списке NBest.
Объект в списке NBest может включать:
| Свойство | Описание |
|---|---|
Confidence |
Оценка достоверности записи с 0,0 (нет уверенности) до 1,0 (полная уверенность). |
Lexical |
Лексическая форма распознанного текста: фактические слова, распознанные. |
ITN |
Инвертированная текстовая нормализация (ITN) или каноническая форма распознанного текста, с номерами телефонов, числами, аббревиатурами (например, "доктор смит" до "дp смит") и другими преобразованиями. |
MaskedITN |
Форма ITN с маскированием ненормативной лексики, примененная по запросу. |
Display |
Отображаемая форма распознанного текста с добавленными знаками препинания и заглавной буквы. Этот параметр совпадает с тем, что предоставляет DisplayText, при установке формата simple. |
AccuracyScore |
Точность произношения речи. Точность указывает, насколько тесно фонемы соответствуют произношению носителя языка. Оценка точности на уровне слова и полнотекстовых уровней агрегируется из оценки точности на уровне фонемы. |
FluencyScore |
Беглость предоставленной речи. Плавность речи указывает на то, насколько ближе её использование к тому, как носители языка делают паузы между словами. |
ProsodyScore |
Просодия данной речи. Prosody указывает, насколько естественно данное речь, включая стресс, интонацию, скорость речи и ритм. Сведения о определениях результатов оценки просодии см. в разделе "Параметры результата". |
CompletenessScore |
Полнота речи, определяемая вычислением соотношения произнесенных слов к словам в эталонном тексте. |
PronScore |
Общая оценка, указывающая качество произношения предоставленной речи. Эта оценка агрегируется из AccuracyScore, FluencyScore и CompletenessScore, учитывая вес. |
ErrorType |
Значение, указывающее, опущено ли слово, вставлено или неправильно произнесено по сравнению с ReferenceText. Возможные значения: None (что означает отсутствие ошибки в этом слове), Omission, Insertion и Mispronunciation. |
Фрагментированные передачи
Фрагментированные передачи (Transfer-Encoding: chunked) могут помочь уменьшить задержку распознавания. Она позволяет службе "Речь" начать обработку звукового файла во время передачи. REST API для короткого звука не предоставляет частичные или промежуточные результаты.
В следующем примере кода показано, как отправлять звук в блоках. Только первый блок должен содержать заголовок звукового файла.
request — это объект, подключенный HttpWebRequest к соответствующей конечной точке REST.
audioFile — это путь к звуковому файлу на диске.
var request = (HttpWebRequest)HttpWebRequest.Create(requestUri);
request.SendChunked = true;
request.Accept = @"application/json;text/xml";
request.Method = "POST";
request.ProtocolVersion = HttpVersion.Version11;
request.Host = host;
request.ContentType = @"audio/wav; codecs=audio/pcm; samplerate=16000";
request.Headers["Ocp-Apim-Subscription-Key"] = "YOUR_RESOURCE_KEY";
request.AllowWriteStreamBuffering = false;
using (var fs = new FileStream(audioFile, FileMode.Open, FileAccess.Read))
{
// Open a request stream and write 1,024-byte chunks in the stream one at a time.
byte[] buffer = null;
int bytesRead = 0;
using (var requestStream = request.GetRequestStream())
{
// Read 1,024 raw bytes from the input audio file.
buffer = new Byte[checked((uint)Math.Min(1024, (int)fs.Length))];
while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) != 0)
{
requestStream.Write(buffer, 0, bytesRead);
}
requestStream.Flush();
}
}
Проверки подлинности
Для каждого запроса требуется заголовок авторизации. В этой таблице показано, какие заголовки поддерживаются для каждой функции:
| Поддерживаемый заголовок авторизации | Речь в текст | Преобразование текста в речь |
|---|---|---|
Ocp-Apim-Subscription-Key |
Да | Да |
Authorization: Bearer |
Да | Да |
При использовании заголовка Ocp-Apim-Subscription-Key необходимо указать только ключ ресурса. Например:
'Ocp-Apim-Subscription-Key': 'YourSpeechResourceKey'
Если вы используете поток токена-носителя STS с Authorization: Bearer, сначала отправьте запрос к конечной точке issueToken. В этом запросе вы обменяете ключ ресурса на токен доступа, действительный в течение 10 минут.
Другим вариантом является использование аутентификации Microsoft Entra, при которой также применяется заголовок Authorization: Bearer, но с токеном, выданным через Microsoft Entra ID. См. раздел Use Microsoft Entra authentication.
Как получить токен доступа STS
Чтобы получить токен доступа STS, выполните запрос к конечной точке issueToken, используя Ocp-Apim-Subscription-Key и ключ ресурса.
Конечная issueToken точка имеет следующий формат:
https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken
Замените YourResourceName именем вашего ресурса Speech.
Примечание
Для этой конечной точки требуется, чтобы для вашего ресурса был настроен пользовательский поддомен. Для ресурсов без пользовательского домена вместо этого используйте региональную конечную точку доступа: https://<region>.api.cognitive.microsoft.com/sts/v1.0/issueToken. Замените <region> регионом Azure ресурса (например, eastus).
Используйте следующие примеры, чтобы создать запрос токена доступа.
Пример HTTP
Этот пример — простой HTTP-запрос для получения токена. Замените YourSpeechResourceKey ключом ресурса для службы "Речь". Замените YourResourceName именем вашего ресурса Speech.
POST /sts/v1.0/issueToken HTTP/1.1
Ocp-Apim-Subscription-Key: YourSpeechResourceKey
Host: YourResourceName.cognitiveservices.azure.com
Content-type: application/x-www-form-urlencoded
Content-Length: 0
Текст ответа содержит маркер доступа в формате веб-маркера JSON (JWT).
Пример PowerShell
В этом примере используется простой скрипт PowerShell для получения токена доступа. Замените YourSpeechResourceKey ключом ресурса для службы "Речь". Замените YourResourceName именем вашего ресурса Speech.
$FetchTokenHeader = @{
'Content-type'='application/x-www-form-urlencoded';
'Content-Length'= '0';
'Ocp-Apim-Subscription-Key' = 'YourSpeechResourceKey'
}
$OAuthToken = Invoke-RestMethod -Method POST `
-Uri https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken `
-Headers $FetchTokenHeader
# show the token received
$OAuthToken
Пример cURL
cURL — это средство командной строки, доступное в Linux (и в подсистема Windows для Linux). Эта команда cURL иллюстрирует получение токена доступа. Замените YourSpeechResourceKey ключом ресурса для службы "Речь". Замените YourResourceName именем вашего ресурса Speech.
curl -v -X POST \
"https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken" \
-H "Content-type: application/x-www-form-urlencoded" \
-H "Content-Length: 0" \
-H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey"
Пример C#
Этот класс C# демонстрирует, как получить токен доступа. Передайте ключ ресурса для службы Speech при создании экземпляра класса. Замените YourResourceName именем вашего ресурса Speech.
public class Authentication
{
public static readonly string FetchTokenUri =
"https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken";
private string subscriptionKey;
private string token;
public Authentication(string subscriptionKey)
{
this.subscriptionKey = subscriptionKey;
this.token = FetchTokenAsync(FetchTokenUri, subscriptionKey).Result;
}
public string GetAccessToken()
{
return this.token;
}
private async Task<string> FetchTokenAsync(string fetchUri, string subscriptionKey)
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
UriBuilder uriBuilder = new UriBuilder(fetchUri);
var result = await client.PostAsync(uriBuilder.Uri.AbsoluteUri, null);
Console.WriteLine("Token Uri: {0}", uriBuilder.Uri.AbsoluteUri);
return await result.Content.ReadAsStringAsync();
}
}
}
пример Python
# Request module must be installed.
# Run pip install requests if necessary.
import requests
subscription_key = 'REPLACE_WITH_YOUR_KEY'
def get_token(subscription_key):
fetch_token_url = 'https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken'
headers = {
'Ocp-Apim-Subscription-Key': subscription_key
}
response = requests.post(fetch_token_url, headers=headers)
access_token = str(response.text)
print(access_token)
Как использовать токен доступа
Маркер доступа должен быть отправлен в службу в качестве заголовка Authorization: Bearer <TOKEN> . Каждый маркер доступа действителен в течение 10 минут. Вы можете получить новый маркер в любое время, но чтобы свести к минимуму сетевой трафик и задержку, рекомендуется использовать один и тот же маркер в течение девяти минут.
Important
Токены Bearer ограничены конечной точкой, которая их выдала. Маркер, полученный от YourResourceName.cognitiveservices.azure.com, работает только для запросов к тому же хосту. Токен из <region>.api.cognitive.microsoft.com работает только с региональными конечными точками Speech. Если при использовании токена Bearer возникает ошибка 401, используйте вместо него Ocp-Apim-Subscription-Key с вашим ключом ресурса, так как этот вариант работает со всеми форматами конечных точек.
Ниже приведен пример HTTP-запроса к API преобразования речи в текст REST API для короткого звука:
POST /cognitiveservices/v1 HTTP/1.1
Authorization: Bearer YOUR_ACCESS_TOKEN
Host: YourResourceName.cognitiveservices.azure.com
Content-type: application/ssml+xml
Content-Length: 199
Connection: Keep-Alive
// Message body here...
Используйте аутентификацию Microsoft Entra
Чтобы использовать проверку подлинности Microsoft Entra с помощью REST API преобразования речи в текст для короткого звука, необходимо создать маркер доступа. Действия по получению токена доступа, состоящего из идентификатора ресурса и токена доступа Microsoft Entra, такие же, как при использовании пакета SDK службы Speech. Выполните действия, описанные здесь Use Microsoft Entra authentication
- Создать ресурс Foundry для обработки речи
- Настройка ресурса службы речи для аутентификации в Microsoft Entra
- Получение токена доступа Microsoft Entra
- Получение идентификатора ресурса "Речь"
После получения идентификатора ресурса и маркера доступа Microsoft Entra фактический маркер доступа можно создать в следующем формате:
aad#YOUR_RESOURCE_ID#YOUR_MICROSOFT_ENTRA_ACCESS_TOKEN
Необходимо включить префикс "aad#" и разделитель "#" (хэш) между идентификатором ресурса и маркером доступа.
Ниже приведен пример HTTP-запроса к API преобразования речи в текст REST API для короткого звука:
POST /cognitiveservices/v1 HTTP/1.1
Authorization: Bearer YOUR_ACCESS_TOKEN
Host: YourResourceName.cognitiveservices.azure.com
Content-type: application/ssml+xml
Content-Length: 199
Connection: Keep-Alive
// Message body here...
Дополнительные сведения о токенах доступа Microsoft Entra, включая срок их действия, см. в разделе Токены доступа в платформе идентификации Microsoft.