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

Los Servicios de voz le permiten convertir texto en voz sintetizada y obtener una lista de voces admitidas para una región con un conjunto de API de REST.The Speech Services allow you to convert text into synthesized speech and get a list of supported voices for a region using a set of REST APIs. Cada punto de conexión disponible se asocia con una región.Each available endpoint is associated with a region. Se requiere una clave de suscripción para el punto de conexión o región que se va a usar.A subscription key for the endpoint/region you plan to use is required.

Text to Speech REST API admite voces neuronales y de texto a voz estándar, y cada una de ellas admite un idioma y un dialecto específicos, que se identifican mediante la configuración regional.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.

Importante

Los costes varían para voces estándar, personalizadas y neuronales.Costs vary for standard, custom, and neural voices. Para obtener más información, consulte el apartado Precios.For more information, see Pricing.

Antes de utilizar esta API, comprenda:Before using this API, understand:

  • La API REST de texto a voz requiere un encabezado de autorización.The text-to-speech REST API requires an Authorization header. Esto significa que tiene que completar un intercambio de tokens para acceder al servicio.This means that you need to complete a token exchange to access the service. Para más información, consulte Autenticación.For more information, see Authentication.

AuthenticationAuthentication

Cada solicitud requiere un encabezado de autorización.Each request requires an authorization header. Esta tabla muestra qué encabezados son compatibles con cada servicio:This table illustrates which headers are supported for each service:

Encabezados de autorización compatiblesSupported authorization headers Voz a textoSpeech-to-text Texto a vozText-to-speech
Ocp-Apim-Subscription-KeyOcp-Apim-Subscription-Key Yes SinNo
Autorización: PortadorAuthorization: Bearer Yes Yes

Cuando se usa el encabezado Ocp-Apim-Subscription-Key, solo se le pide que proporcione la clave de suscripción.When using the Ocp-Apim-Subscription-Key header, you're only required to provide your subscription key. Por ejemplo:For example:

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

Cuando se usa el encabezado Authorization: Bearer, se le pide que haga una solicitud al punto de conexión issueToken.When using the Authorization: Bearer header, you're required to make a request to the issueToken endpoint. En esta solicitud, va a intercambiar la clave de suscripción de un token de acceso que es válido durante 10 minutos.In this request, you exchange your subscription key for an access token that's valid for 10 minutes. En las secciones siguientes obtendrá información sobre cómo obtener un token y usar un token.In the next few sections you'll learn how to get a token, and use a token.

Obtención de un token de accesoHow to get an access token

Para obtener un token de acceso, tiene que realizar una solicitud al punto de conexión issueToken mediante Ocp-Apim-Subscription-Key y su clave de suscripción.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.

Se admiten estas regiones y puntos de conexión:These regions and endpoints are supported:

RegionRegion Punto de conexión de servicio de tokenToken service endpoint
Este de AustraliaAustralia East https://australiaeast.api.cognitive.microsoft.com/sts/v1.0/issueToken
Centro de CanadáCanada Central https://canadacentral.api.cognitive.microsoft.com/sts/v1.0/issueToken
Centro de EE. UU.Central US https://centralus.api.cognitive.microsoft.com/sts/v1.0/issueToken
Asia orientalEast Asia https://eastasia.api.cognitive.microsoft.com/sts/v1.0/issueToken
Este de EE. UUEast US https://eastus.api.cognitive.microsoft.com/sts/v1.0/issueToken
Este de EE. UU. 2East US 2 https://eastus2.api.cognitive.microsoft.com/sts/v1.0/issueToken
Centro de FranciaFrance Central https://francecentral.api.cognitive.microsoft.com/sts/v1.0/issueToken
India centralIndia Central https://centralindia.api.cognitive.microsoft.com/sts/v1.0/issueToken
Este de JapónJapan East https://japaneast.api.cognitive.microsoft.com/sts/v1.0/issueToken
Corea CentralKorea Central https://koreacentral.api.cognitive.microsoft.com/sts/v1.0/issueToken
Centro-Norte de EE. UUNorth Central US https://northcentralus.api.cognitive.microsoft.com/sts/v1.0/issueToken
Europa del NorteNorth Europe https://northeurope.api.cognitive.microsoft.com/sts/v1.0/issueToken
Centro-Sur de EE. UUSouth Central US https://southcentralus.api.cognitive.microsoft.com/sts/v1.0/issueToken
Sudeste asiáticoSoutheast Asia https://southeastasia.api.cognitive.microsoft.com/sts/v1.0/issueToken
Sur del Reino Unido 2UK South https://uksouth.api.cognitive.microsoft.com/sts/v1.0/issueToken
Europa occidentalWest Europe https://westeurope.api.cognitive.microsoft.com/sts/v1.0/issueToken
Oeste de EE. UU.West US https://westus.api.cognitive.microsoft.com/sts/v1.0/issueToken
Oeste de EE. UU. 2West US 2 https://westus2.api.cognitive.microsoft.com/sts/v1.0/issueToken

