Migrate from the Translator Speech API to the Speech service

Use this article to migrate your applications from the Microsoft Translator Speech API to the Speech service. This guide outlines the differences between the Translator Speech API and Speech service, and suggests strategies for migrating your applications.


Your Translator Speech API subscription key won't be accepted by the Speech service. You'll need to create a new Speech service subscription.

Comparison of features

Feature Translator Speech API Speech service Details
Translation to text ✔️ ✔️
Translation to speech ✔️ ✔️
Global endpoint ✔️ The Speech service doesn't offer a global endpoint. A global endpoint can automatically direct traffic to the nearest regional endpoint, decreasing latency in your application.
Regional endpoints ✔️
Connection time limit 90 minutes Unlimited with the SDK. 10 minutes with a WebSockets connection.
Auth key in header ✔️ ✔️
Multiple languages translated in a single request ✔️
SDKs available ✔️ See the Speech service documentation for available SDKs.
WebSockets connections ✔️ ✔️
Languages API ✔️ The Speech service supports the same range of languages described in the Translator languages reference article.
Profanity Filter and Marker ✔️
.WAV/PCM as input ✔️ ✔️
Other file types as input
Partial results ✔️ ✔️
Timing info ✔️
Correlation ID ✔️
Custom speech models ✔️ The Speech service offers custom speech models that enable you to customize speech recognition to your organization’s unique vocabulary.
Custom translation models ✔️ Subscribing to the Microsoft Text Translation API enables you to use Custom Translator to use your own data for more accurate translations.

Migration strategies

If you or your organization have applications in development or production that use the Translator Speech API, you should update them to use the Speech service. See the Speech service documentation for available SDKs, code samples, and tutorials. Consider the following when you are migrating:

  • The Speech service doesn't offer a global endpoint. Determine if your application functions efficiently when it uses a single regional endpoint for all of its traffic. If not, use geolocation to determine the most efficient endpoint.

  • If your application uses long-lived connections and can't use the available SDKs, you can use a WebSockets connection. Manage the 10-minute timeout limit by reconnecting at the appropriate times.

  • If your application uses the Translator service and Translator Speech API to enable custom translation models, you can add Category IDs directly by using the Speech service.

  • Unlike the Translator Speech API, the Speech service can complete translations into multiple languages in a single request.

Next steps

See also