Skip to content

Commit 78fa761

Browse files
committed
Merge branch 'main' into community
2 parents 51b1508 + f2ef79b commit 78fa761

File tree

8 files changed

+137
-18
lines changed

8 files changed

+137
-18
lines changed

api-reference/openapi.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1932,7 +1932,7 @@ paths:
19321932
$ref: '#/components/responses/ServiceUnavailable'
19331933
security:
19341934
- auth_header: []
1935-
/v1/voice/realtime:
1935+
/v3/voice/realtime:
19361936
post:
19371937
tags:
19381938
- VoiceAPI
@@ -1984,7 +1984,7 @@ paths:
19841984
schema:
19851985
$ref: '#/components/schemas/VoiceStreamingResponse'
19861986
example:
1987-
streaming_url: 'wss://api.deepl.com/v1/voice/realtime/connect'
1987+
streaming_url: 'wss://api.deepl.com/v3/voice/realtime/connect'
19881988
token: 'VGhpcyBpcyBhIGZha2UgdG9rZW4K'
19891989
session_id: '4f911080-cfe2-41d4-8269-0e6ec15a0354'
19901990
400:
@@ -4298,7 +4298,7 @@ components:
42984298
description: >
42994299
The WebSocket URL to use for establishing
43004300
[the stream connection](/api-reference/voice/websocket-streaming).
4301-
example: wss://api.deepl.com/v1/voice/realtime/connect
4301+
example: wss://api.deepl.com/v3/voice/realtime/connect
43024302
token:
43034303
type: string
43044304
description: >

api-reference/voice.mdx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ public: true
88
The Voice API provides real-time voice transcription and translation services using WebSocket streaming.
99

1010
<Info>
11-
The Voice API is currently available to select DeepL API Pro customers only. Contact your DeepL representative for access.
11+
DeepL API for speech to text is now generally available via the v3 API endpoint for customers with a DeepL API Pro subscription. The supported scope of DeepL API for the speech to text functionality is covered in this documentation page.
12+
13+
Please note that the existing provisions applying to customers' DeepL API Pro subscription also apply to DeepL API for speech to text with the following applicable additions to the [Terms and Conditions, the Service Specification and the Data Processing Agreement](/api-reference/voice/deepl-voice-api-service-specification-updates) (as a new sub-processor has been added to serve specific languages for the API for speech to text).
1214
</Info>
1315

1416
## Overview
@@ -124,11 +126,11 @@ The Voice API uses a two-step flow to initiate streaming.
124126

125127
<Steps>
126128
<Step title="Request Stream">
127-
Make a POST request `v1/voice/realtime` to obtain an ephemeral streaming URL and authentication token. The response will look like this:
129+
Make a POST request `v3/voice/realtime` to obtain an ephemeral streaming URL and authentication token. The response will look like this:
128130