Use estos ejemplos para crear la solicitud de token de acceso.Use these samples to create your access token request.

Ejemplo de HTTPHTTP sample

Este ejemplo es una solicitud HTTP para obtener un token.This example is a simple HTTP request to get a token. Reemplace YOUR_SUBSCRIPTION_KEY por la clave de suscripción del servicio Voz.Replace YOUR_SUBSCRIPTION_KEY with your Speech Service subscription key. Si la suscripción no está en la región Oeste de EE. UU., reemplace el encabezado Host por el nombre de host de la región.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

El cuerpo de la respuesta contiene el token de acceso en formato JSON Web Token (JWT).The body of the response contains the access token in JSON Web Token (JWT) format.

Ejemplo de PowerShellPowerShell sample

En este ejemplo se muestra un script sencillo de PowerShell para obtener un token de acceso.This example is a simple PowerShell script to get an access token. Reemplace YOUR_SUBSCRIPTION_KEY por la clave de suscripción del servicio Voz.Replace YOUR_SUBSCRIPTION_KEY with your Speech Service subscription key. Asegúrese de usar el punto de conexión correcto para la región que coincida con su suscripción.Make sure to use the correct endpoint for the region that matches your subscription. En este ejemplo la región es Oeste de EE. UU.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

Ejemplo de cURLcURL sample

cURL es una herramienta de la línea de comandos disponible en Linux (y en el subsistema Windows para Linux).cURL is a command-line tool available in Linux (and in the Windows Subsystem for Linux). Este comando cURL muestra cómo obtener un token de acceso.This cURL command illustrates how to get an access token. Reemplace YOUR_SUBSCRIPTION_KEY por la clave de suscripción del servicio Voz.Replace YOUR_SUBSCRIPTION_KEY with your Speech Service subscription key. Asegúrese de usar el punto de conexión correcto para la región que coincida con su suscripción.Make sure to use the correct endpoint for the region that matches your subscription. En este ejemplo la región es Oeste de EE. UU.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"

Ejemplo de C#C# sample

Esta clase de C# muestra cómo obtener un token de acceso.This C# class illustrates how to get an access token. Pase la clave de suscripción del servicio Voz al crear una instancia de la clase.Pass your Speech Service subscription key when you instantiate the class. Si su suscripción no está en la región Oeste de EE. UU., cambie el valor de FetchTokenUri para que coincida con la región de su suscripción.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();
        }
    }
}

Ejemplo de PythonPython 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)

Uso de un token de accesoHow to use an access token

Se debe enviar el token de acceso al servicio como encabezado Authorization: Bearer <TOKEN>.The access token should be sent to the service as the Authorization: Bearer <TOKEN> header. Cada token de acceso tiene una validez de 10 minutos.Each access token is valid for 10 minutes. Puede obtener un nuevo token en cualquier momento. No obstante, para reducir el tráfico de red y la latencia, se recomienda usar el mismo token durante nueve minutos.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.

Este es un ejemplo de solicitud HTTP a la API REST de texto a voz: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...

Obtener una lista de vocesGet a list of voices

El punto de conexión voices/list le permite obtener una lista completa de las voces de una región o punto de conexión en concreto.The voices/list endpoint allows you to get a full list of voices for a specific region/endpoint.

Regiones y puntos de conexiónRegions and endpoints

