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:

Ö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}
Almanya Orta Batı 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}
İsviçre Kuzey 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}
Batı Avrupa 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ğlamanız gerekir. Ö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.

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.

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

Sonraki adımlar