129131
```json
130132
{
131-
"streaming_url": "wss://api.deepl.com/v1/voice/realtime/connect",
133+
"streaming_url": "wss://api.deepl.com/v3/voice/realtime/connect",
132134
"token": <secure access token>,
133135
}
134136
```
@@ -144,7 +146,7 @@ The Voice API uses a two-step flow to initiate streaming.
144146
See the [Request Stream](/api-reference/voice/request-stream) documentation for details.
145147
</Step>
146148
<Step title="Streaming Audio and Text (WebSocket)">
147-
Use the received URL to establish a WebSocket connection to `wss://api.deepl.com/v1/voice/realtime/connect?token=<secure access token>`.
149+
Use the received URL to establish a WebSocket connection to `wss://api.deepl.com/v3/voice/realtime/connect?token=<secure access token>`.
148150
This step handles exchanging JSON messages on the WebSocket connection:
149151
* Sending audio data
150152
* Receiving transcriptions and translations in real-time
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
---
2+
title: "DeepL Voice API Service Specification Updates"
3+
---
4+
5+
6+
**In the section “Definitions” the following definition will be added:**
7+
* **“Audio Minutes”** refers to the total duration of audio data streamed through the API, measured in minutes. The calculation of audio minutes is based on the actual playback duration of the audio content, regardless of the speed at which the audio data is transmitted. The duration of audio content is determined by its standard playback speed, which is defined as 1x (normal speed). If audio data is streamed at an accelerated rate, up to a maximum speed allowed in the Documentation, the Audio Minutes are still calculated based on the standard playback duration.
8+
9+
**In the section “Remuneration” the following paragraph will be added:**
10+
* Deviating from the DeepL API Pro for translating or improving text, the DeepL API Pro for speech to text charges Customer based on the total Audio Minutes streamed, irrespective of the connection duration or the speed of transmission. Any fractional Audio Minutes will be rounded up to the nearest whole minute for billing purposes.
11+
12+
**In the DeepL Pro Service Specification for the DeepL API Pro and DeepL API Free the following will be added:**
13+
14+
The DeepL API Pro (v3 endpoint only) also includes a speech-to-text translation function for realtime audio. This function is only available to users with a DeepL API Pro subscription type. The speech-to-text function for realtime audio provides the following functionality:
15+
16+
<table>
17+
<thead></thead>
18+
<tbody>
19+
<tr>
20+
<td>Audio Stream</td>
21+
<td>Realtime Audio stream to be translated into text in up to 5 languages.</td>
22+
</tr>
23+
<tr>
24+
<td>Input Languages (Audio)</td>
25+
<td>
26+
<p>The realtime audio stream you want to have translated can be in one of the following languages:</p>
27+
<ul>
28+
<li>`CS` (Czech)</li>
29+
<li>`DE` (German)</li>
30+
<li>`EN` (English)</li>
31+
<li>`ES` (Spanish)</li>
32+
<li>`FR` (French)</li>
33+
<li>`ID` (Indonesian)</li>
34+
<li>`IT` (Italian)</li>
35+
<li>`JA` (Japanese)</li>
36+
<li>`KO` (Korean)</li>
37+
<li>`NL` (Dutch)</li>
38+
<li>`PL` (Polish)</li>
39+
<li>`PT` (Portuguese)</li>
40+
<li>`RO` (Romanian)</li>
41+
<li>`RU` (Russian)</li>
42+
<li>`SV` (Swedish)</li>
43+
<li>`TR` (Turkish)</li>
44+
<li>`UK` (Ukrainian)</li>
45+
<li>`ZH` (Chinese)</li>
46+
</ul>
47+
</td>
48+
</tr>
49+
<tr>
50+
<td>Target language (Text)</td>
51+
<td>
52+
<p>The language in which your translations are provided can be one of the following:</p>
53+
<ul>
54+
<li>`AR` (Arabic)</li>
55+
<li>`BG` (Bulgarian)</li>
56+
<li>`CS` (Czech)</li>
57+
<li>`DA` (Danish)</li>
58+
<li>`DE` (German)</li>
59+
<li>`EL` (Greek)</li>
60+
<li>`EN-GB` (British-British)</li>
61+
<li>`EN-US` (American-English)</li>
62+
<li>`ES` (Spanish)</li>
63+
<li>`ET` (Estonian)</li>
64+
<li>`FI` (Finnish)</li>
65+
<li>`FR` (French)</li>
66+
<li>`HE` (Hebrew)</li>
67+
<li>`HU` (Hungarian)</li>
68+
<li>`ID` (Indonesian)</li>
69+
<li>`IT` (Italian)</li>
70+
<li>`JA` (Japanese)</li>
71+
<li>`KO` (Korean)</li>
72+
<li>`LI` (Lithuanian)</li>
73+
<li>`LV` (Latvian)</li>
74+
<li>`NL` (Dutch)</li>
75+
<li>`NO` (Norwegian)</li>
76+
<li>`PL` (Polish)</li>
77+
<li>`PT-PT` (Portuguese) (all Portuguese varieties excluding Brazilian Portuguese)</li>
78+
<li>`PT-BR` (Brazilian Portuguese)</li>
79+
<li>`PT` (Portuguese) (unspecified variant for backward compatibility; please select `PT-PT` or `PT-BR` instead)</li>
80+
<li>`RO` (Romanian)</li>
81+
<li>`RU` (Russian)</li>
82+
<li>`SK` (Slovak)</li>
83+
<li>`SL` (Slovenian)</li>
84+
<li>`SV` (Swedish)</li>
85+
<li>`TR` (Turkish)</li>
86+
<li>`UK` (Ukrainian)</li>
87+
<li>`VI` (Vietnamese)</li>
88+
<li>`ZH-HANS` (Chinese (simplified))</li>
89+
<li>`ZH-HANT` (Chinese (traditional))</li>
90+
</ul>
91+
</td>
92+
</tr>
93+
</tbody>
94+
</table>
95+
96+
The speech to text function returns the following representation of the processing result:
97+
98+
<table>
99+
<thead></thead>
100+
<tbody>
101+
<tr>
102+
<td>Language</td>
103+
<td>The language which has been detected for your audio.</td>
104+
</tr>
105+
<tr>
106+
<td>Text</td>
107+
<td>The translated text(s) and the transcribed source as a text.</td>
108+
</tr>
109+
</tbody>
110+
</table>
111+
112+
The DeepL API Pro for speech to text is designed to process a specific amount of target languages per stream for a specific maximum streaming connection duration and audio chunk size. The exact applicable information and units can be found in the Documentation. The audio stream speed shall not exceed two times real time; exceeding use may be limited, and Customers may encounter a 429 “Too Many Requests” error message, as described in the documentation.
113+
114+
Applications using the DeepL API Pro should implement a mechanism to handle such responses accordingly and, if appropriate, to try again later. A mechanism increasing the delay for another request exponentially is recommended.
115+
116+
**Amazon Web Services EMEA SARL will be added as a new sub-processor to the Data Processing Agreement. The following new section will apply:**
117+
118+
When using the DeepL API Pro speech to text v3 endpoint specific languages will be processed through AWS Transcribe. These languages are currently not set out above and will be explicitly mentioned in our Help Center. DeepL will be available to add these additional languages for the service by leveraging the real-time transcription capabilities of the Amazon Transcribe API. DeepL has concluded a data processing agreement (“DPA”) with Amazon Web Services EMEA SARL (“AWS) and therefore AWS may only process the data according to DeepL’s instructions and not for their own purposes. When using the v3 endpoint, Customer accepts and agrees that – in case of an existing DPA with DeepL – this DPA will be amended to this regard that AWS will be added as new sub-processors.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
---
2-
openapi: post /v1/voice/realtime
2+
openapi: post /v3/voice/realtime
33
title: "Request Stream"
44
---

