REST API för text till tal
Med speech-tjänsten kan du konvertera text till syntetiserat tal och hämta en lista över röster som stöds för en region med hjälp av ett REST-API. I den här artikeln får du lära dig mer om auktoriseringsalternativ, frågealternativ, hur du strukturerar en begäran och hur du tolkar ett svar.
Dricks
Användningsfallen för rest-API:et text till tal är begränsade. Använd den endast i fall där du inte kan använda Speech SDK. Med Speech SDK kan du till exempel prenumerera på händelser för mer information om text till talbearbetning och resultat.
Rest-API:et för text till tal stöder neural text till talröster på många språk. Varje tillgänglig slutpunkt är associerad med en region. En Speech-resursnyckel för slutpunkten eller regionen som du planerar att använda krävs. Här är länkar till mer information:
- En fullständig lista över röster finns i Språk och röststöd för Speech-tjänsten.
- Information om regional tillgänglighet finns i Regioner som stöds av Speech-tjänsten.
- Information om Azure Government och Microsoft Azure som drivs av 21Vianet-slutpunkter finns i den här artikeln om nationella moln.
Viktigt!
Kostnaderna varierar för fördefinierade neurala röster (kallas neurala på prissidan) och anpassade neurala röster (kallas anpassad neural på prissidan). Mer information finns i Priser för Speech-tjänsten.
Innan du använder text-till-tal-REST-API:et måste du slutföra ett tokenutbyte som en del av autentiseringen för att få åtkomst till tjänsten. Mer information finns i Autentisering.
Hämta en lista med röster
Du kan använda tts.speech.microsoft.com/cognitiveservices/voices/list
slutpunkten för att få en fullständig lista med röster för en viss region eller slutpunkt. Prefixa slutpunkten för röstlistan med en region för att hämta en lista med röster för den regionen. Om du till exempel vill hämta en lista med röster för westus
regionen använder du https://westus.tts.speech.microsoft.com/cognitiveservices/voices/list
slutpunkten. En lista över alla regioner som stöds finns i dokumentationen för regioner .
Kommentar
Röster och formatmallar i förhandsversionen är endast tillgängliga i tre tjänstregioner: USA, östra, Europa, västra och Asien, sydöstra.
Begärandehuvuden
Den här tabellen visar obligatoriska och valfria rubriker för text-till-tal-begäranden:
Header | beskrivning | Obligatorisk eller valfri |
---|---|---|
Ocp-Apim-Subscription-Key |
Din Speech-resursnyckel. | Antingen den här rubriken eller Authorization krävs. |
Authorization |
En auktoriseringstoken föregås av ordet Bearer . Mer information finns i Autentisering. |
Antingen den här rubriken eller Ocp-Apim-Subscription-Key krävs. |
Begärandetext
En brödtext krävs inte för GET
begäranden till den här slutpunkten.
Exempelbegäran
Den här begäran kräver endast ett auktoriseringshuvud:
GET /cognitiveservices/voices/list HTTP/1.1
Host: westus.tts.speech.microsoft.com
Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY
Här är ett exempel på ett curl-kommando:
curl --location --request GET 'https://YOUR_RESOURCE_REGION.tts.speech.microsoft.com/cognitiveservices/voices/list' \
--header 'Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY'
Exempelsvar
Du bör få ett svar med en JSON-brödtext som innehåller alla språk som stöds, röster, kön, format och annan information. Egenskapen WordsPerMinute
för varje röst kan användas för att uppskatta längden på utdatatalet. Det här JSON-exemplet visar partiella resultat för att illustrera strukturen för ett svar:
[
// 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-statuskoder
HTTP-statuskoden för varje svar anger lyckade eller vanliga fel.
HTTP-statuskod | beskrivning | Möjlig orsak |
---|---|---|
200 | OK | Begäran lyckades. |
400 | Felaktig begäran | En obligatorisk parameter saknas, är tom eller null. Eller så är värdet som skickas till en obligatorisk eller valfri parameter ogiltigt. En vanlig orsak är en rubrik som är för lång. |
401 | Behörighet saknas | Begäran är inte auktoriserad. Kontrollera att resursnyckeln eller token är giltig och i rätt region. |
429 | för många begäranden | Du har överskridit kvoten eller antalet begäranden som tillåts för din resurs. |
502 | Felaktig gateway | Det finns ett problem på nätverks- eller serversidan. Den här statusen kan också indikera ogiltiga rubriker. |
Konvertera text till tal
Med cognitiveservices/v1
slutpunkten kan du konvertera text till tal med hjälp av SSML (Speech Synthesis Markup Language).
Regioner och slutpunkter
Dessa regioner stöds för text till tal via REST-API:et. Se till att välja den slutpunkt som matchar din Speech-resursregion.
Fördefinierade neurala röster
Använd den här tabellen för att fastställa tillgängligheten för neurala röster per region eller slutpunkt:
Region | Slutpunkt |
---|---|
Australien, östra | https://australiaeast.tts.speech.microsoft.com/cognitiveservices/v1 |
Brasilien, södra | https://brazilsouth.tts.speech.microsoft.com/cognitiveservices/v1 |
Kanada, centrala | https://canadacentral.tts.speech.microsoft.com/cognitiveservices/v1 |
Central US | https://centralus.tts.speech.microsoft.com/cognitiveservices/v1 |
Asien, östra | https://eastasia.tts.speech.microsoft.com/cognitiveservices/v1 |
East US | https://eastus.tts.speech.microsoft.com/cognitiveservices/v1 |
USA, östra 2 | https://eastus2.tts.speech.microsoft.com/cognitiveservices/v1 |
Frankrike, centrala | https://francecentral.tts.speech.microsoft.com/cognitiveservices/v1 |
Tyskland, västra centrala | https://germanywestcentral.tts.speech.microsoft.com/cognitiveservices/v1 |
Indien, centrala | https://centralindia.tts.speech.microsoft.com/cognitiveservices/v1 |
Japan, östra | https://japaneast.tts.speech.microsoft.com/cognitiveservices/v1 |
Japan, västra | https://japanwest.tts.speech.microsoft.com/cognitiveservices/v1 |
Jio Västra Indien | https://jioindiawest.tts.speech.microsoft.com/cognitiveservices/v1 |
Sydkorea, centrala | https://koreacentral.tts.speech.microsoft.com/cognitiveservices/v1 |
USA, norra centrala | https://northcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
Europa, norra | https://northeurope.tts.speech.microsoft.com/cognitiveservices/v1 |
Norge, östra | https://norwayeast.tts.speech.microsoft.com/cognitiveservices/v1 |
USA, södra centrala | https://southcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
Sydostasien | https://southeastasia.tts.speech.microsoft.com/cognitiveservices/v1 |
Sverige, centrala | https://swedencentral.tts.speech.microsoft.com/cognitiveservices/v1 |
Schweiz, norra | https://switzerlandnorth.tts.speech.microsoft.com/cognitiveservices/v1 |
Schweiz, västra | https://switzerlandwest.tts.speech.microsoft.com/cognitiveservices/v1 |
Förenade Arabemiraten, norra | https://uaenorth.tts.speech.microsoft.com/cognitiveservices/v1 |
US Gov, Arizona | https://usgovarizona.tts.speech.azure.us/cognitiveservices/v1 |
US Gov, Virginia | https://usgovvirginia.tts.speech.azure.us/cognitiveservices/v1 |
Södra Storbritannien | https://uksouth.tts.speech.microsoft.com/cognitiveservices/v1 |
USA, västra centrala | https://westcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
Europa, västra | https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1 |
USA, västra | https://westus.tts.speech.microsoft.com/cognitiveservices/v1 |
USA, västra 2 | https://westus2.tts.speech.microsoft.com/cognitiveservices/v1 |
USA, västra 3 | https://westus3.tts.speech.microsoft.com/cognitiveservices/v1 |
Dricks
Röster i förhandsversionen är endast tillgängliga i dessa tre regioner: USA, östra, Europa, västra och Asien, sydöstra.
Anpassade neurala röster
Om du har skapat ett anpassat neuralt röstteckensnitt använder du slutpunkten som du har skapat. Du kan också använda följande slutpunkter. Ersätt {deploymentId}
med distributions-ID:t för din neurala röstmodell.
Region | Utbildning | Distribution | Slutpunkt |
---|---|---|---|
Australien, östra | Ja | Ja | https://australiaeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Brasilien, södra | Nej | Ja | https://brazilsouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Kanada, centrala | Nej | Ja | https://canadacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Centrala USA | Nej | Ja | https://centralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Asien, östra | Nej | Ja | https://eastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
USA, östra | Ja | Ja | https://eastus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
USA, östra 2 | Ja | Ja | https://eastus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Centrala Frankrike | Nej | Ja | https://francecentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Tyskland, västra centrala | Nej | Ja | https://germanywestcentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Indien, centrala | Ja | Ja | https://centralindia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Japan, östra | Ja | Ja | https://japaneast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Västra Japan | Nej | Ja | https://japanwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Jio Västra Indien | Nej | Ja | https://jioindiawest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Sydkorea, centrala | Ja | Ja | https://koreacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Norra centrala USA | Nej | Ja | https://northcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Europa, norra | Ja | Ja | https://northeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Norge, östra | Nej | Ja | https://norwayeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Sydafrika, norra | Nej | Ja | https://southafricanorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
USA, södra centrala | Ja | Ja | https://southcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Sydostasien | Ja | Ja | https://southeastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Schweiz, norra | Nej | Ja | https://switzerlandnorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Schweiz, västra | Nej | Ja | https://switzerlandwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Förenade Arabemiraten, norra | Nej | Ja | https://uaenorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Södra Storbritannien | Ja | Ja | https://uksouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Västra centrala USA | Nej | Ja | https://westcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Västeuropa | Ja | Ja | https://westeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Västra USA | Ja | Ja | https://westus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Västra USA 2 | Ja | Ja | https://westus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
USA, västra 3 | Nej | Ja | https://westus3.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Kommentar
De föregående regionerna är tillgängliga för neural röstmodellvärd och realtidssyntes. Anpassad neural röstträning är endast tillgänglig i vissa regioner. Men användarna kan enkelt kopiera en neural röstmodell från dessa regioner till andra regioner i föregående lista.
API för långt ljud
API:et för långt ljud är tillgängligt i flera regioner med unika slutpunkter:
Region | Slutpunkt |
---|---|
Australien, östra | https://australiaeast.customvoice.api.speech.microsoft.com |
USA, östra | https://eastus.customvoice.api.speech.microsoft.com |
Indien, centrala | https://centralindia.customvoice.api.speech.microsoft.com |
USA, södra centrala | https://southcentralus.customvoice.api.speech.microsoft.com |
Sydostasien | https://southeastasia.customvoice.api.speech.microsoft.com |
Storbritannien, södra | https://uksouth.customvoice.api.speech.microsoft.com |
Europa, västra | https://westeurope.customvoice.api.speech.microsoft.com |
Begärandehuvuden
Den här tabellen visar obligatoriska och valfria rubriker för text-till-tal-begäranden:
Header | beskrivning | Obligatorisk eller valfri |
---|---|---|
Authorization |
En auktoriseringstoken föregås av ordet Bearer . Mer information finns i Autentisering. |
Obligatoriskt |
Content-Type |
Anger innehållstypen för den angivna texten. Godkänt värde: application/ssml+xml . |
Obligatoriskt |
X-Microsoft-OutputFormat |
Anger ljudutdataformatet. En fullständig lista över godkända värden finns i Ljudutdata. | Obligatoriskt |
User-Agent |
Programnamnet. Det angivna värdet måste vara mindre än 255 tecken. | Obligatoriskt |
Begärandetext
Om du använder en anpassad neural röst kan brödtexten i en begäran skickas som oformaterad text (ASCII eller UTF-8). Annars skickas brödtexten för varje POST
begäran som SSML. Med SSML kan du välja röst och språk för det syntetiserade tal som text till tal-funktionen returnerar. En fullständig lista över röster som stöds finns i Språk och röststöd för Speech-tjänsten.
Exempelbegäran
Den här HTTP-begäran använder SSML för att ange röst och språk. Om kroppslängden är lång och det resulterande ljudet överskrider 10 minuter trunkeras det till 10 minuter. Med andra ord får ljudlängden inte överstiga 10 minuter.
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>
* För Innehållslängd bör du använda din egen innehållslängd. I de flesta fall beräknas det här värdet automatiskt.
HTTP-statuskoder
HTTP-statuskoden för varje svar anger lyckade eller vanliga fel:
HTTP-statuskod | beskrivning | Möjlig orsak |
---|---|---|
200 | OK | Begäran lyckades. Svarstexten är en ljudfil. |
400 | Felaktig begäran | En obligatorisk parameter saknas, är tom eller null. Eller så är värdet som skickas till en obligatorisk eller valfri parameter ogiltigt. En vanlig orsak är en rubrik som är för lång. |
401 | Behörighet saknas | Begäran är inte auktoriserad. Kontrollera att din Speech-resursnyckel eller token är giltig och i rätt region. |
415 | Medietyp som inte stöds | Det är möjligt att fel Content-Type värde angavs. Content-Type ska anges till application/ssml+xml . |
429 | för många begäranden | Du har överskridit kvoten eller antalet begäranden som tillåts för din resurs. |
502 | Felaktig gateway | Det finns ett problem på nätverks- eller serversidan. Den här statusen kan också indikera ogiltiga rubriker. |
Om HTTP-statusen är 200 OK
innehåller svarets brödtext en ljudfil i det begärda formatet. Den här filen kan spelas upp när den överförs, sparas i en buffert eller sparas i en fil.
Ljudutdata
De strömmande och icke-strömmande ljudformaten som stöds skickas i varje begäran som X-Microsoft-OutputFormat
rubrik. Varje format innehåller en bithastighet och kodningstyp. Speech-tjänsten stöder 48 kHz, 24 kHz, 16 kHz och 8 kHz ljudutdata. Varje fördefinierad neural röstmodell är tillgänglig på 24kHz och high-fidelity 48kHz.
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
Kommentar
Om du väljer utdataformatet 48kHz anropas röstmodellen med hög återgivning med 48 kHz i enlighet med detta. Andra exempelfrekvenser än 24kHz och 48kHz kan erhållas genom uppsampling eller nedsampling vid syntetiserande, till exempel 44,1kHz är nedsampling från 48kHz.
Om det valda röst- och utdataformatet har olika bithastigheter samplas ljudet om efter behov. Du kan avkoda ogg-24khz-16bit-mono-opus
formatet med hjälp av Opus codec.
Autentisering
Varje begäran kräver ett auktoriseringshuvud. Den här tabellen visar vilka rubriker som stöds för varje funktion:
Auktoriseringshuvud som stöds | Tal till text | Text till tal |
---|---|---|
Ocp-Apim-Subscription-Key |
Ja | Ja |
Authorization: Bearer |
Ja | Ja |
När du använder Ocp-Apim-Subscription-Key
huvudet måste endast resursnyckeln anges. Till exempel:
'Ocp-Apim-Subscription-Key': 'YOUR_SUBSCRIPTION_KEY'
När du använder Authorization: Bearer
huvudet måste du göra en begäran till issueToken
slutpunkten. I den här begäran byter du ut resursnyckeln mot en åtkomsttoken som är giltig i 10 minuter.
Ett annat alternativ är att använda Microsoft Entra-autentisering som också använder Authorization: Bearer
huvudet, men med en token utfärdad via Microsoft Entra-ID. Se Använda Microsoft Entra-autentisering.
Så här skaffar du en åtkomsttoken
För att få en åtkomsttoken måste du göra en begäran till issueToken
slutpunkten med hjälp Ocp-Apim-Subscription-Key
av och din resursnyckel.
Slutpunkten issueToken
har följande format:
https://<REGION_IDENTIFIER>.api.cognitive.microsoft.com/sts/v1.0/issueToken
Ersätt <REGION_IDENTIFIER>
med identifieraren som matchar prenumerationens region .
Använd följande exempel för att skapa din begäran om åtkomsttoken.
HTTP-exempel
Det här exemplet är en enkel HTTP-begäran för att hämta en token. Ersätt YOUR_SUBSCRIPTION_KEY
med resursnyckeln för Speech-tjänsten. Om din prenumeration inte finns i regionen USA, västra ersätter du Host
huvudet med regionens värdnamn.
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
Brödtexten i svaret innehåller åtkomsttoken i JSON Web Token-format (JWT).
PowerShell-exempel
Det här exemplet är ett enkelt PowerShell-skript för att hämta en åtkomsttoken. Ersätt YOUR_SUBSCRIPTION_KEY
med resursnyckeln för Speech-tjänsten. Se till att använda rätt slutpunkt för den region som matchar din prenumeration. Det här exemplet är för närvarande inställt på USA, västra.
$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-exempel
cURL är ett kommandoradsverktyg som är tillgängligt i Linux (och i Windows-undersystem för Linux). Det här cURL-kommandot visar hur du hämtar en åtkomsttoken. Ersätt YOUR_SUBSCRIPTION_KEY
med resursnyckeln för Speech-tjänsten. Se till att använda rätt slutpunkt för den region som matchar din prenumeration. Det här exemplet är för närvarande inställt på USA, västra.
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#-exempel
Den här C#-klassen visar hur du hämtar en åtkomsttoken. Skicka resursnyckeln för Speech-tjänsten när du instansierar klassen. Om din prenumeration inte finns i regionen USA, västra ändrar du värdet FetchTokenUri
för så att det matchar regionen för din prenumeration.
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-exempel
# 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)
Så här använder du en åtkomsttoken
Åtkomsttoken ska skickas till tjänsten som Authorization: Bearer <TOKEN>
rubrik. Varje åtkomsttoken är giltig i 10 minuter. Du kan hämta en ny token när som helst, men för att minimera nätverkstrafiken och svarstiden rekommenderar vi att du använder samma token i nio minuter.
Här är en HTTP-exempelbegäran till REST API för tal till text för kort ljud:
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...
Använd Microsoft Entra-autentisering
Om du vill använda Microsoft Entra-autentisering med REST API för tal till text för kort ljud måste du skapa en åtkomsttoken. Stegen för att hämta åtkomsttoken som består av resurs-ID och Microsoft Entra-åtkomsttoken är desamma som när du använder Speech SDK. Följ stegen här Använda Microsoft Entra-autentisering
- Skapa en Speech-resurs
- Konfigurera Speech-resursen för Microsoft Entra-autentisering
- Hämta en Microsoft Entra-åtkomsttoken
- Hämta resurs-ID för Tal
När resurs-ID:t och Microsoft Entra-åtkomsttoken har hämtats kan den faktiska åtkomsttoken konstrueras enligt det här formatet:
aad#YOUR_RESOURCE_ID#YOUR_MICROSOFT_ENTRA_ACCESS_TOKEN
Du måste inkludera prefixet "aad#" och "#" (hash)-avgränsaren mellan resurs-ID och åtkomsttoken.
Här är en HTTP-exempelbegäran till REST API för tal till text för kort ljud:
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...
Mer information om Microsoft Entra-åtkomsttoken, inklusive tokenlivslängd, finns i Åtkomsttoken i Microsofts identitetsplattform.