Metin okuma REST API'si
Konuşma tanıma hizmeti, rest API kullanarak metni sentezlenmiş konuşmaya dönüştürmenize ve bölge için desteklenen seslerin listesini almanıza olanak tanır. Bu makalede yetkilendirme seçenekleri, sorgu seçenekleri, isteği yapılandırma ve yanıtı yorumlama hakkında bilgi ediniyorsunuz.
İpucu
Metin okuma REST API'sinin kullanım örnekleri sınırlıdır. Bunu yalnızca Konuşma SDK'sını kullanamıyorsanız kullanın. Örneğin, Konuşma SDK'sı ile metin okuma işleme ve sonuçlar hakkında daha fazla içgörü elde etmek için olaylara abone olabilirsiniz.
Konuşmayı metne dönüştürme REST API'si birçok yerel ayarda nöral metinden konuşma seslerine desteği sağlar. Kullanılabilir her uç nokta bir bölgeyle ilişkilendirilir. Kullanmayı planladığınız uç nokta veya bölge için Konuşma kaynak anahtarı gereklidir. Daha fazla bilgi için bağlantılar aşağıdadır:
- Seslerin tam listesi için bkz . Konuşma hizmeti için dil ve ses desteği.
- Bölgesel kullanılabilirlik hakkında bilgi için bkz . Konuşma hizmeti tarafından desteklenen bölgeler.
- 21Vianet uç noktaları tarafından sağlanan Azure Kamu ve Microsoft Azure için bağımsız bulutlar hakkındaki bu makaleye bakın.
Önemli
Maliyetler, önceden oluşturulmuş nöral sesler (fiyatlandırma sayfasında Sinir olarak adlandırılır) ve özel sinir sesleri (fiyatlandırma sayfasında Özel Nöral olarak adlandırılır) için farklılık gösterir. Daha fazla bilgi için bkz . Konuşma hizmeti fiyatlandırması.
REST API'sini konuşmak için metni kullanmadan önce, hizmete erişmek için kimlik doğrulamasının bir parçası olarak belirteç değişimini tamamlamanız gerektiğini anlayın. Daha fazla bilgi için bkz. Kimlik doğrulaması.
Seslerin listesini alma
Belirli bir bölge veya uç nokta için seslerin tam listesini almak için uç noktayı kullanabilirsiniz tts.speech.microsoft.com/cognitiveservices/voices/list
. Bu bölgenin ses listesini almak için ses listesi uç noktasına bir bölge öneki ekleyin. Örneğin, bölgenin ses listesini almak için westus
uç noktayı kullanın https://westus.tts.speech.microsoft.com/cognitiveservices/voices/list
. Desteklenen tüm bölgelerin listesi için bölgeler belgelerine bakın.
Not
Önizlemedeki sesler ve stiller yalnızca üç hizmet bölgesinde kullanılabilir: Doğu ABD, Batı Avrupa ve Güneydoğu Asya.
İstek üst bilgileri
Bu tabloda metin okuma istekleri için gerekli ve isteğe bağlı üst bilgiler listeleniyor:
Üst bilgi | Açıklama | Gerekli veya isteğe bağlı |
---|---|---|
Ocp-Apim-Subscription-Key |
Konuşma kaynak anahtarınız. | Bu üst bilgi veya Authorization gereklidir. |
Authorization |
sözcüğünden önce gelen yetkilendirme belirteci Bearer . Daha fazla bilgi için bkz. Kimlik doğrulaması. |
Bu üst bilgi veya Ocp-Apim-Subscription-Key gereklidir. |
Request body
Bu uç noktaya yönelik istekler için GET
gövde gerekli değildir.
Örnek isteği
Bu istek yalnızca bir yetkilendirme üst bilgisi gerektirir:
GET /cognitiveservices/voices/list HTTP/1.1
Host: westus.tts.speech.microsoft.com
Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY
Aşağıda örnek bir curl komutu verilmişti:
curl --location --request GET 'https://YOUR_RESOURCE_REGION.tts.speech.microsoft.com/cognitiveservices/voices/list' \
--header 'Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY'
Örnek yanıt
Desteklenen tüm yerel ayarları, sesleri, cinsiyeti, stilleri ve diğer ayrıntıları içeren bir JSON gövdesine sahip bir yanıt almanız gerekir. WordsPerMinute
Her ses için özelliği, çıkış konuşmasının uzunluğunu tahmin etmek için kullanılabilir. Bu JSON örneği, yanıtın yapısını göstermek için kısmi sonuçları gösterir:
[
// 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 durum kodu
Her yanıtın HTTP durum kodu başarılı veya yaygın hataları gösterir.
HTTP durum kodu | Açıklama | Olası neden |
---|---|---|
200 | Tamam | İstek başarılı oldu. |
400 | Hatalı istek | Gerekli bir parametre eksik, boş veya null. Veya gerekli veya isteğe bağlı bir parametreye geçirilen değer geçersiz. Bunun yaygın bir nedeni, çok uzun bir üst bilgidir. |
Kategori 401 | Yetkisiz | İstek yetkilendirilmedi. Kaynak anahtarınızın veya belirtecinizin geçerli ve doğru bölgede olduğundan emin olun. |
429 | Çok fazla istek var | Kaynağınız için izin verilen istek kotasını veya oranını aştınız. |
502 | Hatalı ağ geçidi | Ağ veya sunucu tarafı sorunu var. Bu durum geçersiz üst bilgileri de gösterebilir. |
Metni konuşmaya dönüştürme
Uç nokta, cognitiveservices/v1
Konuşma Sentezi biçimlendirme dilini (SSML) kullanarak metni konuşmaya dönüştürmenizi sağlar.
Bölgeler ve uç noktalar
Bu bölgeler, REST API aracılığıyla metin okuma için desteklenir. Konuşma kaynak bölgenizle eşleşen uç noktayı seçtiğinizden emin olun.
Önceden oluşturulmuş sinir sesleri
Sinir seslerinin bölgeye veya uç noktaya göre kullanılabilirliğini belirlemek için bu tabloyu kullanın:
Bölge | Uç nokta |
---|---|
Doğu Avustralya | https://australiaeast.tts.speech.microsoft.com/cognitiveservices/v1 |
Güney Brezilya | https://brazilsouth.tts.speech.microsoft.com/cognitiveservices/v1 |
Orta Kanada | https://canadacentral.tts.speech.microsoft.com/cognitiveservices/v1 |
Central US | https://centralus.tts.speech.microsoft.com/cognitiveservices/v1 |
Doğu Asya | https://eastasia.tts.speech.microsoft.com/cognitiveservices/v1 |
Doğu ABD | https://eastus.tts.speech.microsoft.com/cognitiveservices/v1 |
Doğu ABD 2 | https://eastus2.tts.speech.microsoft.com/cognitiveservices/v1 |
Orta Fransa | https://francecentral.tts.speech.microsoft.com/cognitiveservices/v1 |
Orta Batı Almanya | https://germanywestcentral.tts.speech.microsoft.com/cognitiveservices/v1 |
Hindistan Orta | https://centralindia.tts.speech.microsoft.com/cognitiveservices/v1 |
Doğu Japonya | https://japaneast.tts.speech.microsoft.com/cognitiveservices/v1 |
Batı Japonya | https://japanwest.tts.speech.microsoft.com/cognitiveservices/v1 |
Jio Hindistan Batı | https://jioindiawest.tts.speech.microsoft.com/cognitiveservices/v1 |
Güney Kore - Orta | https://koreacentral.tts.speech.microsoft.com/cognitiveservices/v1 |
Orta Kuzey ABD | https://northcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
Kuzey Avrupa | https://northeurope.tts.speech.microsoft.com/cognitiveservices/v1 |
Doğu Norveç | https://norwayeast.tts.speech.microsoft.com/cognitiveservices/v1 |
Orta Güney ABD | https://southcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
Güneydoğu Asya | https://southeastasia.tts.speech.microsoft.com/cognitiveservices/v1 |
Orta İsveç | https://swedencentral.tts.speech.microsoft.com/cognitiveservices/v1 |
Kuzey İsviçre | https://switzerlandnorth.tts.speech.microsoft.com/cognitiveservices/v1 |
Batı İsviçre | https://switzerlandwest.tts.speech.microsoft.com/cognitiveservices/v1 |
Kuzey BAE | 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 |
Güney Birleşik Krallık | https://uksouth.tts.speech.microsoft.com/cognitiveservices/v1 |
Orta Batı ABD | https://westcentralus.tts.speech.microsoft.com/cognitiveservices/v1 |
West Europe | https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1 |
Batı ABD | https://westus.tts.speech.microsoft.com/cognitiveservices/v1 |
Batı ABD 2 | https://westus2.tts.speech.microsoft.com/cognitiveservices/v1 |
Batı ABD 3 | https://westus3.tts.speech.microsoft.com/cognitiveservices/v1 |
İpucu
Önizlemedeki sesler yalnızca şu üç bölgede kullanılabilir: Doğu ABD, Batı Avrupa ve Güneydoğu Asya.
Özel nöral sesler
Özel bir nöral ses yazı tipi oluşturduysanız, oluşturduğunuz uç noktayı kullanın. Aşağıdaki uç noktaları da kullanabilirsiniz. değerini nöral ses modelinizin dağıtım kimliğiyle değiştirin {deploymentId}
.
Bölge | Eğitim | Dağıtım | Uç nokta |
---|---|---|---|
Doğu Avustralya | Yes | Yes | https://australiaeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Güney Brezilya | Hayır | Evet | https://brazilsouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Orta Kanada | Hayır | Evet | https://canadacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Orta ABD | Hayır | Evet | https://centralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Doğu Asya | Hayır | Evet | https://eastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Doğu ABD | Yes | Yes | https://eastus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Doğu ABD 2 | Yes | Yes | https://eastus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Orta Fransa | Hayır | Evet | https://francecentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Orta Batı Almanya | Hayır | Evet | https://germanywestcentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Hindistan Orta | Yes | Yes | https://centralindia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Doğu Japonya | Yes | Yes | https://japaneast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Batı Japonya | Hayır | Evet | https://japanwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Jio Hindistan Batı | Hayır | Evet | https://jioindiawest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Güney Kore - Orta | Yes | Yes | https://koreacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Orta Kuzey ABD | Hayır | Evet | https://northcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Kuzey Avrupa | Yes | Yes | https://northeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Norveç Doğu | Hayır | Evet | https://norwayeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Güney Afrika Kuzey | Hayır | Evet | https://southafricanorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Orta Güney ABD | Yes | Yes | https://southcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Güneydoğu Asya | Yes | Yes | https://southeastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Kuzey İsviçre | Hayır | Evet | https://switzerlandnorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Batı İsviçre | Hayır | Evet | https://switzerlandwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Kuzey BAE | Hayır | Evet | https://uaenorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Güney Birleşik Krallık | Yes | Yes | https://uksouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Batı Orta ABD | Hayır | Evet | https://westcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
West Europe | Yes | Yes | https://westeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Batı ABD | Yes | Yes | https://westus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Batı ABD 2 | Yes | Yes | https://westus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Batı ABD 3 | Hayır | Evet | https://westus3.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId} |
Not
Önceki bölgeler nöral ses modeli barındırma ve gerçek zamanlı sentez için kullanılabilir. Özel nöral ses eğitimi yalnızca bazı bölgelerde kullanılabilir. Ancak kullanıcılar bu bölgelerden bir sinir sesi modelini önceki listedeki diğer bölgelere kolayca kopyalayabilir.
Uzun Ses API'si
Uzun Ses API'sini benzersiz uç noktaları olan birden çok bölgede kullanabilirsiniz:
Bölge | Uç nokta |
---|---|
Doğu Avustralya | https://australiaeast.customvoice.api.speech.microsoft.com |
Doğu ABD | https://eastus.customvoice.api.speech.microsoft.com |
Hindistan Orta | https://centralindia.customvoice.api.speech.microsoft.com |
Orta Güney ABD | https://southcentralus.customvoice.api.speech.microsoft.com |
Güneydoğu Asya | https://southeastasia.customvoice.api.speech.microsoft.com |
Güney Birleşik Krallık | https://uksouth.customvoice.api.speech.microsoft.com |
West Europe | https://westeurope.customvoice.api.speech.microsoft.com |
İstek üst bilgileri
Bu tabloda metin okuma istekleri için gerekli ve isteğe bağlı üst bilgiler listeleniyor:
Üst bilgi | Açıklama | Gerekli veya isteğe bağlı |
---|---|---|
Authorization |
sözcüğünden önce gelen yetkilendirme belirteci Bearer . Daha fazla bilgi için bkz. Kimlik doğrulaması. |
Zorunlu |
Content-Type |
Sağlanan metnin içerik türünü belirtir. Kabul edilen değer: application/ssml+xml . |
Zorunlu |
X-Microsoft-OutputFormat |
Ses çıkış biçimini belirtir. Kabul edilen değerlerin tam listesi için bkz . Ses çıkışları. | Zorunlu |
User-Agent |
Uygulama adı. Sağlanan değer 255 karakterden az olmalıdır. | Zorunlu |
Request body
Özel bir sinir sesi kullanıyorsanız, isteğin gövdesi düz metin (ASCII veya UTF-8) olarak gönderilebilir. Aksi takdirde, her POST
isteğin gövdesi SSML olarak gönderilir. SSML, konuşma metni özelliğinin döndürdüğü sentezlenmiş konuşmanın sesini ve dilini seçmenize olanak tanır. Desteklenen seslerin tam listesi için bkz . Konuşma hizmeti için dil ve ses desteği.
Örnek isteği
Bu HTTP isteği, sesi ve dili belirtmek için SSML kullanır. Gövde uzunluğu uzunsa ve sonuçta elde edilen ses 10 dakikayı aşarsa, 10 dakikaya kesilir. Başka bir deyişle ses uzunluğu 10 dakikayı aşamaz.
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>
* İçerik Uzunluğu için kendi içerik uzunluğunuzu kullanmanız gerekir. Çoğu durumda, bu değer otomatik olarak hesaplanır.
HTTP durum kodu
Her yanıtın HTTP durum kodu başarılı veya yaygın hataları gösterir:
HTTP durum kodu | Açıklama | Olası neden |
---|---|---|
200 | Tamam | İstek başarılı oldu. Yanıt gövdesi bir ses dosyasıdır. |
400 | Hatalı istek | Gerekli bir parametre eksik, boş veya null. Veya gerekli veya isteğe bağlı bir parametreye geçirilen değer geçersiz. Bunun yaygın bir nedeni, çok uzun bir üst bilgidir. |
Kategori 401 | Yetkisiz | İstek yetkilendirilmedi. Konuşma kaynak anahtarınızın veya belirtecinizin geçerli ve doğru bölgede olduğundan emin olun. |
Kategori 415 | Desteklenmeyen medya türü | Yanlış Content-Type değer sağlanmış olabilir. Content-Type olarak ayarlanmalıdır application/ssml+xml . |
429 | Çok fazla istek var | Kaynağınız için izin verilen istek kotasını veya oranını aştınız. |
502 | Hatalı ağ geçidi | Ağ veya sunucu tarafı sorunu var. Bu durum geçersiz üst bilgileri de gösterebilir. |
HTTP durumu ise 200 OK
, yanıtın gövdesi istenen biçimde bir ses dosyası içerir. Bu dosya aktarıldıkçe, arabelleğe kaydedildikçe veya bir dosyaya kaydedildikçe oynatılabilir.
Ses çıkışları
Desteklenen akış ve akışsız ses biçimleri her istekte üst bilgi olarak X-Microsoft-OutputFormat
gönderilir. Her biçim bir bit hızı ve kodlama türü içerir. Konuşma hizmeti 48 kHz, 24 kHz, 16 kHz ve 8 kHz ses çıkışlarını destekler. Önceden oluşturulmuş her nöral ses modeli 24kHz ve yüksek doğrulukta 48kHz olarak kullanılabilir.
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
Not
48kHz çıkış biçimini seçerseniz, 48kHz yüksek aslına uygun ses modeli buna uygun olarak çağrılır. 24kHz ve 48kHz dışındaki örnek hızları, örneğin 44,1kHz 48kHz'den aşağı örneklenirken yukarı örnekleme veya aşağı örnekleme yoluyla elde edilebilir.
Seçtiğiniz ses ve çıkış biçimi farklı bit hızlarına sahipse, ses gerektiği şekilde yeniden örneklenir. Opus codec bileşenini kullanarak biçimin kodunu ogg-24khz-16bit-mono-opus
çözebilirsiniz.
Kimlik Doğrulaması
Her istek için bir yetkilendirme üst bilgisi gerekir. Bu tabloda her özellik için hangi üst bilgilerin desteklendiği gösterilmektedir:
Desteklenen yetkilendirme üst bilgisi | Konuşmayı metne dönüştürme | Metin okuma |
---|---|---|
Ocp-Apim-Subscription-Key |
Yes | Evet |
Authorization: Bearer |
Evet | Yes |
Üst bilgiyi kullanırken Ocp-Apim-Subscription-Key
yalnızca kaynak anahtarınız sağlanmalıdır. Örneğin:
'Ocp-Apim-Subscription-Key': 'YOUR_SUBSCRIPTION_KEY'
Üst bilgiyi kullanırken Authorization: Bearer
uç noktaya bir istekte issueToken
bulunmanız gerekir. Bu istekte, kaynak anahtarınızı 10 dakika boyunca geçerli olan bir erişim belirteci ile değiştirirsiniz.
Bir diğer seçenek de üst bilgiyi kullanan ancak Microsoft Entra Kimliği aracılığıyla verilen bir belirteçle Microsoft Entra kimlik doğrulamasını Authorization: Bearer
kullanmaktır. Bkz . Microsoft Entra kimlik doğrulamayı kullanma.
Erişim belirteci alma
Erişim belirteci almak için issueToken
ve kaynak anahtarınızı kullanarak Ocp-Apim-Subscription-Key
uç noktaya bir istekte bulunmanız gerekir.
Uç issueToken
nokta şu biçime sahiptir:
https://<REGION_IDENTIFIER>.api.cognitive.microsoft.com/sts/v1.0/issueToken
değerini aboneliğinizin bölgesiyle eşleşen tanımlayıcıyla değiştirin<REGION_IDENTIFIER>
.
Erişim belirteci isteğinizi oluşturmak için aşağıdaki örnekleri kullanın.
HTTP örneği
Bu örnek, belirteç almak için basit bir HTTP isteğidir. değerini Konuşma hizmeti için kaynak anahtarınızla değiştirin YOUR_SUBSCRIPTION_KEY
. Aboneliğiniz Batı ABD bölgesinde değilse üst bilgiyi bölgenizin ana bilgisayar adıyla değiştirin Host
.
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
Yanıtın gövdesi, erişim belirtecini JSON Web Belirteci (JWT) biçiminde içerir.
PowerShell örneği
Bu örnek, erişim belirteci almak için basit bir PowerShell betiğidir. değerini Konuşma hizmeti için kaynak anahtarınızla değiştirin YOUR_SUBSCRIPTION_KEY
. Aboneliğinizle eşleşen bölge için doğru uç noktayı kullandığınızdan emin olun. Bu örnek şu anda Batı ABD olarak ayarlanmıştır.
$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 örneği
cURL, Linux'ta (ve Linux için Windows Alt Sistemi) kullanılabilen bir komut satırı aracıdır. Bu cURL komutu, erişim belirtecinin nasıl alınacaklarını gösterir. değerini Konuşma hizmeti için kaynak anahtarınızla değiştirin YOUR_SUBSCRIPTION_KEY
. Aboneliğinizle eşleşen bölge için doğru uç noktayı kullandığınızdan emin olun. Bu örnek şu anda Batı ABD olarak ayarlanmıştır.
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# örneği
Bu C# sınıfı, erişim belirtecinin nasıl alınıyor olduğunu gösterir. Sınıfın örneğini oluştururken Konuşma hizmeti için kaynak anahtarınızı geçirin. Aboneliğiniz Batı ABD bölgesinde değilse değerini aboneliğinizin bölgesiyle eşleşecek şekilde değiştirin FetchTokenUri
.
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 örneği
# 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)
Erişim belirtecini kullanma
Erişim belirteci, hizmete üst bilgi olarak Authorization: Bearer <TOKEN>
gönderilmelidir. Her erişim belirteci 10 dakika boyunca geçerlidir. İstediğiniz zaman yeni bir belirteç alabilirsiniz, ancak ağ trafiğini ve gecikme süresini en aza indirmek için aynı belirteci dokuz dakika boyunca kullanmanızı öneririz.
Kısa ses için Konuşmayı metne dönüştürme REST API'sine yönelik örnek bir HTTP isteği aşağıda verilmiştir:
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...
Microsoft Entra doğrulamasını kullanın
Kısa ses için Konuşmayı metne dönüştürme REST API'siyle Microsoft Entra kimlik doğrulamasını kullanmak için bir erişim belirteci oluşturmanız gerekir. Kaynak Kimliği ve Microsoft Entra erişim belirtecini içeren erişim belirtecini alma adımları, Konuşma SDK'sı kullanılırken gerçekleştirilir. Microsoft Entra kimlik doğrulamasını kullanma buradaki adımları izleyin
- Konuşma kaynağı oluşturma
- Microsoft Entra kimlik doğrulaması için Konuşma kaynağını yapılandırma
- Microsoft Entra erişim belirteci alma
- Konuşma kaynağı kimliğini alma
Kaynak kimliği ve Microsoft Entra erişim belirteci alındıktan sonra gerçek erişim belirteci şu biçimde oluşturulabilir:
aad#YOUR_RESOURCE_ID#YOUR_MICROSOFT_ENTRA_ACCESS_TOKEN
Kaynak kimliği ile erişim belirteci arasında "aad#" ön ekini ve "#" (karma) ayırıcısını eklemeniz gerekir.
Kısa ses için Konuşmayı metne dönüştürme REST API'sine yönelik örnek bir HTTP isteği aşağıda verilmiştir:
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...
Belirteç ömrü de dahil olmak üzere Microsoft Entra erişim belirteçleri hakkında daha fazla bilgi edinmek için Microsoft kimlik platformu Access belirteçleri'ni ziyaret edin.