Rozhraní REST API pro převod textu na řeč
Služba Speech umožňuje převést text na syntetizovanou řeč a získat seznam podporovaných hlasů pro oblast pomocí rozhraní REST API. V tomto článku se dozvíte o možnostech autorizace, možnostech dotazu, strukturování požadavku a o tom, jak interpretovat odpověď.
Tip
Případy použití pro rozhraní REST API pro převod textu na řeč jsou omezené. Používejte ho jenom v případech, kdy nemůžete použít sadu Speech SDK. Pomocí sady Speech SDK se například můžete přihlásit k odběru událostí a získat tak další přehledy o textu pro zpracování řeči a výsledky.
Rozhraní REST API pro převod textu na řeč podporuje neurální text pro hlasové hlasy v mnoha národních prostředích. Každý dostupný koncový bod je přidružený k oblasti. Vyžaduje se klíč prostředku služby Speech pro koncový bod nebo oblast, kterou chcete použít. Tady jsou odkazy na další informace:
- Úplný seznam hlasů najdete v tématu Podpora jazyka a hlasu pro službu Speech.
- Informace o regionální dostupnosti najdete v tématu Podporované oblasti služby Speech.
- Informace o suverénních cloudech najdete v tomto článku o suverénních cloudech pro Azure Government a Microsoft Azure provozované koncovými body 21Vianet.
Důležité
Náklady se liší u předem připravených neurálních hlasů (označovaných jako neurální na stránce s cenami) a vlastních neurálních hlasů (označovaných jako Vlastní neurální na stránce s cenami). Další informace najdete v tématu Ceny služby Speech.
Než použijete text k rozhraní REST API pro řeč, musíte dokončit výměnu tokenů v rámci ověřování pro přístup ke službě. Další informace najdete v tématu Ověřování.
Získání seznamu hlasů
Pomocí koncového tts.speech.microsoft.com/cognitiveservices/voices/list
bodu můžete získat úplný seznam hlasů pro konkrétní oblast nebo koncový bod. Vytvořte předponu koncového bodu seznamu hlasů s oblastí, abyste získali seznam hlasů pro danou oblast. Pokud například chcete získat seznam hlasů pro westus
oblast, použijte https://westus.tts.speech.microsoft.com/cognitiveservices/voices/list
koncový bod. Seznam všech podporovanýchoblastích
Poznámka:
Hlasy a styly ve verzi Preview jsou dostupné jenom ve třech oblastech služeb: USA – východ, Západní Evropa a Jihovýchodní Asie.
Záhlaví žádosti
Tato tabulka obsahuje seznam povinných a volitelných hlaviček pro požadavky na převod textu na řeč:
Hlavička | Popis | Požadované nebo volitelné |
---|---|---|
Ocp-Apim-Subscription-Key |
Váš klíč prostředku služby Speech. | Buď toto záhlaví, nebo Authorization je povinné. |
Authorization |
Autorizační token před slovem Bearer . Další informace najdete v tématu Ověřování. |
Buď toto záhlaví, nebo Ocp-Apim-Subscription-Key je povinné. |
Text požadavku
Pro požadavky na GET
tento koncový bod se nevyžaduje text.
Ukázkový požadavek
Tento požadavek vyžaduje pouze autorizační hlavičku:
GET /cognitiveservices/voices/list HTTP/1.1
Host: westus.tts.speech.microsoft.com
Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY
Tady je příklad příkazu curl:
curl --location --request GET 'https://YOUR_RESOURCE_REGION.tts.speech.microsoft.com/cognitiveservices/voices/list' \
--header 'Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY'
Ukázková odpověď
Měli byste obdržet odpověď s textem JSON, který obsahuje všechna podporovaná národní prostředí, hlasy, pohlaví, styly a další podrobnosti. Vlastnost WordsPerMinute
pro každý hlas lze použít k odhadu délky výstupní řeči. Tento příklad JSON ukazuje částečné výsledky, které ilustrují strukturu odpovědi:
[
// Redacted for brevity
{
"Name": "Microsoft Server Speech Text to Speech Voice (en-US, JennyNeural)",
"DisplayName": "Jenny",
"LocalName": "Jenny",
"ShortName": "en-US-JennyNeural",
"Gender": "Female",
"Locale": "en-US",
"LocaleName": "English (United States)",
"StyleList": [
"assistant",
"chat",
"customerservice",
"newscast",
"angry",
"cheerful",
"sad",
"excited",
"friendly",
"terrified",
"shouting",
"unfriendly",
"whispering",
"hopeful"
],
"SampleRateHertz": "24000",
"VoiceType": "Neural",
"Status": "GA",
"ExtendedPropertyMap": {
"IsHighQuality48K": "True"
},
"WordsPerMinute": "152"
},
// Redacted for brevity
{
"Name": "Microsoft Server Speech Text to Speech Voice (en-US, JennyMultilingualNeural)",
"DisplayName": "Jenny Multilingual",
"LocalName": "Jenny Multilingual",
"ShortName": "en-US-JennyMultilingualNeural",
"Gender": "Female",
"Locale": "en-US",
"LocaleName": "English (United States)",
"SecondaryLocaleList": [
"de-DE",
"en-AU",
"en-CA",
"en-GB",
"es-ES",
"es-MX",
"fr-CA",
"fr-FR",
"it-IT",
"ja-JP",
"ko-KR",
"pt-BR",
"zh-CN"
],
"SampleRateHertz": "24000",
"VoiceType": "Neural",
"Status": "GA",
"WordsPerMinute": "190"
},
// Redacted for brevity
{
"Name": "Microsoft Server Speech Text to Speech Voice (ga-IE, OrlaNeural)",
"DisplayName": "Orla",
"LocalName": "Orla",
"ShortName": "ga-IE-OrlaNeural",
"Gender": "Female",
"Locale": "ga-IE",
"LocaleName": "Irish (Ireland)",
"SampleRateHertz": "24000",
"VoiceType": "Neural",
"Status": "GA",
"WordsPerMinute": "139"
},
// Redacted for brevity
{
"Name": "Microsoft Server Speech Text to Speech Voice (zh-CN, YunxiNeural)",
"DisplayName": "Yunxi",
"LocalName": "云希",
"ShortName": "zh-CN-YunxiNeural",
"Gender": "Male",
"Locale": "zh-CN",
"LocaleName": "Chinese (Mandarin, Simplified)",
"StyleList": [
"narration-relaxed",
"embarrassed",
"fearful",
"cheerful",
"disgruntled",
"serious",
"angry",
"sad",
"depressed",
"chat",
"assistant",
"newscast"
],
"SampleRateHertz": "24000",
"VoiceType": "Neural",
"Status": "GA",
"RolePlayList": [
"Narrator",
"YoungAdultMale",
"Boy"
],
"WordsPerMinute": "293"
},
// Redacted for brevity
]
Stavové kódy HTTP
Stavový kód HTTP pro každou odpověď označuje úspěch nebo běžné chyby.
Stavový kód HTTP | Popis | Možný důvod |
---|---|---|
200 | OK | Požadavek byl úspěšný. |
400 | Chybný požadavek | Požadovaný parametr chybí, je prázdný nebo null. Nebo hodnota předaná požadovanému nebo volitelnému parametru je neplatná. Běžným důvodem je příliš dlouhá hlavička. |
401 | Neautorizováno | Požadavek není autorizovaný. Ujistěte se, že je klíč nebo token prostředku platný a ve správné oblasti. |
429 | Příliš mnoho žádostí | Překročili jste kvótu nebo míru požadavků povolených pro váš prostředek. |
502 | Chybná brána | Došlo k problému na straně sítě nebo serveru. Tento stav může také znamenat neplatné hlavičky. |
Převod textu na řeč
Koncový cognitiveservices/v1
bod umožňuje převést text na řeč pomocí jazyka SSML (Speech Synthesis Markup Language).
Oblasti a koncové body
Tyto oblasti jsou podporované pro převod textu na řeč prostřednictvím rozhraní REST API. Nezapomeňte vybrat koncový bod, který odpovídá vaší oblasti prostředku služby Speech.
Předem sestavené neurální hlasy
Pomocí této tabulky můžete určit dostupnost neurálních hlasů podle oblasti nebo koncového bodu:
Oblast | Koncový bod |
---|---|
Austrálie – východ | https://australiaeast.tts.speech.microsoft.com/cognitiveservices/v1 |
Brazílie – jih | https://brazilsouth.tts.speech.microsoft.com/cognitiveservices/v1 |
Střední Kanada | https://canadacentral.tts.speech.microsoft.com/cognitiveservices/v1 |
USA – střed | https://centralus.tts.speech.microsoft.com/cognitiveservices/v1 |
Východní Asie | https://eastasia.tts.speech.microsoft.com/cognitiveservices/v1 |
East US | https://eastus.tts.speech.microsoft.com/cognitiveservices/v1 |
USA – východ 2 | https://eastus2.tts.speech.microsoft.com/cognitiveservices/v1 |
Francie – střed | https://francecentral.tts.speech.microsoft.com/cognitiveservices/v1 |
Německo – středozápad | https://germanywestcentral.tts.speech.microsoft.com/cognitiveservices/v1 |
Střední Indie | https://centralindia.tts.speech.microsoft.com/cognitiveservices/v1 |
Japonsko – východ | https://japaneast.tts.speech.microsoft.com/cognitiveservices/v1 |
Japonsko – západ | https://japanwest.tts.speech.microsoft.com/cognitiveservices/v1 |
Jio – západní Indie | https://jioindiawest.tts.speech.microsoft.com/cognitiveservices/v1 |
Jižní Korea – střed | https://koreacentral.tts.speech.microsoft.com/cognitiveservices/v1 |
USA – středosever | https://northcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
Severní Evropa | https://northeurope.tts.speech.microsoft.com/cognitiveservices/v1 |
Norsko – východ | https://norwayeast.tts.speech.microsoft.com/cognitiveservices/v1 |
Středojižní USA | https://southcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
Southeast Asia | https://southeastasia.tts.speech.microsoft.com/cognitiveservices/v1 |
Švédsko – střed | https://swedencentral.tts.speech.microsoft.com/cognitiveservices/v1 |
Švýcarsko – sever | https://switzerlandnorth.tts.speech.microsoft.com/cognitiveservices/v1 |
Švýcarsko – západ | https://switzerlandwest.tts.speech.microsoft.com/cognitiveservices/v1 |
Spojené arabské emiráty – sever | https://uaenorth.tts.speech.microsoft.com/cognitiveservices/v1 |
US Gov – Arizona | https://usgovarizona.tts.speech.azure.us/cognitiveservices/v1 |
US Gov – Virginie | https://usgovvirginia.tts.speech.azure.us/cognitiveservices/v1 |
Velká Británie – jih | https://uksouth.tts.speech.microsoft.com/cognitiveservices/v1 |
USA – středozápad | https://westcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
West Europe | https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1 |
USA – západ | https://westus.tts.speech.microsoft.com/cognitiveservices/v1 |
Západní USA 2 | https://westus2.tts.speech.microsoft.com/cognitiveservices/v1 |
USA – západ 3 | https://westus3.tts.speech.microsoft.com/cognitiveservices/v1 |
Tip
Hlasy ve verzi Preview jsou dostupné jenom v těchto třech oblastech: USA – východ, Západní Evropa a Jihovýchodní Asie.
Vlastní neurální hlasy
Pokud jste vytvořili vlastní neurální písmo hlasu, použijte koncový bod, který jste vytvořili. Můžete také použít následující koncové body. Nahraďte {deploymentId}
ID nasazení pro váš neurální hlasový model.
Oblast | Školení | Nasazení | Koncový bod |
---|---|---|---|
Austrálie – východ | Ano | Yes | https://australiaeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Brazílie – jih | No | Ano | https://brazilsouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Střední Kanada | No | Ano | https://canadacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
USA – střed | No | Ano | https://centralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Východní Asie | No | Ano | https://eastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
USA – východ | Ano | Yes | https://eastus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
USA – východ 2 | Ano | Yes | https://eastus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Francie – střed | No | Ano | https://francecentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Německo – středozápad | No | Ano | https://germanywestcentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Střední Indie | Ano | Yes | https://centralindia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Japonsko – východ | Ano | Yes | https://japaneast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Japonsko – západ | No | Ano | https://japanwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Jio – západní Indie | No | Ano | https://jioindiawest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Jižní Korea – střed | Ano | Yes | https://koreacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Severní střed USA | No | Ano | https://northcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Severní Evropa | Ano | Yes | https://northeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Norsko – východ | No | Ano | https://norwayeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Jižní Afrika – sever | No | Ano | https://southafricanorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Středojižní USA | Ano | Yes | https://southcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Southeast Asia | Ano | Yes | https://southeastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Švýcarsko – sever | No | Ano | https://switzerlandnorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Švýcarsko – západ | No | Ano | https://switzerlandwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Spojené arabské emiráty – sever | No | Ano | https://uaenorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Velká Británie – jih | Ano | Yes | https://uksouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Středozápad USA | No | Ano | https://westcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Západní Evropa | Ano | Yes | https://westeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
USA – západ | Ano | Yes | https://westus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Západní USA 2 | Ano | Yes | https://westus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
USA – západ 3 | No | Ano | https://westus3.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Poznámka:
Předchozí oblasti jsou k dispozici pro hostování neurálních hlasových modelů a syntézu v reálném čase. Vlastní trénování neurálního hlasu je dostupné jenom v některých oblastech. Uživatelé ale můžou snadno zkopírovat neurální hlasový model z těchto oblastí do jiných oblastí v předchozím seznamu.
Rozhraní API pro dlouhé zvukové záznamy
Rozhraní API Long Audio je k dispozici ve více oblastech s jedinečnými koncovými body:
Oblast | Koncový bod |
---|---|
Austrálie – východ | https://australiaeast.customvoice.api.speech.microsoft.com |
USA – východ | https://eastus.customvoice.api.speech.microsoft.com |
Střední Indie | https://centralindia.customvoice.api.speech.microsoft.com |
Středojižní USA | https://southcentralus.customvoice.api.speech.microsoft.com |
Southeast Asia | https://southeastasia.customvoice.api.speech.microsoft.com |
Velká Británie – jih | https://uksouth.customvoice.api.speech.microsoft.com |
Západní Evropa | https://westeurope.customvoice.api.speech.microsoft.com |
Záhlaví žádosti
Tato tabulka obsahuje seznam povinných a volitelných hlaviček pro požadavky na převod textu na řeč:
Hlavička | Popis | Požadované nebo volitelné |
---|---|---|
Authorization |
Autorizační token před slovem Bearer . Další informace najdete v tématu Ověřování. |
Požaduje se |
Content-Type |
Určuje typ obsahu zadaného textu. Přijatá hodnota: application/ssml+xml . |
Požaduje se |
X-Microsoft-OutputFormat |
Určuje formát výstupu zvuku. Úplný seznam přijatých hodnot najdete v části Výstupy zvuku. | Požaduje se |
User-Agent |
Název aplikace. Zadaná hodnota musí být kratší než 255 znaků. | Požaduje se |
Text požadavku
Pokud používáte vlastní neurální hlas, může být text požadavku odeslán jako prostý text (ASCII nebo UTF-8). V opačném případě se text každého POST
požadavku odešle jako SSML. SSML umožňuje zvolit hlas a jazyk syntetizované řeči, kterou vrátí funkce převodu textu na řeč. Úplný seznam podporovaných hlasů najdete v tématu Podpora jazyka a hlasu pro službu Speech.
Ukázkový požadavek
Tento požadavek HTTP používá SSML k určení hlasu a jazyka. Pokud je délka těla dlouhá a výsledný zvuk přesahuje 10 minut, zkrátí se na 10 minut. Jinými slovy, délka zvuku nesmí překročit 10 minut.
POST /cognitiveservices/v1 HTTP/1.1
X-Microsoft-OutputFormat: riff-24khz-16bit-mono-pcm
Content-Type: application/ssml+xml
Host: westus.tts.speech.microsoft.com
Content-Length: <Length>
Authorization: Bearer [Base64 access_token]
User-Agent: <Your application name>
<speak version='1.0' xml:lang='en-US'><voice xml:lang='en-US' xml:gender='Male'
name='en-US-ChristopherNeural'>
I'm excited to try text to speech!
</voice></speak>
* Pro délku obsahu byste měli použít vlastní délku obsahu. Ve většině případů se tato hodnota vypočítá automaticky.
Stavové kódy HTTP
Stavový kód HTTP pro každou odpověď označuje úspěch nebo běžné chyby:
Stavový kód HTTP | Popis | Možný důvod |
---|---|---|
200 | OK | Požadavek byl úspěšný. Tělo odpovědi je zvukový soubor. |
400 | Chybný požadavek | Požadovaný parametr chybí, je prázdný nebo null. Nebo hodnota předaná požadovanému nebo volitelnému parametru je neplatná. Běžným důvodem je příliš dlouhá hlavička. |
401 | Neautorizováno | Požadavek není autorizovaný. Ujistěte se, že je klíč nebo token prostředku služby Speech platný a ve správné oblasti. |
415 | Nepodporovaný typ média | Je možné, že byla zadaná nesprávná Content-Type hodnota. Content-Type by měla být nastavena na application/ssml+xml hodnotu . |
429 | Příliš mnoho žádostí | Překročili jste kvótu nebo míru požadavků povolených pro váš prostředek. |
502 | Chybná brána | Došlo k problému na straně sítě nebo serveru. Tento stav může také znamenat neplatné hlavičky. |
Pokud je 200 OK
stav HTTP, text odpovědi obsahuje zvukový soubor v požadovaném formátu. Tento soubor se dá přehrát při přenosu, uložení do vyrovnávací paměti nebo uložení do souboru.
Zvukové výstupy
Podporované formáty streamování a nestreamingového zvuku se odesílají v každém požadavku jako hlavička X-Microsoft-OutputFormat
. Každý formát zahrnuje přenosovou rychlost a typ kódování. Služba Speech podporuje zvukové výstupy 48 kHz, 24 kHz, 16 kHz a 8 kHz. Každý předem připravený neurální hlasový model je k dispozici na 24kHz a 48kHz s vysokou věrností.
amr-wb-16000hz
audio-16khz-16bit-32kbps-mono-opus
audio-16khz-32kbitrate-mono-mp3
audio-16khz-64kbitrate-mono-mp3
audio-16khz-128kbitrate-mono-mp3
audio-24khz-16bit-24kbps-mono-opus
audio-24khz-16bit-48kbps-mono-opus
audio-24khz-48kbitrate-mono-mp3
audio-24khz-96kbitrate-mono-mp3
audio-24khz-160kbitrate-mono-mp3
audio-48khz-96kbitrate-mono-mp3
audio-48khz-192kbitrate-mono-mp3
ogg-16khz-16bit-mono-opus
ogg-24khz-16bit-mono-opus
ogg-48khz-16bit-mono-opus
raw-8khz-8bit-mono-alaw
raw-8khz-8bit-mono-mulaw
raw-8khz-16bit-mono-pcm
raw-16khz-16bit-mono-pcm
raw-16khz-16bit-mono-truesilk
raw-22050hz-16bit-mono-pcm
raw-24khz-16bit-mono-pcm
raw-24khz-16bit-mono-truesilk
raw-44100hz-16bit-mono-pcm
raw-48khz-16bit-mono-pcm
webm-16khz-16bit-mono-opus
webm-24khz-16bit-24kbps-mono-opus
webm-24khz-16bit-mono-opus
Poznámka:
Pokud vyberete výstupní formát 48kHz, bude odpovídajícím způsobem vyvolán hlasový model s vysokou věrností s 48kHz. Vzorkovací frekvence jiné než 24kHz a 48kHz lze získat prostřednictvím převzorkování nebo převzorkování při synchronizaci, například 44,1kHz je převzorkována z 48kHz.
Pokud vybraný formát hlasu a výstupu má různé přenosové rychlosti, zvuk se podle potřeby převzorkuje. Formát můžete dekódovat ogg-24khz-16bit-mono-opus
pomocí kodeku Opus.
Ověřování
Každý požadavek vyžaduje autorizační hlavičku. Tato tabulka znázorňuje, která záhlaví jsou pro každou funkci podporovaná:
Podporovaná autorizační hlavička | Převod řeči na text | Text na řeč |
---|---|---|
Ocp-Apim-Subscription-Key |
Ano | Ano |
Authorization: Bearer |
Ano | Yes |
Pokud používáte hlavičku Ocp-Apim-Subscription-Key
, musíte zadat jenom klíč prostředku. Příklad:
'Ocp-Apim-Subscription-Key': 'YOUR_SUBSCRIPTION_KEY'
Když používáte hlavičku Authorization: Bearer
, musíte do koncového issueToken
bodu vytvořit požadavek. V této žádosti si vyměníte svůj klíč prostředku za přístupový token, který je platný 10 minut.
Další možností je použít ověřování Microsoft Entra, které také používá hlavičku Authorization: Bearer
, ale s tokenem vydaným prostřednictvím ID Microsoft Entra. Viz Použití ověřování Microsoft Entra.
Jak získat přístupový token
Pokud chcete získat přístupový token, musíte do koncového issueToken
bodu vytvořit požadavek pomocí Ocp-Apim-Subscription-Key
svého klíče prostředku.
Koncový issueToken
bod má tento formát:
https://<REGION_IDENTIFIER>.api.cognitive.microsoft.com/sts/v1.0/issueToken
Nahraďte <REGION_IDENTIFIER>
identifikátorem, který odpovídá oblasti vašeho předplatného.
K vytvoření žádosti o přístupový token použijte následující ukázky.
Ukázka PROTOKOLU HTTP
Tento příklad je jednoduchý požadavek HTTP pro získání tokenu. Nahraďte YOUR_SUBSCRIPTION_KEY
klíčem prostředku pro službu Speech. Pokud vaše předplatné není v oblasti USA – západ, nahraďte Host
záhlaví názvem hostitele vaší oblasti.
POST /sts/v1.0/issueToken HTTP/1.1
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY
Host: eastus.api.cognitive.microsoft.com
Content-type: application/x-www-form-urlencoded
Content-Length: 0
Text odpovědi obsahuje přístupový token ve formátu JSON Web Token (JWT).
Ukázka PowerShellu
Tento příklad je jednoduchý skript PowerShellu pro získání přístupového tokenu. Nahraďte YOUR_SUBSCRIPTION_KEY
klíčem prostředku pro službu Speech. Ujistěte se, že používáte správný koncový bod pro oblast, která odpovídá vašemu předplatnému. Tento příklad je aktuálně nastavený na USA – západ.
$FetchTokenHeader = @{
'Content-type'='application/x-www-form-urlencoded';
'Content-Length'= '0';
'Ocp-Apim-Subscription-Key' = 'YOUR_SUBSCRIPTION_KEY'
}
$OAuthToken = Invoke-RestMethod -Method POST -Uri https://eastus.api.cognitive.microsoft.com/sts/v1.0/issueToken
-Headers $FetchTokenHeader
# show the token received
$OAuthToken
Ukázka cURL
cURL je nástroj příkazového řádku dostupný v Linuxu (a v Subsystém Windows pro Linux). Tento příkaz cURL ukazuje, jak získat přístupový token. Nahraďte YOUR_SUBSCRIPTION_KEY
klíčem prostředku pro službu Speech. Ujistěte se, že používáte správný koncový bod pro oblast, která odpovídá vašemu předplatnému. Tento příklad je aktuálně nastavený na USA – západ.
curl -v -X POST \
"https://eastus.api.cognitive.microsoft.com/sts/v1.0/issueToken" \
-H "Content-type: application/x-www-form-urlencoded" \
-H "Content-Length: 0" \
-H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY"
Ukázka v jazyce C#
Tato třída jazyka C# ukazuje, jak získat přístupový token. Klíč prostředku pro službu Speech předejte při vytváření instance třídy. Pokud vaše předplatné není v oblasti USA – západ, změňte hodnotu FetchTokenUri
tak, aby odpovídala oblasti vašeho předplatného.
public class Authentication
{
public static readonly string FetchTokenUri =
"https://eastus.api.cognitive.microsoft.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();
}
}
}
Ukázka Pythonu
# 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://eastus.api.cognitive.microsoft.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)
Jak používat přístupový token
Přístupový token by měl být odeslán do služby jako hlavička Authorization: Bearer <TOKEN>
. Každý přístupový token je platný po dobu 10 minut. Nový token můžete kdykoli získat, ale pokud chcete minimalizovat síťový provoz a latenci, doporučujeme použít stejný token po dobu devíti minut.
Tady je ukázkový požadavek HTTP na rozhraní REST API pro převod řeči na text pro krátký zvuk:
POST /cognitiveservices/v1 HTTP/1.1
Authorization: Bearer YOUR_ACCESS_TOKEN
Host: westus.stt.speech.microsoft.com
Content-type: application/ssml+xml
Content-Length: 199
Connection: Keep-Alive
// Message body here...
Používání ověřování Microsoft Entra
Pokud chcete pro krátký zvuk použít ověřování Microsoft Entra s rozhraním REST API pro převod řeči na text, musíte vytvořit přístupový token. Postup získání přístupového tokenu, který se skládá z ID prostředku a přístupového tokenu Microsoft Entra, jsou stejné jako při použití sady Speech SDK. Postupujte podle zde uvedených kroků, použijte ověřování Microsoft Entra.
- Vytvoření prostředku služby Speech
- Konfigurace prostředku služby Speech pro ověřování Microsoft Entra
- Získání přístupového tokenu Microsoft Entra
- Získání ID prostředku služby Speech
Po získání ID prostředku a přístupového tokenu Microsoft Entra lze skutečný přístupový token vytvořit pomocí tohoto formátu:
aad#YOUR_RESOURCE_ID#YOUR_MICROSOFT_ENTRA_ACCESS_TOKEN
Musíte zahrnout předponu "aad#" a oddělovač hodnot hash (#) mezi ID prostředku a přístupový token.
Tady je ukázkový požadavek HTTP na rozhraní REST API pro převod řeči na text pro krátký zvuk:
POST /cognitiveservices/v1 HTTP/1.1
Authorization: Bearer YOUR_ACCESS_TOKEN
Host: westus.stt.speech.microsoft.com
Content-type: application/ssml+xml
Content-Length: 199
Connection: Keep-Alive
// Message body here...
Další informace o přístupovýchtokench