Text-to-Speech-REST-APIText-to-speech REST API

Die Speech-Dienste ermöglichen es Ihnen, Text in synthetisierte Sprache umzuwandeln und eine Liste der unterstützten Stimmen für eine Region unter Verwendung einer Reihe von REST-APIs zu erhalten.The Speech service allows you to convert text into synthesized speech and get a list of supported voices for a region using a set of REST APIs. Jeder verfügbare Endpunkt ist einer Region zugeordnet.Each available endpoint is associated with a region. Es ist ein Abonnementschlüssel für den Endpunkt bzw. die Region erforderlich, den/die Sie verwenden möchten.A subscription key for the endpoint/region you plan to use is required.

Die Text-to-Speech-REST-API unterstützt neuronale und Standardstimmen für die Sprachsynthese. Jede dieser Stimmen steht für eine bestimmte Sprache und einen bestimmten Dialekt und wird durch das Gebietsschema identifiziert.The text-to-speech REST API supports neural and standard text-to-speech voices, each of which supports a specific language and dialect, identified by locale.

  • Eine vollständige Liste der Stimmen finden Sie unter Sprachunterstützung.For a complete list of voices, see language support.
  • Informationen zur regionalen Verfügbarkeit finden Sie unter Regionen.For information about regional availability, see regions.

Wichtig

Die Kosten sind für Standardstimmen, benutzerdefinierte und neuronale Stimmen unterschiedlich.Costs vary for standard, custom, and neural voices. Weitere Informationen finden Sie unter Preise.For more information, see Pricing.

Bevor Sie diese API verwenden, müssen Sie Folgendes wissen:Before using this API, understand:

  • Die Text-to-Speech-REST-API erfordert einen Autorisierungsheader.The text-to-speech REST API requires an Authorization header. Das bedeutet, dass Sie einen Tokenaustausch ausführen müssen, um auf den Dienst zuzugreifen.This means that you need to complete a token exchange to access the service. Weitere Informationen finden Sie unter Authentifizierung.For more information, see Authentication.

AuthentifizierungAuthentication

Jede Anforderung erfordert einen Autorisierungsheader.Each request requires an authorization header. Diese Tabelle zeigt, welche Header für welchen Dienst unterstützt werden:This table illustrates which headers are supported for each service:

Unterstützte AutorisierungsheaderSupported authorization headers SpracherkennungSpeech-to-text Text-zu-SpracheText-to-speech
Ocp-Apim-Subscription-KeyOcp-Apim-Subscription-Key JaYes NeinNo
Autorisierung: BearerAuthorization: Bearer JaYes JaYes

Wenn Sie den Header Ocp-Apim-Subscription-Key verwenden, müssen Sie nur Ihren Abonnementschlüssel angeben.When using the Ocp-Apim-Subscription-Key header, you're only required to provide your subscription key. Beispiel:For example:

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

Wenn Sie den Header Authorization: Bearer verwenden, müssen Sie eine Anforderung an den Endpunkt issueToken stellen.When using the Authorization: Bearer header, you're required to make a request to the issueToken endpoint. In dieser Anforderung tauschen Sie Ihren Abonnementschlüssel gegen ein Zugriffstoken, der 10 Minuten lang gültig ist.In this request, you exchange your subscription key for an access token that's valid for 10 minutes. In den nächsten Abschnitten erfahren Sie, wie Sie ein Token abrufen und verwenden können.In the next few sections you'll learn how to get a token, and use a token.

Abrufen eines ZugriffstokensHow to get an access token

Um ein Zugriffstoken abzurufen, müssen Sie eine Anforderung an den issueToken-Endpunkt mit dem Header Ocp-Apim-Subscription-Key und Ihrem Abonnementschlüssel senden.To get an access token, you'll need to make a request to the issueToken endpoint using the Ocp-Apim-Subscription-Key and your subscription key.

Der issueToken-Endpunkt hat folgendes Format:The issueToken endpoint has this format:

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

Ersetzen Sie <REGION_IDENTIFIER> durch den Bezeichner aus der folgenden Tabelle, der mit der Region Ihres Abonnements übereinstimmt:Replace <REGION_IDENTIFIER> with the identifier matching the region of your subscription from this table:

GebietGeography RegionRegion RegionsbezeichnerRegion identifier
AmerikaAmericas USA (Mitte)Central US centralus
AmerikaAmericas East USEast US eastus
AmerikaAmericas USA (Ost) 2East US 2 eastus2
AmerikaAmericas USA Nord MitteNorth Central US northcentralus
AmerikaAmericas USA Süd MitteSouth Central US southcentralus
AmerikaAmericas USA, Westen-MitteWest Central US westcentralus
AmerikaAmericas USA (Westen)West US westus
AmerikaAmericas USA, Westen 2West US 2 westus2
AmerikaAmericas Kanada, MitteCanada Central canadacentral
AmerikaAmericas Brasilien SüdBrazil South brazilsouth
Asien-PazifikAsia Pacific Asien, OstenEast Asia eastasia
Asien-PazifikAsia Pacific Asien, SüdostenSoutheast Asia southeastasia
Asien-PazifikAsia Pacific Australien (Osten)Australia East australiaeast
Asien-PazifikAsia Pacific Indien, MitteCentral India centralindia
Asien-PazifikAsia Pacific Japan, OstenJapan East japaneast
Asien-PazifikAsia Pacific Japan, WestenJapan West japanwest
Asien-PazifikAsia Pacific Korea, MitteKorea Central koreacentral
EuropaEurope NordeuropaNorth Europe northeurope
EuropaEurope Europa, WestenWest Europe westeurope
EuropaEurope Frankreich, MitteFrance Central francecentral
EuropaEurope UK, SüdenUK South uksouth

Verwenden Sie diese Beispiele, um Ihre Zugriffstokenanforderung zu erstellen.Use these samples to create your access token request.

HTTP-BeispielHTTP sample

Dieses Beispiel stellt eine einfache HTTP-Anforderung zum Abrufen eines Tokens dar.This example is a simple HTTP request to get a token. Ersetzen Sie YOUR_SUBSCRIPTION_KEY durch Ihren Abonnementschlüssel für den Speech-Dienst.Replace YOUR_SUBSCRIPTION_KEY with your Speech Service subscription key. Wenn sich Ihr Abonnement nicht in der Region „USA, Westen“ befindet, ersetzen Sie den Host-Header durch den Hostnamen für Ihre Region.If your subscription isn't in the West US region, replace the Host header with your region's host name.

POST /sts/v1.0/issueToken HTTP/1.1
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY
Host: westus.api.cognitive.microsoft.com
Content-type: application/x-www-form-urlencoded
Content-Length: 0

Der Antworttext enthält das Zugriffstoken im JWT-Format (JSON Web Token).The body of the response contains the access token in JSON Web Token (JWT) format.

PowerShell-BeispielPowerShell sample

Dieses Beispiel stellt ein einfaches PowerShell-Skript zum Abrufen eines Zugriffstokens dar.This example is a simple PowerShell script to get an access token. Ersetzen Sie YOUR_SUBSCRIPTION_KEY durch Ihren Abonnementschlüssel für den Speech-Dienst.Replace YOUR_SUBSCRIPTION_KEY with your Speech Service subscription key. Achten Sie darauf, dass Sie den richtigen Endpunkt für die Region Ihres Abonnements verwenden.Make sure to use the correct endpoint for the region that matches your subscription. In diesem Beispiel ist das „USA, Westen“.This example is currently set to West US.

$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://westus.api.cognitive.microsoft.com/sts/v1.0/issueToken
 -Headers $FetchTokenHeader

# show the token received
$OAuthToken

cURL-BeispielcURL sample

cURL ist ein Befehlszeilentool, das in Linux (und im Windows-Subsystem für Linux) zur Verfügung steht.cURL is a command-line tool available in Linux (and in the Windows Subsystem for Linux). Dieser cURL-Befehl veranschaulicht, wie Sie ein Zugriffstoken abrufen.This cURL command illustrates how to get an access token. Ersetzen Sie YOUR_SUBSCRIPTION_KEY durch Ihren Abonnementschlüssel für den Speech-Dienst.Replace YOUR_SUBSCRIPTION_KEY with your Speech Service subscription key. Achten Sie darauf, dass Sie den richtigen Endpunkt für die Region Ihres Abonnements verwenden.Make sure to use the correct endpoint for the region that matches your subscription. In diesem Beispiel ist das „USA, Westen“.This example is currently set to West US.