api-reference/voice/voice.asyncapi.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ info:
1313
servers:
1414
production:
1515
host: api.deepl.com
16-
pathname: /v1/voice/realtime/connect
16+
pathname: /v3/voice/realtime/connect
1717
protocol: wss
1818
description: DeepL Voice API WebSocket endpoint.
1919
variables:
@@ -24,7 +24,7 @@ servers:
2424

2525
channels:
2626
voiceStream:
27-
address: /v1/voice/realtime/connect?token={token}
27+
address: /v3/voice/realtime/connect?token={token}
2828
description: >
2929
WebSocket channel for streaming audio and receiving transcriptions and translations.
3030
Messages are exchanged in JSON format and WebSocket frames must be of type TEXT.
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
---
2-
asyncapi: voice.asyncapi.yaml voiceStream
2+
asyncapi: voiceStream
33
title: "WebSocket Streaming"
4-
---
5-
[asyncapi.yaml](voice.asyncapi.yaml)
4+
---

docs/getting-started/intro.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@ New user? Follow these quick steps to get started with the DeepL API.
1313

1414
<Steps>
1515
<Step title="Sign up for the API" titleSize="h3">
16-
Visit [our plans page](https://www.deepl.com/en/pro-api#api-pricing), choose a plan, and sign up.
16+
Visit [our plans page](https://www.deepl.com/pro-api#api-pricing), choose a plan, and sign up.
1717

1818
<Tip>
19-
If you already have a DeepL Translator account, you will need to log out and [create a new account for the DeepL API](https://support.deepl.com/hc/en-us/articles/360019358999-Change-plan).
19+
If you already have a DeepL Translator account, you will need to log out and [create a new account for the DeepL API](https://support.deepl.com/hc/articles/360019358999-Change-plan).
2020
</Tip>
2121
</Step>
2222
<Step title="Step 2: Test your API key with a request" titleSize="h3">
23-
Find your API key [here](https://www.deepl.com/en/your-account/keys).
23+
Find your API key [here](https://www.deepl.com/your-account/keys).
2424
Then try making a simple translation request in one of these ways:
2525
* cURL or an HTTP request
26-
* with [our client libraries](api-reference/client-libraries) for [Python](https://www.github.com/deeplcom/deepl-python), [JavaScript](https://www.github.com/deeplcom/deepl-node), [PHP](https://www.github.com/deeplcom/deepl-php), [.NET](https://www.github.com/deeplcom/deepl-dotnet), [Java](https://www.github.com/deeplcom/deepl-java), or [Ruby](https://www.github.com/deeplcom/deepl-rb)
26+
* with [our client libraries](/api-reference/client-libraries) for [Python](https://www.github.com/deeplcom/deepl-python), [JavaScript](https://www.github.com/deeplcom/deepl-node), [PHP](https://www.github.com/deeplcom/deepl-php), [.NET](https://www.github.com/deeplcom/deepl-dotnet), [Java](https://www.github.com/deeplcom/deepl-java), or [Ruby](https://www.github.com/deeplcom/deepl-rb)
2727
* [in our playground](https://developers.deepl.com/api-reference/translate/request-translation?playground=open)
2828
* [in Postman](/docs/getting-started/test-your-api-requests-with-postman)
2929

docs/getting-started/test-your-api-requests-with-postman.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ For convenience, we've created a Postman collection that mirrors the DeepL API f
1010

1111
![](/_assets/images/Request_Translation___DeepL_API_Developers___Postman_API_Network.png)
1212

13-
To get started, [sign up for a developer account at deepl.com](https://www.deepl.com/pro-checkout/account?productId=1200\&yearly=false\&trial=false) and get your authentication key from [your account page](https://www.deepl.com/account).
13+
To get started, [sign up for a developer account at deepl.com](https://www.deepl.com/pro/change-plan#developer) and get your authentication key from [your account page](https://www.deepl.com/account).
1414

1515
Click the button below to fork the DeepL API collection into your own Postman workspace:
1616

0 commit comments

Comments
 (0)