Szöveg–beszéd REST API

A Speech szolgáltatással szintetizált beszédgé alakíthatja a szöveget, és rest API használatával lekérheti egy régió támogatott hangjainak listáját. Ebben a cikkben megismerheti az engedélyezési beállításokat, a lekérdezési beállításokat, a kérések szerkezetének módját és a válaszok értelmezését.

Tipp.

A rest API-t csak a szöveghez használhatja. Csak olyan esetekben használja, amikor nem tudja használni a Speech SDK-t. A Speech SDK-val például előfizethet az eseményekre , hogy további betekintést nyerjen a szövegből a beszédfeldolgozásba és az eredményekbe.

A text to speech REST API számos helyen támogatja a neurális szöveget a beszédhangokhoz. Minden elérhető végpont egy régióhoz van társítva. A használni kívánt végponthoz vagy régióhoz beszéderőforrás-kulcs szükséges. Az alábbiakban további információkra mutató hivatkozások találhatók:

Fontos

A költségek az előre összeállított neurális hangok (a díjszabási oldalon neurálisnak) és az egyéni neurális hangoknak (a díjszabási oldalon egyéni neurálisnak) eltérőek lehetnek. További információkért lásd a Speech service díjszabását.

Mielőtt a szöveget a REST API beszédére használné, tisztában kell lenni azzal, hogy a szolgáltatás eléréséhez a hitelesítés részeként jogkivonatcserét kell végrehajtania. További információért lásd: Hitelesítés.

Hanglista lekérése

A végpont használatával tts.speech.microsoft.com/cognitiveservices/voices/list lekérheti egy adott régió vagy végpont hangjainak teljes listáját. A hanglista végpontjának előtagja egy régióval az adott régióhoz tartozó hangok listájának lekéréséhez. Például a régióhoz tartozó hangok listájának lekéréséhez westus használja a végpontot https://westus.tts.speech.microsoft.com/cognitiveservices/voices/list . Az összes támogatott régió listáját a régiók dokumentációjában találja.

Feljegyzés

Az előzetes verzióban szereplő hangok és stílusok csak három szolgáltatásrégióban érhetők el: az USA keleti régiójában, Nyugat-Európában és Délkelet-Ázsiában.

Kérésfejlécek

Ez a táblázat a szövegfelolvasási kérelmekhez szükséges és opcionális fejléceket sorolja fel:

Fejléc Leírás Kötelező vagy választható
Ocp-Apim-Subscription-Key A Speech erőforráskulcsa. Vagy ez a fejléc, vagy Authorization kötelező.
Authorization A szó Bearerelőtti engedélyezési jogkivonat. További információért lásd: Hitelesítés. Vagy ez a fejléc, vagy Ocp-Apim-Subscription-Key kötelező.

Kérés törzse

A végpontra irányuló kérésekhez nincs szükség törzsre GET .

Mintakérés

Ehhez a kéréshez csak egy engedélyezési fejléc szükséges:

GET /cognitiveservices/voices/list HTTP/1.1

Host: westus.tts.speech.microsoft.com
Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY

Íme egy példa curl parancsra:

curl --location --request GET 'https://YOUR_RESOURCE_REGION.tts.speech.microsoft.com/cognitiveservices/voices/list' \
--header 'Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY'

Mintaválasz

Olyan JSON-törzstel kell választ kapnia, amely tartalmazza az összes támogatott területi beállításokat, hangokat, nemet, stílusokat és egyéb részleteket. Az WordsPerMinute egyes hangok tulajdonsága a kimeneti beszéd hosszának becslésére használható. Ez a JSON-példa részleges eredményeket mutat be a válasz szerkezetének szemléltetéséhez:

[  
    // 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
]

HTTP-állapotkódok

Az egyes válaszok HTTP-állapotkódja sikeres vagy gyakori hibákat jelez.