curl -v -X POST
 "https://westus.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#-BeispielC# sample

Diese C#-Klasse veranschaulicht, wie Sie ein Zugriffstoken abrufen.This C# class illustrates how to get an access token. Übergeben Sie Ihren Abonnementschlüssel für den Speech-Dienst beim Instanziieren der Klasse.Pass your Speech Service subscription key when you instantiate the class. Wenn Ihr Abonnement sich nicht in der Region „USA, Westen“ befindet, ändern Sie den Wert von FetchTokenUri so, dass er der Region Ihres Abonnements entspricht.If your subscription isn't in the West US region, change the value of FetchTokenUri to match the region for your subscription.

public class Authentication
{
    public static readonly string FetchTokenUri =
        "https://westus.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-BeispielPython sample

# 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://westus.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)

Verwenden eines ZugriffstokensHow to use an access token

Das Zugriffstoken sollte als Authorization: Bearer <TOKEN>-Header an den Dienst gesendet werden.The access token should be sent to the service as the Authorization: Bearer <TOKEN> header. Jedes Zugriffstoken ist 10 Minuten lang gültig.Each access token is valid for 10 minutes. Sie können jederzeit ein neues Token abrufen, allerdings wird empfohlen, das gleiche Token 9 Minuten lang zu verwenden, um den Datenverkehr und die Wartezeit zu minimieren.You can get a new token at any time, however, to minimize network traffic and latency, we recommend using the same token for nine minutes.

Hier ist eine Beispiel-HTTP-Anforderung an die Text-to-Speech-REST-API:Here's a sample HTTP request to the text-to-speech REST API:

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

Abrufen einer Liste von StimmenGet a list of voices

Der Endpunkt voices/list ermöglicht es Ihnen, eine vollständige Liste der Stimmen für eine bestimmte Region bzw. für einen Endpunkt zu erhalten.The voices/list endpoint allows you to get a full list of voices for a specific region/endpoint.

Regionen und EndpunkteRegions and endpoints

RegionRegion EndpunktEndpoint
Australien (Osten)Australia East https://australiaeast.tts.speech.microsoft.com/cognitiveservices/voices/list
Brasilien SüdBrazil South https://brazilsouth.tts.speech.microsoft.com/cognitiveservices/voices/list
Kanada, MitteCanada Central https://canadacentral.tts.speech.microsoft.com/cognitiveservices/voices/list
USA (Mitte)Central US https://centralus.tts.speech.microsoft.com/cognitiveservices/voices/list
Asien, OstenEast Asia https://eastasia.tts.speech.microsoft.com/cognitiveservices/voices/list
East USEast US https://eastus.tts.speech.microsoft.com/cognitiveservices/voices/list
USA (Ost) 2East US 2 https://eastus2.tts.speech.microsoft.com/cognitiveservices/voices/list
Frankreich, MitteFrance Central https://francecentral.tts.speech.microsoft.com/cognitiveservices/voices/list
Indien, MitteIndia Central https://centralindia.tts.speech.microsoft.com/cognitiveservices/voices/list
Japan, OstenJapan East https://japaneast.tts.speech.microsoft.com/cognitiveservices/voices/list
Korea, MitteKorea Central https://koreacentral.tts.speech.microsoft.com/cognitiveservices/voices/list
USA Nord MitteNorth Central US https://northcentralus.tts.speech.microsoft.com/cognitiveservices/voices/list
NordeuropaNorth Europe https://northeurope.tts.speech.microsoft.com/cognitiveservices/voices/list
USA (Mitte/Süden)South Central US https://southcentralus.tts.speech.microsoft.com/cognitiveservices/voices/list
Asien, SüdostenSoutheast Asia https://southeastasia.tts.speech.microsoft.com/cognitiveservices/voices/list
UK, SüdenUK South https://uksouth.tts.speech.microsoft.com/cognitiveservices/voices/list
Europa, WestenWest Europe https://westeurope.tts.speech.microsoft.com/cognitiveservices/voices/list
USA (Westen)West US https://westus.tts.speech.microsoft.com/cognitiveservices/voices/list
USA, Westen 2West US 2 https://westus2.tts.speech.microsoft.com/cognitiveservices/voices/list

AnforderungsheaderRequest headers

Diese Tabelle führt die erforderlichen und optionalen Header für Text-to-Speech-Anforderungen auf.This table lists required and optional headers for text-to-speech requests.

HeaderHeader BESCHREIBUNGDescription Erforderlich/optionalRequired / Optional
Authorization Ein Autorisierungstoken, dem das Wort Bearer vorangestellt ist.An authorization token preceded by the word Bearer. Weitere Informationen finden Sie unter Authentifizierung.For more information, see Authentication. ErforderlichRequired

AnforderungstextRequest body

Ein Text ist nicht erforderlich für GET-Anforderungen an diesen Endpunkt.A body isn't required for GET requests to this endpoint.

Beispiel für eine AnforderungSample request

Diese Anforderung erfordert nur einen Autorisierungsheader.This request only requires an authorization header.

GET /cognitiveservices/voices/list HTTP/1.1

Host: westus.tts.speech.microsoft.com
Authorization: Bearer [Base64 access_token]

Beispiel für eine AntwortSample response

Diese Antwort wurde abgeschnitten, um die Struktur einer Antwort zu veranschaulichen.This response has been truncated to illustrate the structure of a response.

Hinweis

Die Verfügbarkeit von Stimmen variiert je nach Region/Endpunkt.Voice availability varies by region/endpoint.

[
    {
        "Name": "Microsoft Server Speech Text to Speech Voice (ar-EG, Hoda)",
        "ShortName": "ar-EG-Hoda",
        "Gender": "Female",
        "Locale": "ar-EG"
    },
    {
        "Name": "Microsoft Server Speech Text to Speech Voice (ar-SA, Naayf)",
        "ShortName": "ar-SA-Naayf",
        "Gender": "Male",
        "Locale": "ar-SA"
    },
    {
        "Name": "Microsoft Server Speech Text to Speech Voice (bg-BG, Ivan)",
        "ShortName": "bg-BG-Ivan",
        "Gender": "Male",
        "Locale": "bg-BG"
    },
    {
        "Name": "Microsoft Server Speech Text to Speech Voice (ca-ES, HerenaRUS)",
        "ShortName": "ca-ES-HerenaRUS",
        "Gender": "Female",
        "Locale": "ca-ES"
    },
    {
        "Name": "Microsoft Server Speech Text to Speech Voice (cs-CZ, Jakub)",
        "ShortName": "cs-CZ-Jakub",
        "Gender": "Male",
        "Locale": "cs-CZ"
    },

    ...

]

HTTP-StatuscodesHTTP status codes

Der HTTP-Statuscode jeder Antwort zeigt den Erfolg oder allgemeine Fehler an.The HTTP status code for each response indicates success or common errors.

HTTP-StatuscodeHTTP status code BESCHREIBUNGDescription Mögliche UrsachePossible reason
200200 OKOK Die Anforderung wurde erfolgreich gesendet.The request was successful.
400400 Ungültige AnforderungBad Request Ein erforderlicher Parameter fehlt, ist leer oder Null.A required parameter is missing, empty, or null. Oder der an einen erforderlichen oder optionalen Parameter übergebene Wert ist ungültig.Or, the value passed to either a required or optional parameter is invalid. Ein häufiges Problem sind zu lange Kopfzeilen.A common issue is a header that is too long.
401401 Nicht autorisiertUnauthorized Die Anforderung ist nicht autorisiert.The request is not authorized. Stellen Sie sicher, dass Ihr Abonnementschlüssel oder -token gültig ist und sich in der richtigen Region befindet.Check to make sure your subscription key or token is valid and in the correct region.
429429 Zu viele AnforderungenToo Many Requests Sie haben das Kontingent oder die Rate der Anforderungen überschritten, das bzw. die für Ihr Abonnement zulässig ist.You have exceeded the quota or rate of requests allowed for your subscription.
502502 Ungültiges GatewayBad Gateway Netzwerk- oder serverseitiges Problem.Network or server-side issue. Kann auch auf ungültige Header hinweisen.May also indicate invalid headers.

Konvertieren von Text in SpracheConvert text-to-speech

Der Endpunkt v1 ermöglicht es Ihnen, Text-to-Speech mit der Speech Synthesis Markup Language (SSML) zu konvertieren.The v1 endpoint allows you to convert text-to-speech using Speech Synthesis Markup Language (SSML).

Regionen und EndpunkteRegions and endpoints

Diese Regionen werden für die Konvertierung von Text in Sprache über die REST-API unterstützt.These regions are supported for text-to-speech using the REST API. Achten Sie darauf, dass Sie den Endpunkt für Ihre Abonnementregion auswählen.Make sure that you select the endpoint that matches your subscription region.

Standard- und neuronale StimmenStandard and neural voices

Verwenden Sie diese Tabelle, um die Verfügbarkeit von Standardstimmen und neuronalen Stimmen nach Region/Endpunkt zu ermitteln:Use this table to determine availability of standard and neural voices by region/endpoint:

RegionRegion EndpunktEndpoint StandardstimmenStandard Voices Neuronale StimmenNeural Voices
Australien (Osten)Australia East https://australiaeast.tts.speech.microsoft.com/cognitiveservices/v1 JaYes JaYes
Kanada, MitteCanada Central https://canadacentral.tts.speech.microsoft.com/cognitiveservices/v1 JaYes JaYes
USA (Mitte)Central US https://centralus.tts.speech.microsoft.com/cognitiveservices/v1 JaYes NeinNo
Asien, OstenEast Asia https://eastasia.tts.speech.microsoft.com/cognitiveservices/v1 JaYes NeinNo
USA (Ost)East US https://eastus.tts.speech.microsoft.com/cognitiveservices/v1 JaYes JaYes
USA (Ost) 2East US 2 https://eastus2.tts.speech.microsoft.com/cognitiveservices/v1 JaYes NeinNo
Frankreich, MitteFrance Central https://francecentral.tts.speech.microsoft.com/cognitiveservices/v1 JaYes NeinNo
Indien, MitteIndia Central https://centralindia.tts.speech.microsoft.com/cognitiveservices/v1 JaYes JaYes
Japan, OstenJapan East https://japaneast.tts.speech.microsoft.com/cognitiveservices/v1 JaYes NeinNo
Korea, MitteKorea Central https://koreacentral.tts.speech.microsoft.com/cognitiveservices/v1 JaYes NeinNo
USA Nord MitteNorth Central US https://northcentralus.tts.speech.microsoft.com/cognitiveservices/v1 JaYes NeinNo
NordeuropaNorth Europe https://northeurope.tts.speech.microsoft.com/cognitiveservices/v1 JaYes NeinNo
USA Süd MitteSouth Central US https://southcentralus.tts.speech.microsoft.com/cognitiveservices/v1 JaYes JaYes
Asien, SüdostenSoutheast Asia https://southeastasia.tts.speech.microsoft.com/cognitiveservices/v1 JaYes JaYes
UK, SüdenUK South https://uksouth.tts.speech.microsoft.com/cognitiveservices/v1 JaYes JaYes
Europa, WestenWest Europe https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1 JaYes JaYes
USA (Westen)West US https://westus.tts.speech.microsoft.com/cognitiveservices/v1 JaYes NeinNo
USA, Westen 2West US 2 https://westus2.tts.speech.microsoft.com/cognitiveservices/v1 JaYes JaYes

Benutzerdefinierte StimmenCustom voices

Wenn Sie einen benutzerdefinierten Voicefont erstellt haben, verwenden Sie den von Ihnen erstellten Endpunkt.If you've created a custom voice font, use the endpoint that you've created. Sie können auch die unten aufgeführten Endpunkte verwenden und die {deploymentId} durch die Bereitstellungs-ID für Ihr Stimmmodell ersetzen.You can also use the endpoints listed below, replacing the {deploymentId} with the deployment ID for your voice model.

RegionRegion EndpunktEndpoint
Australien (Osten)Australia East https://australiaeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Kanada, MitteCanada Central https://canadacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
USA (Mitte)Central US https://centralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Asien, OstenEast Asia https://eastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
USA (Ost)East US https://eastus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
USA (Ost) 2East US 2 https://eastus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Frankreich, MitteFrance Central https://francecentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Indien, MitteIndia Central https://centralindia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Japan, OstenJapan East https://japaneast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Korea, MitteKorea Central https://koreacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
USA Nord MitteNorth Central US https://northcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
NordeuropaNorth Europe https://northeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
USA (Mitte/Süden)South Central US https://southcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Asien, SüdostenSoutheast Asia https://southeastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
UK, SüdenUK South https://uksouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Europa, WestenWest Europe https://westeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
USA (Westen)West US https://westus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
USA, Westen 2West US 2 https://westus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}

AnforderungsheaderRequest headers

Diese Tabelle führt die erforderlichen und optionalen Header für Text-to-Speech-Anforderungen auf.This table lists required and optional headers for text-to-speech requests.

HeaderHeader BESCHREIBUNGDescription Erforderlich/optionalRequired / Optional
Authorization Ein Autorisierungstoken, dem das Wort Bearer vorangestellt ist.An authorization token preceded by the word Bearer. Weitere Informationen finden Sie unter Authentifizierung.For more information, see Authentication. ErforderlichRequired
Content-Type Gibt den Inhaltstyp des angegebenen Texts an.Specifies the content type for the provided text. Zulässiger Wert: application/ssml+xml.Accepted value: application/ssml+xml. ErforderlichRequired
X-Microsoft-OutputFormat Gibt das Audioausgabeformat an.Specifies the audio output format. Eine vollständige Liste der zulässigen Werte finden Sie unter Audioausgaben.For a complete list of accepted values, see audio outputs. ErforderlichRequired
User-Agent Der Name der Anwendung.The application name. Der angegebene Wert muss kürzer als 255 Zeichen sein.The value provided must be less than 255 characters. ErforderlichRequired

AudioausgabenAudio outputs

Dies ist eine Liste der unterstützten Audioformate, die in jeder Anforderung als X-Microsoft-OutputFormat-Header gesendet werden.This is a list of supported audio formats that are sent in each request as the X-Microsoft-OutputFormat header. Es wird jeweils eine Bitrate und ein Codierungstyp angegeben.Each incorporates a bitrate and encoding type. Der Speech-Dienst unterstützt Audioausgaben mit 24 kHz, 16 kHz und 8 kHz.The Speech service supports 24 kHz, 16 kHz, and 8 kHz audio outputs.

raw-16khz-16bit-mono-pcm raw-8khz-8bit-mono-mulaw
riff-8khz-8bit-mono-alaw riff-8khz-8bit-mono-mulaw
riff-16khz-16bit-mono-pcm audio-16khz-128kbitrate-mono-mp3
audio-16khz-64kbitrate-mono-mp3 audio-16khz-32kbitrate-mono-mp3
raw-24khz-16bit-mono-pcm riff-24khz-16bit-mono-pcm
audio-24khz-160kbitrate-mono-mp3 audio-24khz-96kbitrate-mono-mp3
audio-24khz-48kbitrate-mono-mp3

Hinweis

Wenn die ausgewählte Stimme und das ausgewählte Ausgabeformat unterschiedliche Bitraten aufweisen, wird das Audio nach Bedarf neu gesampelt.If your selected voice and output format have different bit rates, the audio is resampled as necessary. Jedoch unterstützen 24 khz-Stimmen keine audio-16khz-16kbps-mono-siren- und riff-16khz-16kbps-mono-siren-Ausgabeformate.However, 24 kHz voices do not support audio-16khz-16kbps-mono-siren and riff-16khz-16kbps-mono-siren output formats.

AnforderungstextRequest body

Der Text jeder POST-Anforderung wird als Speech Synthesis Markup Language (SSML) gesendet.The body of each POST request is sent as Speech Synthesis Markup Language (SSML). SSML ermöglicht es Ihnen, die Stimme und Sprache der synthetisierten Sprachausgabe auszuwählen, die vom Text-zu-Sprache-Dienst zurückgegeben wird.SSML allows you to choose the voice and language of the synthesized speech returned by the text-to-speech service. Eine vollständige Liste der unterstützten Stimmen finden Sie unter Sprachunterstützung.For a complete list of supported voices, see language support.

Hinweis

Wenn Sie eine benutzerdefinierte Stimme verwenden, kann der Text der Anforderung als Nur-Text (ASCII oder UTF-8) gesendet werden.If using a custom voice, the body of a request can be sent as plain text (ASCII or UTF-8).

Beispiel für eine AnforderungSample request

Diese HTTP-Anforderung gibt mit SSML die Stimme und die Sprache an.This HTTP request uses SSML to specify the voice and language. Der Text darf 1.000 Zeichen nicht überschreiten.The body cannot exceed 1,000 characters.

POST /cognitiveservices/v1 HTTP/1.1

X-Microsoft-OutputFormat: raw-16khz-16bit-mono-pcm
Content-Type: application/ssml+xml
Host: westus.tts.speech.microsoft.com
Content-Length: 225
Authorization: Bearer [Base64 access_token]

<speak version='1.0' xml:lang='en-US'><voice xml:lang='en-US' xml:gender='Female'
    name='en-US-JessaRUS'>
        Microsoft Speech Service Text-to-Speech API
</voice></speak>

In unseren Schnellstarts finden Sie sprachspezifische Beispiele:See our quickstarts for language-specific examples:

HTTP-StatuscodesHTTP status codes

Der HTTP-Statuscode jeder Antwort zeigt den Erfolg oder allgemeine Fehler an.The HTTP status code for each response indicates success or common errors.

HTTP-StatuscodeHTTP status code BESCHREIBUNGDescription Mögliche UrsachePossible reason
200200 OKOK Die Anforderung war erfolgreich. Der Antworttext ist eine Audiodatei.The request was successful; the response body is an audio file.
400400 Ungültige AnforderungBad Request Ein erforderlicher Parameter fehlt, ist leer oder Null.A required parameter is missing, empty, or null. Oder der an einen erforderlichen oder optionalen Parameter übergebene Wert ist ungültig.Or, the value passed to either a required or optional parameter is invalid. Ein häufiges Problem sind zu lange Kopfzeilen.A common issue is a header that is too long.
401401 Nicht autorisiertUnauthorized Die Anforderung ist nicht autorisiert.The request is not authorized. Stellen Sie sicher, dass Ihr Abonnementschlüssel oder -token gültig ist und sich in der richtigen Region befindet.Check to make sure your subscription key or token is valid and in the correct region.
413413 Anforderungsentität zu großRequest Entity Too Large Die SSML-Eingabe umfasst mehr als 1024 Zeichen.The SSML input is longer than 1024 characters.
415415 Nicht unterstützter MedientypUnsupported Media Type Möglicherweise wurde der falsche Content-Type-Wert bereitgestellt.It's possible that the wrong Content-Type was provided. Content-Type sollte auf application/ssml+xml festgelegt sein.Content-Type should be set to application/ssml+xml.
429429 Zu viele AnforderungenToo Many Requests Sie haben das Kontingent oder die Rate der Anforderungen überschritten, das bzw. die für Ihr Abonnement zulässig ist.You have exceeded the quota or rate of requests allowed for your subscription.
502502 Ungültiges GatewayBad Gateway Netzwerk- oder serverseitiges Problem.Network or server-side issue. Kann auch auf ungültige Header hinweisen.May also indicate invalid headers.

Wenn der HTTP-Status 200 OK ist, enthält der Text der Antwort eine Audiodatei im angeforderten Format.If the HTTP status is 200 OK, the body of the response contains an audio file in the requested format. Diese Datei kann bei der Übertragung abgespielt sowie in einem Puffer oder in einer Datei gespeichert werden.This file can be played as it's transferred, saved to a buffer, or saved to a file.

Nächste SchritteNext steps