Sdílet prostřednictvím


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:

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+xmlhodnotu .
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 OKstav 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

Další kroky