HTTP-állapotkód Leírás Lehetséges ok
200 OK A kérés sikeres volt.
400 Hibás kérés Hiányzik egy kötelező paraméter, üres vagy null. Vagy a kötelező vagy nem kötelező paraméternek átadott érték érvénytelen. Gyakori ok egy túl hosszú fejléc.
401 Nem engedélyezett A kérés nincs engedélyezve. Győződjön meg arról, hogy az erőforráskulcs vagy a jogkivonat érvényes, és a megfelelő régióban van.
429 Túl sok kérés Túllépte az erőforráshoz engedélyezett kérések kvótáját vagy arányát.
502 Rossz átjáró Hálózati vagy kiszolgálóoldali probléma van. Ez az állapot érvénytelen fejléceket is jelezhet.

Szöveg átalakítása beszédté

A cognitiveservices/v1 végpont lehetővé teszi a szöveg beszédgé konvertálását a Beszédszintézis korrektúranyelv (SSML) használatával.

Régiók és végpontok

Ezek a régiók a REST API-val történő szövegfelolvasáshoz támogatottak. Mindenképpen válassza ki a Speech erőforrásrégiónak megfelelő végpontot.

Előre összeállított neurális hangok

Ezzel a táblázattal meghatározhatja a neurális hangok elérhetőségét régió vagy végpont szerint:

Régió Végpont
Kelet-Ausztrália https://australiaeast.tts.speech.microsoft.com/cognitiveservices/v1
Dél-Brazília https://brazilsouth.tts.speech.microsoft.com/cognitiveservices/v1
Közép-Kanada https://canadacentral.tts.speech.microsoft.com/cognitiveservices/v1
Az USA középső régiója https://centralus.tts.speech.microsoft.com/cognitiveservices/v1
Kelet-Ázsia https://eastasia.tts.speech.microsoft.com/cognitiveservices/v1
USA keleti régiója https://eastus.tts.speech.microsoft.com/cognitiveservices/v1
USA 2. keleti régiója https://eastus2.tts.speech.microsoft.com/cognitiveservices/v1
Közép-Franciaország https://francecentral.tts.speech.microsoft.com/cognitiveservices/v1
Középnyugat-Németország https://germanywestcentral.tts.speech.microsoft.com/cognitiveservices/v1
Közép-India https://centralindia.tts.speech.microsoft.com/cognitiveservices/v1
Kelet-Japán https://japaneast.tts.speech.microsoft.com/cognitiveservices/v1
Nyugat-Japán https://japanwest.tts.speech.microsoft.com/cognitiveservices/v1
Jio Nyugat-India https://jioindiawest.tts.speech.microsoft.com/cognitiveservices/v1
Dél-Korea középső régiója https://koreacentral.tts.speech.microsoft.com/cognitiveservices/v1
USA északi középső régiója https://northcentralus.tts.speech.microsoft.com/cognitiveservices/v1
Észak-Európa https://northeurope.tts.speech.microsoft.com/cognitiveservices/v1
Kelet-Norvégia https://norwayeast.tts.speech.microsoft.com/cognitiveservices/v1
USA déli középső régiója https://southcentralus.tts.speech.microsoft.com/cognitiveservices/v1
Délkelet-Ázsia https://southeastasia.tts.speech.microsoft.com/cognitiveservices/v1
Közép-Svédország https://swedencentral.tts.speech.microsoft.com/cognitiveservices/v1
Észak-Svájc https://switzerlandnorth.tts.speech.microsoft.com/cognitiveservices/v1
Nyugat-Svájc https://switzerlandwest.tts.speech.microsoft.com/cognitiveservices/v1
Egyesült Arab Emírségek északi régiója https://uaenorth.tts.speech.microsoft.com/cognitiveservices/v1
USA-beli államigazgatás – Arizona https://usgovarizona.tts.speech.azure.us/cognitiveservices/v1
USA-beli államigazgatás – Virginia https://usgovvirginia.tts.speech.azure.us/cognitiveservices/v1
Az Egyesült Királyság déli régiója https://uksouth.tts.speech.microsoft.com/cognitiveservices/v1
USA nyugati középső régiója https://westcentralus.tts.speech.microsoft.com/cognitiveservices/v1
Nyugat-Európa https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1
USA nyugati régiója https://westus.tts.speech.microsoft.com/cognitiveservices/v1
USA 2. nyugati régiója https://westus2.tts.speech.microsoft.com/cognitiveservices/v1
USA 3. nyugati régiója https://westus3.tts.speech.microsoft.com/cognitiveservices/v1