RegionRegion Punto de conexiónEndpoint
Este de AustraliaAustralia East https://australiaeast.tts.speech.microsoft.com/cognitiveservices/voices/list
Sur de BrasilBrazil South https://brazilsouth.tts.speech.microsoft.com/cognitiveservices/voices/list
Centro de CanadáCanada Central https://canadacentral.tts.speech.microsoft.com/cognitiveservices/voices/list
Centro de EE. UU.Central US https://centralus.tts.speech.microsoft.com/cognitiveservices/voices/list
Asia orientalEast Asia https://eastasia.tts.speech.microsoft.com/cognitiveservices/voices/list
East USEast US https://eastus.tts.speech.microsoft.com/cognitiveservices/voices/list
Este de EE. UU. 2East US 2 https://eastus2.tts.speech.microsoft.com/cognitiveservices/voices/list
Centro de FranciaFrance Central https://francecentral.tts.speech.microsoft.com/cognitiveservices/voices/list
India centralIndia Central https://centralindia.tts.speech.microsoft.com/cognitiveservices/voices/list
Este de JapónJapan East https://japaneast.tts.speech.microsoft.com/cognitiveservices/voices/list
Corea CentralKorea Central https://koreacentral.tts.speech.microsoft.com/cognitiveservices/voices/list
Centro-Norte de EE. UUNorth Central US https://northcentralus.tts.speech.microsoft.com/cognitiveservices/voices/list
Europa del NorteNorth Europe https://northeurope.tts.speech.microsoft.com/cognitiveservices/voices/list
Centro-Sur de EE. UUSouth Central US https://southcentralus.tts.speech.microsoft.com/cognitiveservices/voices/list
Sudeste asiáticoSoutheast Asia https://southeastasia.tts.speech.microsoft.com/cognitiveservices/voices/list
Sur del Reino Unido 2UK South https://uksouth.tts.speech.microsoft.com/cognitiveservices/voices/list
Europa occidentalWest Europe https://westeurope.tts.speech.microsoft.com/cognitiveservices/voices/list
Oeste de EE. UU.West US https://westus.tts.speech.microsoft.com/cognitiveservices/voices/list
Oeste de EE. UU. 2West US 2 https://westus2.tts.speech.microsoft.com/cognitiveservices/voices/list

Encabezados de solicitudRequest headers

En esta tabla se enumeran los encabezados obligatorios y opcionales para las solicitudes de texto a voz.This table lists required and optional headers for text-to-speech requests.

EncabezadoHeader DESCRIPCIÓNDescription Obligatorio u opcionalRequired / Optional
Authorization Un token de autorización precedido por la palabra Bearer.An authorization token preceded by the word Bearer. Para más información, consulte Autenticación.For more information, see Authentication. ObligatorioRequired

Cuerpo de la solicitudRequest body

No es necesario un cuerpo para las solicitudes GET a este punto de conexión.A body isn't required for GET requests to this endpoint.

Solicitud de ejemploSample request

Esta solicitud solo requiere un encabezado de autorización.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]

Respuesta de muestraSample response

Esta respuesta se ha truncado para ilustrar la estructura de una respuesta.This response has been truncated to illustrate the structure of a response.

Nota

La disponibilidad de voces varía según la región o el punto de conexión.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"
    },

    ...

]

Códigos de estado HTTPHTTP status codes

El estado HTTP de cada respuesta indica estados de corrección o error comunes.The HTTP status code for each response indicates success or common errors.

Código de estado HTTPHTTP status code DESCRIPCIÓNDescription Posible motivoPossible reason
200200 OKOK La solicitud fue correcta.The request was successful.
400400 Bad RequestBad Request Falta un parámetro requerido, está vacío o es nulo.A required parameter is missing, empty, or null. O bien, el valor pasado a un parámetro obligatorio u opcional no es válido.Or, the value passed to either a required or optional parameter is invalid. Un problema común es que el encabezado sea demasiado largo.A common issue is a header that is too long.
401401 No autorizadoUnauthorized La solicitud no está autenticada.The request is not authorized. Asegúrese de que la clave de suscripción o el token sean válidos y de la región correcta.Check to make sure your subscription key or token is valid and in the correct region.
429429 Demasiadas solicitudesToo Many Requests Ha superado la cuota o la tasa de solicitudes permitidas para su suscripción.You have exceeded the quota or rate of requests allowed for your subscription.
502502 Puerta de enlace incorrectaBad Gateway Problema de red o de servidor.Network or server-side issue. Podría indicar también encabezados no válidos.May also indicate invalid headers.

Conversión de texto a vozConvert text-to-speech

El punto de conexión v1 le permite convertir texto a voz usando lenguaje de marcado de síntesis de voz (SSML).The v1 endpoint allows you to convert text-to-speech using Speech Synthesis Markup Language (SSML).

Regiones y puntos de conexiónRegions and endpoints

Estas regiones son compatibles con la conversión de texto a voz mediante la API REST.These regions are supported for text-to-speech using the REST API. Asegúrese de que selecciona el punto de conexión que coincida con la región de su suscripción.Make sure that you select the endpoint that matches your subscription region.

Voces estándares y neuronalesStandard and neural voices

Utilice esta tabla para determinar la disponibilidad de las voces estándar y neuronales por región o punto de conexión:Use this table to determine availability of standard and neural voices by region/endpoint:

RegionRegion Punto de conexiónEndpoint Voces estándarStandard Voices Voces neuronalesNeural Voices
Este de AustraliaAustralia East https://australiaeast.tts.speech.microsoft.com/cognitiveservices/v1 Yes Yes
Centro de CanadáCanada Central https://canadacentral.tts.speech.microsoft.com/cognitiveservices/v1 Yes Yes
Centro de EE. UU.Central US https://centralus.tts.speech.microsoft.com/cognitiveservices/v1 Yes SinNo
Asia orientalEast Asia https://eastasia.tts.speech.microsoft.com/cognitiveservices/v1 Yes SinNo
Este de EE. UUEast US https://eastus.tts.speech.microsoft.com/cognitiveservices/v1 Yes Yes
Este de EE. UU. 2East US 2 https://eastus2.tts.speech.microsoft.com/cognitiveservices/v1 Yes SinNo
Centro de FranciaFrance Central https://francecentral.tts.speech.microsoft.com/cognitiveservices/v1 Yes SinNo
India centralIndia Central https://centralindia.tts.speech.microsoft.com/cognitiveservices/v1 Yes Yes
Este de JapónJapan East https://japaneast.tts.speech.microsoft.com/cognitiveservices/v1 Yes SinNo
Corea CentralKorea Central https://koreacentral.tts.speech.microsoft.com/cognitiveservices/v1 Yes SinNo
Centro-Norte de EE. UUNorth Central US https://northcentralus.tts.speech.microsoft.com/cognitiveservices/v1 Yes SinNo
Europa del NorteNorth Europe https://northeurope.tts.speech.microsoft.com/cognitiveservices/v1 Yes SinNo
Centro-Sur de EE. UUSouth Central US https://southcentralus.tts.speech.microsoft.com/cognitiveservices/v1 Yes Yes
Sudeste asiáticoSoutheast Asia https://southeastasia.tts.speech.microsoft.com/cognitiveservices/v1 Yes Yes
Sur de Reino Unido 2UK South https://uksouth.tts.speech.microsoft.com/cognitiveservices/v1 Yes Yes
Europa occidentalWest Europe https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1 Yes Yes
Oeste de EE. UU.West US https://westus.tts.speech.microsoft.com/cognitiveservices/v1 Yes SinNo
Oeste de EE. UU. 2West US 2 https://westus2.tts.speech.microsoft.com/cognitiveservices/v1 Yes Yes

Voces personalizadasCustom voices

Si ha creado una fuente de voz personalizada, use el punto de conexión que ha creado.If you've created a custom voice font, use the endpoint that you've created. También puede utilizar los puntos de conexión que se indican a continuación; para ello, reemplace {deploymentId} por el identificador de implementación para el modelo de voz.You can also use the endpoints listed below, replacing the {deploymentId} with the deployment ID for your voice model.

RegionRegion Punto de conexiónEndpoint
Este de AustraliaAustralia East https://australiaeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Centro de CanadáCanada Central https://canadacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Centro de EE. UU.Central US https://centralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Asia orientalEast Asia https://eastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Este de EE. UUEast US https://eastus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Este de EE. UU. 2East US 2 https://eastus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Centro de FranciaFrance Central https://francecentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
India centralIndia Central https://centralindia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Este de JapónJapan East https://japaneast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Corea CentralKorea Central https://koreacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Centro-Norte de EE. UUNorth Central US https://northcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Europa del NorteNorth Europe https://northeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Centro-Sur de EE. UUSouth Central US https://southcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Sudeste asiáticoSoutheast Asia https://southeastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Sur del Reino Unido 2UK South https://uksouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Europa occidentalWest Europe https://westeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Oeste de EE. UU.West US https://westus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
Oeste de EE. UU. 2West US 2 https://westus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}

Encabezados de solicitudRequest headers

En esta tabla se enumeran los encabezados obligatorios y opcionales para las solicitudes de texto a voz.This table lists required and optional headers for text-to-speech requests.

EncabezadoHeader DESCRIPCIÓNDescription Obligatorio u opcionalRequired / Optional
Authorization Un token de autorización precedido por la palabra Bearer.An authorization token preceded by the word Bearer. Para más información, consulte Autenticación.For more information, see Authentication. ObligatorioRequired
Content-Type Especifica el tipo de contenido para el texto proporcionado.Specifies the content type for the provided text. Valor aceptable: application/ssml+xml.Accepted value: application/ssml+xml. ObligatorioRequired
X-Microsoft-OutputFormat Especifica el formato de salida del audio.Specifies the audio output format. Para obtener una lista completa de los valores aceptados, consulte salidas de audio.For a complete list of accepted values, see audio outputs. ObligatorioRequired
User-Agent Nombre de la aplicación.The application name. El valor proporcionado debe tener menos de 255 caracteres.The value provided must be less than 255 characters. ObligatorioRequired

