Start a large-file upload
curl --request POST \
--url https://stt.omnia-voice.com/batch/init \
--header 'X-API-Key: <api-key>' \
--header 'X-Content-Type: <x-content-type>'const options = {
method: 'POST',
headers: {'X-Content-Type': '<x-content-type>', 'X-API-Key': '<api-key>'}
};
fetch('https://stt.omnia-voice.com/batch/init', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://stt.omnia-voice.com/batch/init"
headers = {
"X-Content-Type": "<x-content-type>",
"X-API-Key": "<api-key>"
}
response = requests.post(url, headers=headers)
print(response.text){
"operationId": "<string>",
"uploadUrl": "<string>",
"uploadMethod": "PUT",
"uploadContentType": "<string>",
"expiresInSeconds": 3600,
"startUrl": "<string>",
"pollUrl": "<string>"
}{
"error": "<string>",
"message": "<string>",
"code": "INVALID_API_KEY"
}Transcription
Start a large-file upload
First step of the signed-URL flow for files over ~32 MB. Takes the same option
headers as POST /batch plus X-Content-Type with the audio MIME type (the
request itself has no body). Returns an uploadUrl to PUT the audio to
directly — no API key needed on that request, and it works from browsers.
Then call POST /batch/{operationId}/start.
POST
/
batch
/
init
Start a large-file upload
curl --request POST \
--url https://stt.omnia-voice.com/batch/init \
--header 'X-API-Key: <api-key>' \
--header 'X-Content-Type: <x-content-type>'const options = {
method: 'POST',
headers: {'X-Content-Type': '<x-content-type>', 'X-API-Key': '<api-key>'}
};
fetch('https://stt.omnia-voice.com/batch/init', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://stt.omnia-voice.com/batch/init"
headers = {
"X-Content-Type": "<x-content-type>",
"X-API-Key": "<api-key>"
}
response = requests.post(url, headers=headers)
print(response.text){
"operationId": "<string>",
"uploadUrl": "<string>",
"uploadMethod": "PUT",
"uploadContentType": "<string>",
"expiresInSeconds": 3600,
"startUrl": "<string>",
"pollUrl": "<string>"
}{
"error": "<string>",
"message": "<string>",
"code": "INVALID_API_KEY"
}Authorizations
Your Omnia API key (om_… or ck_…)
Headers
Comma-separated BCP-47 codes (up to 10), or auto on its own to detect the
language. Defaults to fi-FI,sv-SE. Also accepted as ?languages=.
See GET /languages for supported codes.
Example:
"fi-FI,sv-SE"
JSON passed through unchanged to usage webhooks.
Example:
"{\"callId\": \"abc-123\"}"
MIME type of the file you will upload. The PUT must send the same Content-Type.
Example:
"audio/mp4"