Tipp.

Az előzetes verzióban szereplő hangok csak ebben a három régióban érhetők el: az USA keleti régiójában, Nyugat-Európában és Délkelet-Ázsiában.

Egyéni neurális hangok

Ha egyéni neurális hang betűtípust hozott létre, használja a létrehozott végpontot. A következő végpontokat is használhatja. Cserélje le {deploymentId} a neurális hangmodell üzembehelyezési azonosítóját.

Régió Tanfolyam Telepítés Végpont
Kelet-Ausztrália Igen Igen https://australiaeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Dél-Brazília Nem Igen https://brazilsouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Közép-Kanada Nem Igen https://canadacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Az USA középső régiója Nem Igen https://centralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Kelet-Ázsia Nem Igen https://eastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
USA keleti régiója Igen Igen https://eastus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
USA 2. keleti régiója Igen Igen https://eastus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Közép-Franciaország Nem Igen https://francecentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Középnyugat-Németország Nem Igen https://germanywestcentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Közép-India Igen Igen https://centralindia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Kelet-Japán Igen Igen https://japaneast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Nyugat-Japán Nem Igen https://japanwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Jio Nyugat-India Nem Igen https://jioindiawest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Dél-Korea középső régiója Igen Igen https://koreacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
USA északi középső régiója Nem Igen https://northcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Észak-Európa Igen Igen https://northeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Kelet-Norvégia Nem Igen https://norwayeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Dél-Afrika északi régiója Nem Igen https://southafricanorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
USA déli középső régiója Igen Igen https://southcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Délkelet-Ázsia Igen Igen https://southeastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Észak-Svájc Nem Igen https://switzerlandnorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Nyugat-Svájc Nem Igen https://switzerlandwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Egyesült Arab Emírségek északi régiója Nem Igen https://uaenorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Az Egyesült Királyság déli régiója Igen Igen https://uksouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
USA nyugati középső régiója Nem Igen https://westcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Nyugat-Európa Igen Igen https://westeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
USA nyugati régiója Igen Igen https://westus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
USA 2. nyugati régiója Igen Igen https://westus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
USA 3. nyugati régiója Nem Igen https://westus3.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}

Feljegyzés

Az előző régiók a neurális hangmodellek üzemeltetéséhez és a valós idejű szintézishez érhetők el. Az egyéni neurális hangképzés csak bizonyos régiókban érhető el. A felhasználók azonban könnyedén másolhatnak neurális hangmodelleket ezekről a régiókról az előző lista más régióiba.

Long Audio API

A Long Audio API több régióban érhető el egyedi végpontokkal:

Régió Végpont
Kelet-Ausztrália https://australiaeast.customvoice.api.speech.microsoft.com
USA keleti régiója https://eastus.customvoice.api.speech.microsoft.com
Közép-India https://centralindia.customvoice.api.speech.microsoft.com
USA déli középső régiója https://southcentralus.customvoice.api.speech.microsoft.com
Délkelet-Ázsia https://southeastasia.customvoice.api.speech.microsoft.com
Az Egyesült Királyság déli régiója https://uksouth.customvoice.api.speech.microsoft.com
Nyugat-Európa https://westeurope.customvoice.api.speech.microsoft.com

Kérésfejlécek

Ez a táblázat a szövegfelolvasási kérelmekhez szükséges és opcionális fejléceket sorolja fel:

Fejléc Leírás Kötelező vagy választható
Authorization A szó Bearerelőtti engedélyezési jogkivonat. További információért lásd: Hitelesítés. Szükséges
Content-Type Megadja a megadott szöveg tartalomtípusát. Elfogadott érték: application/ssml+xml. Szükséges
X-Microsoft-OutputFormat Megadja a hangkimenet formátumát. Az elfogadott értékek teljes listáját a Hangkimenetek című témakörben találja. Szükséges
User-Agent Az alkalmazás neve. A megadott értéknek 255 karakternél kevesebbnek kell lennie. Szükséges

Kérés törzse

Egyéni neurális hang használata esetén a kérés törzse egyszerű szövegként (ASCII vagy UTF-8) küldhető el. Ellenkező esetben az egyes POST kérések törzse SSML-ként lesz elküldve. Az SSML lehetővé teszi a szintetizált beszéd hangjának és nyelvének kiválasztását, amelyet a szövegfelolvasási funkció visszaad. A támogatott hangok teljes listájáért tekintse meg a Speech szolgáltatás nyelv- és hangtámogatását.

Mintakérés

Ez a HTTP-kérés SSML használatával adja meg a hangot és a nyelvet. Ha a törzs hossza hosszú, és az eredményként kapott hang meghaladja a 10 percet, akkor a csonkolás 10 percig tart. Más szóval a hang hossza nem haladhatja meg a 10 percet.

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>

* A Tartalomhossz esetében a saját tartalomhosszt kell használnia. A legtöbb esetben a rendszer automatikusan kiszámítja ezt az értéket.

HTTP-állapotkódok

Az egyes válaszok HTTP-állapotkódja sikeres vagy gyakori hibákat jelez:

HTTP-állapotkód Leírás Lehetséges ok
200 OK A kérés sikeres volt. A válasz törzse egy hangfájl.
400 Hibás kérés Hiányzik egy kötelező paraméter, üres vagy null. Vagy a kötelező vagy nem kötelező paraméternek átadott érték érvénytelen. Gyakori ok egy túl hosszú fejléc.
401 Nem engedélyezett A kérés nincs engedélyezve. Győződjön meg arról, hogy a Speech erőforráskulcsa vagy jogkivonata érvényes, és a megfelelő régióban van.
415 Nem támogatott médiatípus Lehetséges, hogy nem a megfelelő Content-Type értéket adta meg. Content-Type beállításnak a következőre kell állítania: application/ssml+xml.
429 Túl sok kérés Túllépte az erőforráshoz engedélyezett kérések kvótáját vagy arányát.
502 Rossz átjáró Hálózati vagy kiszolgálóoldali probléma van. Ez az állapot érvénytelen fejléceket is jelezhet.

Ha a HTTP-állapot az 200 OK, a válasz törzse egy hangfájlt tartalmaz a kért formátumban. Ez a fájl lejátszható átvitelkor, pufferbe mentve vagy fájlba mentve.

Hangkimenetek

A támogatott streamelési és nem streamelési hangformátumok minden kérésben fejlécként lesznek X-Microsoft-OutputFormat elküldve. Minden formátum bitsebességet és kódolási típust tartalmaz. A Speech szolgáltatás 48 kHz-es, 24 kHz-es, 16 kHz-es és 8 kHz-es hangkimeneteket támogat. Minden előre összeállított neurális hangmodell 24kHz-en és 48kHz-en érhető el.

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

Feljegyzés

Ha a 48kHz-es kimeneti formátumot választja, a rendszer ennek megfelelően meghívja a 48kHz-es nagy teljesítményű hangmodellt. A 24kHz-től és a 48kHz-től eltérő mintasebességek a szintetizáláskor a 44,1kHz-es 48kHz-ről történő leépítéssel vagy leépítéssel állíthatók be.

Ha a kiválasztott hang- és kimeneti formátum eltérő átviteli sebességgel rendelkezik, a hang szükség szerint újra lesz bélyegzve. A formátumot az ogg-24khz-16bit-mono-opusOpus kodek használatával dekódolhatja.

