Speech Translation: start task
POST/api/technology/speech-translation-whisper-enhanced
Start an Enhanced Speech Translation Built on Whisper task for a media file.
Enhanced Speech Translation Built on Whisper features
- Multi-channel audio files are supported.
- Channel id is included in individual translation segments.
- Source language for translation of the whole audio can be specified as a query parameter. It is
mutually exclusive with the
language_switching
parameter. - Language switching can be activated via a query parameter. With this feature, the technology
automatically identifies the predominant language spoken within each thirty-second segment of
audio and uses it as the source language for translating that particular segment. It is mutually
exclusive with the
source_language
parameter. - To use a specific language as the source, it must be licensed. Otherwise, an error is raised.
- If you use auto-detect or language switching, only licensed languages are considered as the source for the translation. In case the actually detected language is not licensed, the closest licensed language is used instead.
Request
Query Parameters
Possible values: [split
, mix
]
A string enumeration value representing the channel mode for conversion. This value indicates how the audio channels should be processed during conversion. Only the channels with the specified indices (channels
parameter) will be processed, and others will be ignored.
split
A string of integers separated by comma (without spaces), representing the channels that should be kept during conversion. If specified, only the channels with the specified indices will be processed, and others will be ignored. If empty, all channels in the audio data will be processed. Note that channels
is 0-based.
Possible values: >= 0
Specifies the time in the input file where processing starts. If the parameter equals 0
(the default value), the recording is processed from the beginning. Time is given in seconds.
0
Possible values: >= 0
Specifies the time in the file where processing ends. If the parameter is not specified, the input file is processed to the end. Time is given in seconds.
A string specifying the source language for Enhanced Speech Translation Built on Whisper. The value should follow RFC 5646. It can consist of the "language", "region", and "privateuse" subtags. Refer to supported languages for a complete list of supported language tags. Omit the parameter altogether for automatic detection of the language.
By default, the language of the audio is detected once at the beginning of processing. Setting language_switching
to true allows for dynamic language switching in the audio, with the language being detected approximately every 30 seconds.
false
Header Parameters
Correlation ID is a special type of request ID which is unique over a series of requests and responses, identifying a transaction in a distributed system. Correlation ID will be generated if not provided.
In distributed system architecture (microservices architecture) it is a unique ID of request and response combination throughout all components of a distributed system. Request ID will be generated if not provided.
- multipart/form-data
Bodyrequired
Input media file.
Responses
- 202
- 400
- 403
- 413
- 422
- 429
- 507
Speech translation task was accepted. Follow the Location
header to poll for the task state.
Response Headers
- application/json
- Schema
- Example (auto)
Schema
task objectrequired
{
"task": {
"task_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"state": "pending"
}
}
Request payload data was invalid and could not be parsed.
- application/json
- Schema
- Example (auto)
- request.invalid
Schema
Machine-readable error type.
Possible values: [internal
, resource.not-found
, method.invalid
, request.conflict
, request.forbidden
, request.invalid
, request.validation-error
, request.rate-limit-exceeded
, request.size-limit-exceeded
, storage.capacity-exceeded
]
Human-readable summary of the error.
detail object[]
{
"type": "internal",
"message": "string",
"detail": [
{
"location": [
0,
"string"
],
"message": "string",
"type": "string",
"context": {}
}
]
}
Invalid request.
{
"type": "request.invalid",
"message": "Invalid request.",
"detail": []
}
Request is forbidden.
- application/json
- Schema
- Example (auto)
- request.forbidden
Schema
Machine-readable error type.
Possible values: [internal
, resource.not-found
, method.invalid
, request.conflict
, request.forbidden
, request.invalid
, request.validation-error
, request.rate-limit-exceeded
, request.size-limit-exceeded
, storage.capacity-exceeded
]
Human-readable summary of the error.
detail object[]
{
"type": "internal",
"message": "string",
"detail": [
{
"location": [
0,
"string"
],
"message": "string",
"type": "string",
"context": {}
}
]
}
Processing capacity allowed for the operation was exceeded.
{
"type": "request.forbidden",
"message": "Request is forbidden.",
"detail": [
{
"location": [
"license"
],
"message": "Licensed processing capacity exceeded.",
"type": "licensing.capacity-exceeded",
"context": {}
}
]
}
The request entity (payload) size exceeds the allowed limit.
- application/json
- Schema
- Example (auto)
- request.size-limit-exceeded
Schema
Machine-readable error type.
Possible values: [internal
, resource.not-found
, method.invalid
, request.conflict
, request.forbidden
, request.invalid
, request.validation-error
, request.rate-limit-exceeded
, request.size-limit-exceeded
, storage.capacity-exceeded
]
Human-readable summary of the error.
detail object[]
{
"type": "internal",
"message": "string",
"detail": [
{
"location": [
0,
"string"
],
"message": "string",
"type": "string",
"context": {}
}
]
}
Request size limit exceeded.
{
"type": "request.size-limit-exceeded",
"message": "Request size limit exceeded.",
"detail": [
{
"location": [
"body",
"file"
],
"message": "Input media file too large.",
"type": "media.too-large",
"context": {
"file_size": 1048576000,
"max_file_size": 524288000,
"size_unit": "bytes"
}
}
]
}
Error during validation of request payload data occurred.
- application/json
- Schema
- Example (auto)
- request validation error
Schema
Machine-readable error type.
Possible values: [internal
, resource.not-found
, method.invalid
, request.conflict
, request.forbidden
, request.invalid
, request.validation-error
, request.rate-limit-exceeded
, request.size-limit-exceeded
, storage.capacity-exceeded
]
Human-readable summary of the error.
detail object[]
{
"type": "internal",
"message": "string",
"detail": [
{
"location": [
0,
"string"
],
"message": "string",
"type": "string",
"context": {}
}
]
}
Request validation error.
{
"type": "request.validation-error",
"message": "Request validation error.",
"detail": []
}
Request rate limit exceeded.
The request may be retried after a while. The following response headers may be checked for details: retry-after
, x-ratelimit-limit
, x-ratelimit-remaining
, x-ratelimit-reset
.
Response Headers
- application/json
- Schema
- Example (auto)
- request.rate-limit-exceeded
Schema
Machine-readable error type.
Possible values: [internal
, resource.not-found
, method.invalid
, request.conflict
, request.forbidden
, request.invalid
, request.validation-error
, request.rate-limit-exceeded
, request.size-limit-exceeded
, storage.capacity-exceeded
]
Human-readable summary of the error.
detail object[]
{
"type": "internal",
"message": "string",
"detail": [
{
"location": [
0,
"string"
],
"message": "string",
"type": "string",
"context": {}
}
]
}
Rate limit exceeded.
{
"type": "request.rate-limit-exceeded",
"message": "Rate limit exceeded: 1 per 5 second.",
"detail": []
}
The storage is full and cannot accept any data.
- application/json
- Schema
- Example (auto)
- insufficient storage
Schema
Machine-readable error type.
Possible values: [internal
, resource.not-found
, method.invalid
, request.conflict
, request.forbidden
, request.invalid
, request.validation-error
, request.rate-limit-exceeded
, request.size-limit-exceeded
, storage.capacity-exceeded
]
Human-readable summary of the error.
detail object[]
{
"type": "internal",
"message": "string",
"detail": [
{
"location": [
0,
"string"
],
"message": "string",
"type": "string",
"context": {}
}
]
}
Storage capacity exceeded.
{
"type": "storage.capacity-exceeded",
"message": "Storage capacity exceeded.",
"detail": []
}
- csharp
- curl
- dart
- go
- http
- java
- javascript
- kotlin
- c
- nodejs
- objective-c
- ocaml
- php
- powershell
- python
- r
- ruby
- rust
- shell
- swift
- HTTPCLIENT
- RESTSHARP
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://docs.cloud.phonexia.com/api/technology/speech-translation-whisper-enhanced");
request.Headers.Add("Accept", "application/json");
var content = new StringContent(string.Empty);
content.Headers.ContentType = new MediaTypeHeaderValue("multipart/form-data");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());