Salidas de audioAudio outputs

Esta es una lista de formatos de audio admitidos que se envían en cada solicitud como encabezado X-Microsoft-OutputFormat.This is a list of supported audio formats that are sent in each request as the X-Microsoft-OutputFormat header. Cada uno de ellos incorpora una velocidad de bits y el tipo de codificación.Each incorporates a bitrate and encoding type. Los Servicio de voz admiten salidas de audio de 24 kHz, 16 kHz y 8 kHz.The Speech Services 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

Nota

Si la voz y el formato de salida seleccionados tienen velocidades de bits diferentes, se vuelve a muestrear el audio según sea necesario.If your selected voice and output format have different bit rates, the audio is resampled as necessary. Sin embargo, las voces de 24 kHz n admiten los formatos de salida audio-16khz-16kbps-mono-siren y riff-16khz-16kbps-mono-siren.However, 24 kHz voices do not support audio-16khz-16kbps-mono-siren and riff-16khz-16kbps-mono-siren output formats.

Cuerpo de la solicitudRequest body

El cuerpo de cada solicitud POST se envía como lenguaje de marcado de síntesis de voz (SSML).The body of each POST request is sent as Speech Synthesis Markup Language (SSML). SSML le permite elegir la voz y el idioma de la voz sintetizada que devuelve el servicio de texto a voz.SSML allows you to choose the voice and language of the synthesized speech returned by the text-to-speech service. Para ver una lista completa de voces compatibles, consulte compatibilidad con idiomas.For a complete list of supported voices, see language support.

Nota

Si usa una voz personalizada, el cuerpo de una solicitud puede enviarse como texto sin formato (ASCII o UTF-8).If using a custom voice, the body of a request can be sent as plain text (ASCII or UTF-8).

Solicitud de ejemploSample request

Esta solicitud HTTP utiliza SSML para especificar el idioma y la voz.This HTTP request uses SSML to specify the voice and language. El cuerpo no puede superar los 1000 caracteres.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>

Consulte nuestras guías de inicio rápido para ver ejemplos específicos del idioma:See our quickstarts for language-specific examples:

Códigos de estado HTTPHTTP status codes

El estado HTTP de cada respuesta indica estados de corrección o error comunes.The HTTP status code for each response indicates success or common errors.

Código de estado HTTPHTTP status code DESCRIPCIÓNDescription Posible motivoPossible reason
200200 OKOK La solicitud es correcta; el cuerpo de la respuesta es un archivo de audio.The request was successful; the response body is an audio file.
400400 Bad RequestBad Request Falta un parámetro requerido, está vacío o es nulo.A required parameter is missing, empty, or null. O bien, el valor pasado a un parámetro obligatorio u opcional no es válido.Or, the value passed to either a required or optional parameter is invalid. Un problema común es que el encabezado sea demasiado largo.A common issue is a header that is too long.
401401 No autorizadoUnauthorized La solicitud no está autenticada.The request is not authorized. Asegúrese de que la clave de suscripción o el token sean válidos y de la región correcta.Check to make sure your subscription key or token is valid and in the correct region.
413413 Entidad de solicitud demasiado largaRequest Entity Too Large La entrada de SSML tiene más de 1024 caracteres.The SSML input is longer than 1024 characters.
415415 Tipo de medio no compatibleUnsupported Media Type Es posible que se haya proporcionado el Content-Type incorrecto.It's possible that the wrong Content-Type was provided. Content-Type se debe establecer en application/ssml+xml.Content-Type should be set to application/ssml+xml.
429429 Demasiadas solicitudesToo Many Requests Ha superado la cuota o la tasa de solicitudes permitidas para su suscripción.You have exceeded the quota or rate of requests allowed for your subscription.
502502 Puerta de enlace incorrectaBad Gateway Problema de red o de servidor.Network or server-side issue. Podría indicar también encabezados no válidos.May also indicate invalid headers.

Si el estado HTTP es 200 OK, el cuerpo de la respuesta contiene un archivo de audio en el formato solicitado.If the HTTP status is 200 OK, the body of the response contains an audio file in the requested format. Este archivo se puede reproducir mientras se transfiere o guardarse en un búfer o en un archivo.This file can be played as it's transferred, saved to a buffer, or saved to a file.

Pasos siguientesNext steps