Hitelesítés

Minden kérelemhez szükség van egy engedélyezési fejlécre. Ez a táblázat az egyes funkciókhoz támogatott fejléceket mutatja be:

Támogatott engedélyezési fejléc Diktálás Szövegfelolvasás
Ocp-Apim-Subscription-Key Igen Igen
Authorization: Bearer Igen Igen

Ha a fejlécet Ocp-Apim-Subscription-Key használja, csak az erőforráskulcsot kell megadnia. Példa:

'Ocp-Apim-Subscription-Key': 'YOUR_SUBSCRIPTION_KEY'

Amikor a fejlécet Authorization: Bearer használja, kérést kell küldenie a issueToken végponthoz. Ebben a kérésben az erőforráskulcsot egy 10 percig érvényes hozzáférési jogkivonatra cseréli.

Hogyan szerezhetek be hozzáférési tokent

A hozzáférési jogkivonat lekéréséhez a végpontra irányuló kérést kell intéznie az issueToken erőforráskulcs és az erőforráskulcs használatával Ocp-Apim-Subscription-Key .

A issueToken végpont formátuma a következő:

https://<REGION_IDENTIFIER>.api.cognitive.microsoft.com/sts/v1.0/issueToken

Cserélje le <REGION_IDENTIFIER> az előfizetés régiójának megfelelő azonosítóra.

A hozzáférési jogkivonat-kérés létrehozásához használja az alábbi példákat.

HTTP-minta

Ez a példa egy egyszerű HTTP-kérés egy jogkivonat lekéréséhez. Cserélje le YOUR_SUBSCRIPTION_KEY a Speech szolgáltatás erőforráskulcsát. Ha az előfizetése nem az USA nyugati régiójában található, cserélje le a fejlécet a Host régió gazdagépnevére.

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

A válasz törzse JSON Web Token (JWT) formátumban tartalmazza a hozzáférési jogkivonatot.

PowerShell-minta

Ez a példa egy egyszerű PowerShell-szkript egy hozzáférési jogkivonat lekéréséhez. Cserélje le YOUR_SUBSCRIPTION_KEY a Speech szolgáltatás erőforráskulcsát. Ügyeljen arra, hogy az előfizetésnek megfelelő régióhoz a megfelelő végpontot használja. Ez a példa jelenleg az USA nyugati régiójára van állítva.

$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

cURL-minta

A cURL egy parancssori eszköz, amely Linuxon (és a Linuxos Windows-alrendszer) is elérhető. Ez a cURL-parancs bemutatja, hogyan szerezhet be hozzáférési jogkivonatot. Cserélje le YOUR_SUBSCRIPTION_KEY a Speech szolgáltatás erőforráskulcsát. Ügyeljen arra, hogy az előfizetésnek megfelelő régióhoz a megfelelő végpontot használja. Ez a példa jelenleg az USA nyugati régiójára van állítva.

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"

C#-minta

Ez a C#-osztály bemutatja, hogyan szerezhet be hozzáférési jogkivonatot. Az osztály példányosításakor adja át a Speech szolgáltatás erőforráskulcsát. Ha az előfizetése nem az USA nyugati régiójában található, módosítsa az előfizetéséhez tartozó régió értékének FetchTokenUri megfelelő értéket.

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();
        }
    }
}

Python-minta

# 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)

Hozzáférési jogkivonat használata

A hozzáférési jogkivonatot fejlécként kell elküldeni a szolgáltatásnak Authorization: Bearer <TOKEN> . Minden hozzáférési jogkivonat 10 percig érvényes. Bármikor beszerezhet egy új jogkivonatot, de a hálózati forgalom és a késés minimalizálása érdekében azt javasoljuk, hogy kilenc percig ugyanazt a jogkivonatot használja.

Íme egy minta HTTP-kérés a Speech to text REST API-hoz rövid hangért:

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...

Következő lépések