Introduction
Welcome to the Vatis Tech API!
You can use our API to automatically submit your file to be transcribed by our AI models, to view existing transcripts or export them in various formats.
If you have any questions, please write to us at founders@vatis.tech.
With best wishes for success,
Vatis Tech Team
Authentication
To test the API key, use this code:
curl GET 'https://vatis.tech/api/v1/status' \
-H 'Authorization: Bearer **your_api_key_here**' \
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v1/status")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer **your_api_key_here**"
response = http.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v1/status"
payload = {}
headers = {
'Authorization': 'Bearer **your_api_key_here**',
}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key_here**");
var requestOptions = {
method: "GET",
headers: myHeaders,
redirect: "follow",
};
fetch("https://vatis.tech/api/v1/status", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
Make sure to replace
**your_api_key_here**
with your API key.The above command returns:
Vatis Tech API is up!
Vatis Tech uses API keys to allow access to our API. To get your API key, log into your account and go to the account section.
Authorization: Bearer **your_api_key_here**
Account
Get account details
curl --location --request GET 'https://vatis.tech/api/v1/account' \
--header 'Authorization: Bearer **your_api_key**'
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v1/account")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer **your_api_key**"
response = https.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v1/account"
payload={}
headers = {
'Authorization': 'Bearer **your_api_key**'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key**");
var requestOptions = {
method: "GET",
headers: myHeaders,
redirect: "follow",
};
fetch("https://vatis.tech/api/v1/account", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
The command above returns a JSON structured like this:
{
"id": 2,
"login": "test.user",
"firstName": "test",
"lastName": "user",
"email": "test.user@mail.com",
"imageUrl": null,
"activated": true,
"emailConfirmed": true,
"langKey": "en_GB",
"createdBy": "anonymousUser",
"createdDate": "2020-01-01T00:00:00.000000Z",
"lastModifiedBy": "test.user",
"lastModifiedDate": "2020-01-01T00:00:00.000000Z",
"authorities": ["ROLE_USER"],
"currentWorkspace": {
"id": 1,
"name": "Personal workspace",
"root": {
"uid": "71a16472-3791-42b5-b476-90a43b92704c",
"discriminator": "FOLDER",
"name": "Personal workspace",
"guests": null,
"children": null
},
"members": null
},
"availableTranscriptSeconds": 10000,
"ip": null,
"apiKey": "**api_key**",
"emailNotifications": false,
"age": 20,
"gender": "MALE",
"pendingReviewCredits": 0,
"approvedCredits": 0,
"activeEditTimeSeconds": 0,
"assumedEditTimeSeconds": 0,
"activeValidateTimeSeconds": 0,
"assumedValidateTimeSeconds": 0,
"editedPhrases": 0,
"correctEditedPhrases": 0,
"wrongEditedPhrases": 0,
"validatedPhrases": 0,
"completedTutorials": [],
"features": []
}
Get account details.
HTTP Request
GET https://vatis.tech/api/v1/account
Upload
Using a signed url
curl GET 'https://vatis.tech/api/v1/files/new?name=your_file.flac' \
-H 'Authorization: Bearer ***your_api_key_here***'
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v1/files/new?name=your_file.flac")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer ***your_api_key_here***"
response = http.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v1/files/new?name=your_file.flac"
payload = {}
headers = {
'Authorization': 'Bearer ***your_api_key_here***'
}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer ***your_api_key_here***");
var requestOptions = {
method: "GET",
headers: myHeaders,
redirect: "follow",
};
fetch("https://vatis.tech/api/v1/files/new?name=your_file.flac", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
The above command returns JSON structured like this:
{
"uploadUrl": "https://storage.googleapis.com/vatis-tech-bucket-euro/xxxx-xxxx?X-Goog-Signature=yyyyy....",
"fileUid": "35dc963f-4107-4699-a4a0-0f8ea0fcbb6e"
}
Get a signed URL to upload your file to our GCS bucket. After the upload is completed, you can use the returned fileUid
to start the transcription process for your file.
HTTP Request
GET https://vatis.tech/api/v1/files/new?name=your_file.flac
Query Parameters
Parameter | Default | Description |
---|---|---|
name | false | (required) The name of the uploading file |
Upload a file to cloud storage
Sample upload to a GCS bucket.
curl POST 'https://uploadUrl...' --form '=@/your_file.flac'
require "uri"
require "net/http"
url = URI("https://uploadUrl...")
https = Net::HTTP.new(url.host, url.port);
https.use_ssl = true
request = Net::HTTP::Post.new(url)
form_data = [['', File.open('/your_file.flac')]]
request.set_form form_data, 'multipart/form-data'
response = https.request(request)
puts response.read_body
import requests
url = "https://uploadUrl..."
payload = {}
files = [
('', open('/your_file.flac','rb'))
]
headers= {}
response = requests.request("POST", url, headers=headers, data = payload, files = files)
print(response.text.encode('utf8'))
var formdata = new FormData();
formdata.append("", fileInput.files[0], "your_file.flac");
var requestOptions = {
method: "POST",
body: formdata,
redirect: "follow",
};
fetch("https://uploadUrl...", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
If you want more information about GCS signed URLs check here
Transcriptions
Transcribe by UID
curl POST 'https://vatis.tech/api/v1/files/transcribe/uid' \
--header 'Authorization: Bearer **your_api_key_here**' \
--data-raw '{
"uid": "35dc963f-4107-4699-a4a0-0f8ea0fcbb6e",
"language": "ro_RO",
"name": "your_file.flac",
"success_url": "https://your-success-url.com?format=PLAIN_TEXT&uid=${uid}",
"fail_url": "https://your-fail-url.com?uid=${uid}"
}'
require "uri"
require "net/http"
url = URI("http://vatis.tech:8080/api/v1/files/transcribe/uid")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer **your_api_key_here**"
request.body = "{\
\"uid\": \"adf956bc-2c8e-4ade-9ec9-4297551b42bb\",\
\"language\": \"ro_RO\",\
\"name\": \"your_file.mp4\",\
\"success_url\": \"https://your-success-url.com?format=JSON&uid=${uid}\",\
\"fail_url\": \"https://your-fail-url.com?uid=${uid}\"\
}"
response = http.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v1/files/transcribe/uid"
payload = """
{
\"uid\": \"adf956bc-2c8e-4ade-9ec9-4297551b42bb\",
\"language\": \"ro_RO\",
\"name\": \"your_file.mp4\",
\"success_url\": \"https://your-success-url.com?format=JSON&uid=${uid}\",
\"fail_url\": \"https://your-fail-url.com?uid=${uid}\"
}
"""
headers = {
'Authorization': 'Bearer **your_api_key_here**',
}
response = requests.request("POST", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key_here**");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
uid: "adf956bc-2c8e-4ade-9ec9-4297551b42bb",
language: "ro_RO",
name: "your_file.mp4",
success_url: "https://your-success-url.com?format=JSON&uid=${uid}",
fail_url: "https://your-fail-url.com?uid=${uid}",
});
var requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow",
};
fetch("https://vatis.tech/api/v1/files/transcribe/uid", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
The command above returns a JSON structured like this:
{
"uid": "35dc963f-4107-4699-a4a0-0f8ea0fcbb6e",
"discriminator": "TRANSCRIPTED_FILE",
"name": "your_file.flac",
"secondsDuration": 240,
"language": "ro_RO",
"createdDate": "2020-09-05T09:02:02.978931Z",
"status": "NOT_TRANSCRIPTED"
}
Transcribe a file by passing the UID obtained at upload to our GCS bucket.
HTTP Request
POST https://vatis.tech/api/v1/files/transcribe/uid?transcribe=[true|false]
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
transcribe | boolean | true | Specify if the transcription process should be automatically initiated after the upload. |
parent | UUID | Root folder | The identifier of the parent folder of this file |
model | UUID | Default model | The model used for transcription. It can be used to specify a custom model |
speaker_diarization | bool | false | Enable speakers diarization flag |
speakers_number | int | 1 | The speakers count in the audio hint |
multi_channels | bool | false | Transcribe each audio channel separately. multi_channels and speaker_diarization can't be used simultaneously |
disfluencies | bool | true | Enable disfluencies flag |
punctuation_capitalization | bool | false | Add punctuation and capitalization flag |
entities_recognition | bool | false | Add entity tag on each word flag. Flags are listed here |
numerals_conversion | bool | false | Convert numerals flag. This automatically enables entities recognition. |
find_replace | bool | false | Apply find-replace rules |
Body Attributes
Attribute | Type | Default | Description |
---|---|---|---|
uid | string | (required) | Uid obtained at upload to our GCS bucket. |
language | string | (required) | Language code of your file. Full list here. |
name | string | (required) | Uploaded file name. |
success_url | string | None | The success url where you would like to be notified when the transcript is ready. |
fail_url | string | None | The fail url where you would like to be notified if the transcription process has failed. |
hotwords | list of strings | None | The list of words, phrases, or both from your custom vocabulary |
hotwords_weight | float | None | A value between 0.1 and 10.0 to control how much weight should be applied to your keywords/phrases |
Response Attributes
Attribute | Type | Description |
---|---|---|
uid | string | File uid. |
discriminator | string | Type of file. Can be one of: TRANSCRIPTED_FILE , VATIS_TRANSCRIBED_FILE . |
name | string | File name. |
secondsDuration | integer | Duration of the file in seconds. |
language | string | Language code of the file. Full list here. |
createdDate | date | File created date without timezone (e.g. 2020-09-05T09:02:02.978931Z ). |
status | string | Transcription status for this file. Can be one of: NOT_TRANSCRIPTED , TRANSCRIPTING , TRANSCRIPTED , QUEUED . |
Transcribe by link
curl POST 'https://vatis.tech/api/v1/files/transcribe/link' \
--header 'Authorization: Bearer **your_api_key_here**' \
--data-raw '{
"url": "https://your_url/to/your_file.mp4",
"language": "ro_RO",
"name": "your_file.flac",
"success_url": "https://your-success-url.com?format=PLAIN_TEXT&uid=${uid}",
"fail_url": "https://your-fail-url.com?uid=${uid}"
}'
require "uri"
require "net/http"
url = URI("http://vatis.tech:8080/api/v1/files/transcribe/uid")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer **your_api_key_here**"
request.body = "{\
\"url\": \"https://your_url/to/your_file.mp4\",\
\"language\": \"ro_RO\",\
\"name\": \"your_file.mp4\",\
\"success_url\": \"https://your-success-url.com?format=JSON&uid=${uid}\",\
\"fail_url\": \"https://your-fail-url.com?uid=${uid}\"\
}"
response = http.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v1/files/transcribe/uid"
payload = """
{
\"url\": \"https://your_url/to/your_file.mp4\",
\"language\": \"ro_RO\",
\"name\": \"your_file.mp4\",
\"success_url\": \"https://your-success-url.com?format=JSON&uid=${uid}\",
\"fail_url\": \"https://your-fail-url.com?uid=${uid}\"
}
"""
headers = {
'Authorization': 'Bearer **your_api_key_here**',
}
response = requests.request("POST", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key_here**");
var raw = JSON.stringify({
url: "https://your_url/to/your_file.mp4",
language: "ro_RO",
name: "your_file.mp4",
success_url: "https://your-success-url.com?format=JSON&uid=${uid}",
fail_url: "https://your-fail-url.com?uid=${uid}",
});
var requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow",
};
fetch("https://vatis.tech/api/v1/files/transcribe/link", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
The command above returns a JSON structured like this:
{
"uid": "35dc963f-4107-4699-a4a0-0f8ea0fcbb6e",
"discriminator": "TRANSCRIPTED_FILE",
"name": "your_file.flac",
"secondsDuration": 240,
"language": "ro_RO",
"createdDate": "2020-09-05T10:18:25.549374Z",
"status": "NOT_TRANSCRIPTED"
}
Transcribe a file by passing a public link. Our backend will download the file from that link in order to transcribe it.
HTTP Request
POST https://vatis.tech/api/v1/files/transcribe/link?transcribe=[true|false]
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
transcribe | boolean | true | Specify if the transcription process should be automatically initiated after the upload. |
parent | UUID | Root folder | The identifier of the parent folder of this file |
model | UUID | Default model | The model used for transcription. It can be used to specify a custom model |
speaker_diarization | bool | false | Enable speakers diarization flag |
speakers_number | int | 1 | The speakers count in the audio hint |
multi_channels | bool | false | Transcribe each audio channel separately. multi_channels and speaker_diarization can't be used simultaneously |
disfluencies | bool | true | Enable disfluencies flag |
punctuation_capitalization | bool | false | Add punctuation and capitalization flag |
entities_recognition | bool | false | Add entity tag on each word flag. Flags are listed here |
numerals_conversion | bool | false | Convert numerals flag. This automatically enables entities recognition. |
find_replace | bool | false | Apply find-replace rules |
Body Attributes
Attribute | Type | Default | Description |
---|---|---|---|
url | string | (required) | Public link to your file. |
language | string | (required) | Language code of your file. Full list here. |
name | string | (required) | The file name |
media_type | string | <generated> | File media type. Full list here |
success_url | string | None | The success url where you would like to be notified when the transcript is ready. |
fail_url | string | None | The fail url where you would like to be notified if the transcribe process failed. |
hotwords | list of strings | None | The list of words, phrases, or both from your custom vocabulary |
hotwords_weight | float | None | A value between 0.1 and 10.0 to control how much weight should be applied to your keywords/phrases |
Response Attributes
Attribute | Type | Description |
---|---|---|
uid | string | File uid. |
discriminator | string | Type of file. Can be one of: TRANSCRIPTED_FILE , VATIS_TRANSCRIBED_FILE . |
name | string | File name. |
secondsDuration | integer | Duration of the file in seconds. |
language | string | Language code of the file. Full list here. |
createdDate | date | File created date without timezone (e.g. 2020-09-05T09:02:02.978931Z ). |
status | string | Transcription status for this file. Can be one of: NOT_TRANSCRIPTED , TRANSCRIPTING , TRANSCRIPTED , QUEUED . |
Transcribe by file
curl POST 'https://vatis.tech/api/v1/files/transcribe/file' \
--header 'Authorization: Bearer **your_api_key_here**' \
--form 'file=@/your_file.flac' \
--form 'language=ro_RO' \
--form 'success_url=https://your-success-url.com?format=PLAIN_TEXT&uid=${uid}' \
--form 'fail_url=https://your-fail-url.com?uid=${uid}'
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v1/files/transcribe/file")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer **your_api_key_here**"
form_data = [
['file', File.open('/path/to/your_file.mp4')],
['language', 'ro_RO'],
['success_url', 'https://your-success-url.com?format=JSON&uid=${uid}'],
['fail_url', 'https://your-fail-url.com?uid=${uid}']
]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v1/files/transcribe/file"
payload = {
'language': 'ro_RO',
'success_url': 'https://your-success-url.com?format=PLAIN_TEXT&uid=${uid}',
'fail_url': 'https://your-fail-url.com?uid=${uid}'
}
files = [
('file', open('/path/to/your_file.mp4','rb'))
]
headers = {
'Authorization': 'Bearer **your_api_key_here**',
}
response = requests.request("POST", url, headers=headers, data = payload, files = files)
print(response.text.encode('utf8'))
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key_here**");
var formdata = new FormData();
formdata.append("file", fileInput.files[0], "/path/to/your_file.mp4");
formdata.append("language", "ro_RO");
formdata.append(
"success_url",
"https://your-success-url.com?format=PLAIN_TEXT&uid=${uid}"
);
formdata.append("fail_url", "https://your-fail-url.com?uid=${uid}");
var requestOptions = {
method: "POST",
headers: myHeaders,
body: formdata,
redirect: "follow",
};
fetch("https://vatis.tech/api/v1/files/transcribe/file", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
The command above returns a JSON structured like this:
{
"uid": "35dc963f-4107-4699-a4a0-0f8ea0fcbb6e",
"discriminator": "TRANSCRIPTED_FILE",
"name": "your_file.flac",
"secondsDuration": 240,
"language": "ro_RO",
"createdDate": "2020-09-05T10:30:51.759652Z",
"status": "NOT_TRANSCRIPTED"
}
Transcribe a file by uploading it directly to our servers.
HTTP Request
POST https://vatis.tech/api/v1/files/transcribe/file?transcribe=[true|false]
Parameters
They can be passed either as query parameter or form data parameter
Parameter | Type | Default | Description |
---|---|---|---|
file | binary | (required) | The binary file. |
language | string | (required) | Language code of your file. Full list here. |
success_url | string | None | The success url where you would like to be notified when the transcript is ready. |
fail_url | string | None | The fail url where you would like to be notified if the transcribe process failed. |
transcribe | boolean | true | Specify if the transcription process should be automatically initiated after the upload. |
parent | UUID | Root folder | The identifier of the parent folder of this file |
model | UUID | Default model | The model used for transcription. It can be used to specify a custom model |
hotwords | list of strings | None | The list of words, phrases, or both from your custom vocabulary |
hotwords_weight | float | None | A value between 0.1 and 10.0 to control how much weight should be applied to your keywords/phrases |
speaker_diarization | bool | false | Enable speakers diarization flag |
speakers_number | int | 1 | The speakers count in the audio hint |
multi_channels | bool | false | Transcribe each audio channel separately. multi_channels and speaker_diarization can't be used simultaneously |
disfluencies | bool | true | Enable disfluencies flag |
punctuation_capitalization | bool | false | Add punctuation and capitalization flag |
entities_recognition | bool | false | Add entity tag on each word flag. Flags are listed here |
numerals_conversion | bool | false | Convert numerals flag. This automatically enables entities recognition. |
find_replace | bool | false | Apply find-replace rules |
Response Attributes
Attribute | Type | Description |
---|---|---|
uid | string | File uid. |
discriminator | string | Type of file. Can be one of: TRANSCRIPTED_FILE , VATIS_TRANSCRIBED_FILE . |
name | string | File name. |
secondsDuration | integer | Duration of the file in seconds. |
language | string | Language code of the file. Full list here. |
createdDate | date | File created date without timezone (e.g. 2020-09-05T09:02:02.978931Z ). |
status | string | Transcription status for this file. Can be one of: NOT_TRANSCRIPTED , TRANSCRIPTING , TRANSCRIPTED , QUEUED . |
Start/restart transcription
curl POST 'https://vatis.tech/api/v1/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e/transcribe' \
--header 'Authorization: Bearer **your_api_key_here**'
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v1/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e/transcribe")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer **your_api_key_here**"
response = http.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v1/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e/transcribe"
payload = {}
headers = {
'Authorization': 'Bearer **your_api_key_here**"'
}
response = requests.request("POST", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key_here**");
var requestOptions = {
method: "POST",
headers: myHeaders,
redirect: "follow",
};
fetch(
"https://vatis.tech/api/v1/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e/transcribe",
requestOptions
)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
The command above returns a JSON structured like this:
{
"uid": "35dc963f-4107-4699-a4a0-0f8ea0fcbb6e",
"discriminator": "TRANSCRIPTED_FILE",
"name": "your_file.flac",
"guests": null,
"link": "https://temp-public-link.com/",
"mediaType": "SUPPORTED",
"status": "TRANSCRIPTED",
"data": {
"words": [
{
"startTime": 4,
"endTime": 5,
"word": "ar",
"speaker": "1"
},
{
"startTime": 5,
"endTime": 5,
"word": "putea",
"speaker": "1"
},
{
"startTime": 5,
"endTime": 6,
"word": "să",
"speaker": "1"
},
{
"startTime": 6,
"endTime": 6,
"word": "vină",
"speaker": "1"
},
{
"startTime": 6,
"endTime": 7,
"word": "câteva",
"speaker": "1"
},
{
"startTime": 7,
"endTime": 7,
"word": "ploi",
"speaker": "1"
},
{
"startTime": 7,
"endTime": 8,
"word": "trecătoare",
"speaker": "1"
}
],
"rating": null
},
"secondsDuration": 120,
"createdDate": "2020-09-05T10:44:39.896873Z",
"language": "ro_RO",
"speakers": 1
}
Trigger the transcription process for an already uploaded file.
HTTP Request
POST https://vatis.tech/api/v1/transcripts/{uid}/transcribe
Query Parameters
Parameter | Default | Description |
---|---|---|
uid | None | (required) File uid. |
Response Attributes
Attribute | Type | Description |
---|---|---|
uid | string | File uid. |
discriminator | string | Type of file. Can be one of: TRANSCRIPTED_FILE , VATIS_TRANSCRIBED_FILE . |
name | string | File name. |
mediaType | string | Media format for this file. Full values list here. |
status | string | Transcription status for this file. Can be one of: NOT_TRANSCRIPTED , TRANSCRIPTING , TRANSCRIPTED , QUEUED . |
startTime | double | Start time of the word in seconds. |
endTime | double | End time of the word in seconds. |
word | string | Transcribed word. |
speaker | string | Speaker identifier (This feature may not be always supported). |
secondsDuration | integer | Duration of the file in seconds. |
createdDate | date | File created date without timezone (e.g. 2020-09-05T09:02:02.978931Z ). |
language | string | Language code of the file. Full list here. |
Retrieve a transcript
curl GET 'https://vatis.tech/api/v1/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e' \
--header 'Authorization: Bearer **your_api_key_here**'
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v1/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer **your_api_key_here**"
response = http.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v1/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e"
payload = {}
headers = {
'Authorization': 'Bearer **your_api_key_here**"'
}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key_here**");
var requestOptions = {
method: "GET",
headers: myHeaders,
redirect: "follow",
};
fetch(
"https://vatis.tech/api/v1/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e",
requestOptions
)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
The command above returns a JSON structured like this:
{
"uid": "35dc963f-4107-4699-a4a0-0f8ea0fcbb6e",
"discriminator": "TRANSCRIPTED_FILE",
"name": "your_file.flac",
"guests": null,
"link": "https://temp-public-link.com/",
"mediaType": "SUPPORTED",
"status": "TRANSCRIPTED",
"data": {
"words": [
{
"startTime": 4,
"endTime": 5,
"word": "ar",
"speaker": "1"
},
{
"startTime": 5,
"endTime": 5,
"word": "putea",
"speaker": "1"
},
{
"startTime": 5,
"endTime": 6,
"word": "să",
"speaker": "1"
},
{
"startTime": 6,
"endTime": 6,
"word": "vină",
"speaker": "1"
},
{
"startTime": 6,
"endTime": 7,
"word": "câteva",
"speaker": "1"
},
{
"startTime": 7,
"endTime": 7,
"word": "ploi",
"speaker": "1"
},
{
"startTime": 7,
"endTime": 8,
"word": "trecătoare",
"speaker": "1"
}
],
"rating": null
},
"secondsDuration": 120,
"createdDate": "2020-09-05T10:44:39.896873Z",
"language": "ro_RO",
"speakers": 1
}
Retrieve a transcript for a file by file uid.
HTTP Request
GET https://vatis.tech/api/v1/transcripts/{uid}
Query Parameters
Parameter | Default | Description |
---|---|---|
uid | None | (required) File uid. |
Response Attributes
Attribute | Type | Description |
---|---|---|
uid | string | File uid. |
discriminator | string | Type of file. Can be one of: TRANSCRIPTED_FILE , VATIS_TRANSCRIBED_FILE . |
name | string | File name. |
mediaType | string | Media format for this file. Full values list here. |
status | string | Transcription status for this file. Can be one of: NOT_TRANSCRIPTED , TRANSCRIPTING , TRANSCRIPTED , QUEUED . |
startTime | double | Start time of the word in seconds. |
endTime | double | End time of the word in seconds. |
word | string | Transcribed word. |
speaker | string | Speaker identifier (This feature may not be always supported). |
secondsDuration | integer | Duration of the file in seconds. |
createdDate | date | File created date without timezone (e.g. 2020-09-05T09:02:02.978931Z ). |
language | string | Language code of the file. Full list here. |
Transcriptions V2
Retrieve the transcript versions
curl GET 'https://vatis.tech/api/v1/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e' \
--header 'Authorization: Bearer **your_api_key_here**'
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v2/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer **your_api_key_here**"
response = http.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v2/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e"
payload = {}
headers = {
'Authorization': 'Bearer **your_api_key_here**"'
}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key_here**");
var requestOptions = {
method: "GET",
headers: myHeaders,
redirect: "follow",
};
fetch(
"https://vatis.tech/api/v2/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e",
requestOptions
)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
The command above returns a JSON structured like this:
{
"uid": "35dc963f-4107-4699-a4a0-0f8ea0fcbb6e",
"discriminator": "TRANSCRIPTED_FILE",
"name": "your_file.flac",
"guests": null,
"link": "https://temp-public-link.com/",
"mediaType": "SUPPORTED",
"status": "TRANSCRIPTED",
"secondsDuration": 120,
"createdDate": "2020-09-05T10:44:39.896873Z",
"language": "ro_RO",
"speakers": 1,
"versions": ["raw", "original", "latest"]
}
Retrieve a transcript for a file by file uid.
HTTP Request
GET https://vatis.tech/api/v2/transcripts/{uid}
Query Parameters
Parameter | Default | Description |
---|---|---|
uid | None | (required) File uid. |
Response Attributes
Attribute | Type | Description |
---|---|---|
uid | string | File uid. |
discriminator | string | Type of file. Can be one of: TRANSCRIPTED_FILE , VATIS_TRANSCRIBED_FILE . |
name | string | File name. |
mediaType | string | Media format for this file. Full values list here. |
status | string | Transcription status for this file. Can be one of: NOT_TRANSCRIPTED , TRANSCRIPTING , TRANSCRIPTED , QUEUED . |
startTime | double | Start time of the word in seconds. |
endTime | double | End time of the word in seconds. |
versions | string | Transcript in different states such as raw, latest, original or a snapshot in time |
speaker | string | Speaker identifier (This feature may not be always supported). |
secondsDuration | integer | Duration of the file in seconds. |
createdDate | date | File created date without timezone (e.g. 2020-09-05T09:02:02.978931Z ). |
language | string | Language code of the file. Full list here. |
Retrieve a transcript
curl GET 'https://vatis.tech/api/v1/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e/versions/latest' \
--header 'Authorization: Bearer **your_api_key_here**'
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v2/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e/versions/latest")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer **your_api_key_here**"
response = http.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v2/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e/versions/latest"
payload = {}
headers = {
'Authorization': 'Bearer **your_api_key_here**"'
}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key_here**");
var requestOptions = {
method: "GET",
headers: myHeaders,
redirect: "follow",
};
fetch(
"https://vatis.tech/api/v2/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e/versions/latest",
requestOptions
)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
The command above returns a JSON structured like this:
{
"transcript": {
"children": [
{
"type": "paragraph",
"data-speaker": "1",
"data-speaker-gender": null,
"data-start": 4,
"data-end": 7,
"data-completed": false,
"data-edited": false,
"children": [
{
"data-start": 4,
"data-end": 5,
"data-text": "ar"
},
{
"data-start": 5,
"data-end": 5,
"data-text": "putea"
},
{
"data-start": 5,
"data-end": 6,
"data-text": "să"
},
{
"data-start": 6,
"data-end": 6,
"data-text": "vină"
},
{
"data-start": 6,
"data-end": 7,
"data-text": "câteva"
},
{
"data-start": 7,
"data-end": 7,
"data-text": "ploi"
},
{
"data-start": 7,
"data-end": 8,
"data-text": "trecătoare"
}
]
}
],
"meta": null
}
}
Retrieve a transcript for a file by file uid and its version.
HTTP Request
GET https://vatis.tech/api/v2/transcripts/{uid}/{version}
Query Parameters
Parameter | Default | Description |
---|---|---|
uid | None | (required) File uid. |
version | None | (required) Transcript version such as: latest, raw, original, ... |
Response Attributes
Attribute | Type | Description |
---|---|---|
transcript | object | Root node in which the transcript data and metadata will be found |
type | string | Type of the node: paragraph |
children | array | List of paragraphs or words |
data-speaker | string | Speaker identifier (This feature may not be always supported). |
data-speaker-gender | string | Speaker gender identifier (This feature may not be always supported). |
data-start | double | Start time of the word in seconds. |
data-end | double | End time of the word in seconds. |
data-confidence | double | Confidence in the transcribed word |
data-completed | bool | Flag that let us know if the editing for the word is completed |
data-edited | bool | Flag that let us know if the word was modified |
Update a transcript
curl PUT 'https://vatis.tech/api/v2/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e' \
--header 'Authorization: Bearer **your_api_key_here**' \
--data-raw '{
"createVersion": false,
"transcript": {
"children": [
{
"type": "paragraph",
"data-speaker": "1",
"data-speaker-gender": null,
"data-start": 4,
"data-end": 7,
"data-completed": false,
"data-edited": false,
"children": [
{
"data-start": 4,
"data-end": 5,
"data-text": "ar"
},
{
"data-start": 5,
"data-end": 5,
"data-text": "putea"
},
{
"data-start": 5,
"data-end": 6,
"data-text": "să"
},
{
"data-start": 6,
"data-end": 6,
"data-text": "vină"
},
{
"data-start": 6,
"data-end": 7,
"data-text": "câteva"
},
{
"data-start": 7,
"data-end": 7,
"data-text": "ploi"
},
{
"data-start": 7,
"data-end": 8,
"data-text": "trecătoare"
}
]
}
],
"meta": null
}
}'
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v2/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer **your_api_key_here**"
request.body = "{\
\"createVersion\": false,\
\"transcript\": {\
\"children\": [\
{\
\"type\": \"paragraph\",\
\"data-speaker\": \"1\",\
\"data-speaker-gender\": null,\
\"data-start\": 4,\
\"data-end\": 7,\
\"data-completed\": false,\
\"data-edited\": false,\
\"children\": [\
{\
\"data-start\": 4,\
\"data-end\": 5,\
\"data-text\": \"ar\"\
},\
{\
\"data-start\": 5,\
\"data-end\": 5,\
\"data-text\": \"putea\"\
},\
{\
\"data-start\": 5,\
\"data-end\": 6,\
\"data-text\": \"să\"\
},\
{\
\"data-start\": 6,\
\"data-end\": 6,\
\"data-text\": \"vină\"\
},\
{\
\"data-start\": 6,\
\"data-end\": 7,\
\"data-text\": \"câteva\"\
},\
{\
\"data-start\": 7,\
\"data-end\": 7,\
\"data-text\": \"ploi\"\
},\
{\
\"data-start\": 7,\
\"data-end\": 8,\
\"data-text\": \"trecătoare\"\
}\
]\
}\
],\
\"meta\": null\
}\
}"
response = http.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v2/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e"
payload = """
{
\"createVersion\": false,
\"transcript\": {
\"children\": [{
\"type\": \"paragraph\",
\"data-speaker\": \"1\",
\"data-speaker-gender\": null,
\"data-start\": 4,
\"data-end\": 7,
\"data-completed\": false,
\"data-edited\": false,
\"children\": [
{
\"data-start\": 4,
\"data-end\": 5,
\"data-text\": \"ar\"
},
{
\"data-start\": 5,
\"data-end\": 5,
\"data-text\": \"putea\"
},
{
\"data-start\": 5,
\"data-end\": 6,
\"data-text\": \"să\"
},
{
\"data-start\": 6,
\"data-end\": 6,
\"data-text\": \"vină\"
},
{
\"data-start\": 6,
\"data-end\": 7,
\"data-text\": \"câteva\"
},
{
\"data-start\": 7,
\"data-end\": 7,
\"data-text\": \"ploi\"
},
{
\"data-start\": 7,
\"data-end\": 8,
\"data-text\": \"trecătoare\"
}
]
}],
\"meta\": null
}
}
"""
headers = {
'Authorization': 'Bearer **your_api_key_here**',
}
response = requests.request("PUT", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key_here**");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
createVersion: false,
transcript: {
children: [
{
type: "paragraph",
"data-speaker": "1",
"data-speaker-gender": null,
"data-start": 4,
"data-end": 7,
"data-completed": false,
"data-edited": false,
children: [
{
"data-start": 4,
"data-end": 5,
"data-text": "ar",
},
{
"data-start": 5,
"data-end": 5,
"data-text": "putea",
},
{
"data-start": 5,
"data-end": 6,
"data-text": "să",
},
{
"data-start": 6,
"data-end": 6,
"data-text": "vină",
},
{
"data-start": 6,
"data-end": 7,
"data-text": "câteva",
},
{
"data-start": 7,
"data-end": 7,
"data-text": "ploi",
},
{
"data-start": 7,
"data-end": 8,
"data-text": "trecătoare",
},
],
},
],
meta: null,
},
});
var requestOptions = {
method: "PUT",
headers: myHeaders,
body: raw,
redirect: "follow",
};
fetch(
"https://vatis.tech/api/v2/transcripts/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e",
requestOptions
)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
The command above returns a JSON structured like this:
{
"uid": "35dc963f-4107-4699-a4a0-0f8ea0fcbb6e",
"discriminator": "TRANSCRIPTED_FILE",
"name": "your_file.flac",
"guests": null,
"link": "https://temp-public-link.com/",
"mediaType": "SUPPORTED",
"status": "TRANSCRIPTED",
"secondsDuration": 120,
"createdDate": "2020-09-05T10:44:39.896873Z",
"language": "ro_RO",
"speakers": 1,
"versions": ["raw", "original", "latest"]
}
Update a transcript for a file by file uid. Giving an optional createVersion flag, a snapshot can also be taken.
HTTP Request
PUT https://vatis.tech/api/v2/transcripts/{uid}
Query Parameters
Parameter | Default | Description |
---|---|---|
uid | None | (required) File uid. |
Body Attributes
Attribute | Type | Default | Description |
---|---|---|---|
createVersion | bool | None | Flag that force a new version snapshot from the current body |
transcript | object | (required) | Transcript body that should be updated |
Response Attributes
Attribute | Type | Description |
---|---|---|
uid | string | File uid. |
discriminator | string | Type of file. Can be one of: TRANSCRIPTED_FILE , VATIS_TRANSCRIBED_FILE . |
name | string | File name. |
mediaType | string | Media format for this file. Full values list here. |
status | string | Transcription status for this file. Can be one of: NOT_TRANSCRIPTED , TRANSCRIPTING , TRANSCRIPTED , QUEUED . |
startTime | double | Start time of the word in seconds. |
endTime | double | End time of the word in seconds. |
versions | string | Transcript in different states such as raw, latest, original or a snapshot in time |
speaker | string | Speaker identifier (This feature may not be always supported). |
secondsDuration | integer | Duration of the file in seconds. |
createdDate | date | File created date without timezone (e.g. 2020-09-05T09:02:02.978931Z ). |
language | string | Language code of the file. Full list here. |
Notify URLs
Vatis Tech offers support for automatic notifications when a transcription job either succeeded or failed.
Success URL
Will be called when the transcript for a file it's ready.
HTTP Request
This request will be made by our server to your success_url
.
POST https://your-success-url.com?format=type&uid=${uid}
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
format | string | JSON |
One of the following values: PLAIN_TEXT , JSON |
Body responses
Response type | Description | Example |
---|---|---|
PLAIN_TEXT |
The transcript it's represented by a simple text. | This is a plain text transcript example. |
JSON |
The transcript will contain details like words with timestamps, speakers, file info. | Check data content here. |
Fail URL
Will be called when the transcript generation for a file failed.
HTTP Request
This request will be made by our servers to your fail_url
.
POST https://your-fail-url.com?uid=${uid}
Responses
Response type | Description |
---|---|
PLAIN_TEXT |
Will contain the error message. |
Files
Get file info
curl GET 'https://vatis.tech/api/v1/files/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e' \
--header 'Authorization: Bearer **your_api_key_here**' \
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v1/files/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer **your_api_key_here**"
response = http.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v1/files/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e"
payload = {}
headers = {
'Authorization': 'Bearer **your_api_key_here**',
}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key_here**");
var requestOptions = {
method: "GET",
headers: myHeaders,
redirect: "follow",
};
fetch(
"https://vatis.tech/api/v1/files/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e",
requestOptions
)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
The command above returns a JSON structured like this:
{
"uid": "35dc963f-4107-4699-a4a0-0f8ea0fcbb6e",
"discriminator": "TRANSCRIPTED_FILE",
"name": "your_file.flac",
"status": "TRANSCRIPTED",
"secondsDuration": 240,
"createdDate": "2020-09-05T10:50:02.931382Z",
"language": "ro_RO"
}
Get information about a file.
HTTP Request
GET https://vatis.tech/api/v1/files/{uid}
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
UID | string | None | (required) File uid. |
Response Attributes
Attribute | Type | Description |
---|---|---|
uid | string | File uid. |
discriminator | string | Type of file. Can be one of: TRANSCRIPTED_FILE , VATIS_TRANSCRIBED_FILE . |
name | string | File name. |
secondsDuration | integer | Duration of the file in seconds. |
language | string | Language code of the file. Full list here. |
createdDate | date | File created date without timezone (e.g. 2020-09-05T09:02:02.978931Z ). |
status | string | Transcription status for this file. Can be one of: NOT_TRANSCRIPTED , TRANSCRIPTING , TRANSCRIPTED , QUEUED . |
Delete a file
curl DELETE 'https://vatis.tech/api/v1/files/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e' \
--header 'Authorization: Bearer **your_api_key_here**' \
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v1/files/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer **your_api_key_here**"
response = http.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v1/files/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e"
payload = {}
headers = {
'Authorization': 'Bearer **your_api_key_here**',
}
response = requests.request("DELETE", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key_here**");
var requestOptions = {
method: "DELETE",
headers: myHeaders,
redirect: "follow",
};
fetch(
"https://vatis.tech/api/v1/files/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e",
requestOptions
)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
Delete a file by uid.
HTTP Request
DELETE https://vatis.tech/api/v1/files/{uid}
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
uid | string | None | (required) File uid. |
List all files
curl GET 'https://vatis.tech/api/v1/files' \
--header 'Authorization: Bearer **your_api_key_here**'
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v1/files")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer **your_api_key_here**"
response = http.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v1/files"
payload = {}
headers = {
'Authorization': 'Bearer **your_api_key_here**',
}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key_here**");
var requestOptions = {
method: "GET",
headers: myHeaders,
redirect: "follow",
};
fetch("https://vatis.tech/api/v1/files", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
The command above returns a JSON structured like this:
{
"content": [
{
"uid": "35dc963f-4107-4699-a4a0-0f8ea0fcbb6e",
"discriminator": "TRANSCRIPTED_FILE",
"name": "your_file.flac",
"secondsDuration": 240,
"language": "ro_RO",
"createdDate": "2020-09-05T10:44:39.896873Z",
"status": "TRANSCRIPTED"
},
{
"...": "..."
},
{
"uid": "cd72d918-f31c-4b29-85ce-39df4ce88bea",
"discriminator": "TRANSCRIPTED_FILE",
"name": "your_file_2.flac",
"secondsDuration": 180,
"language": "ro_RO",
"createdDate": "2020-09-05T09:02:18.435951Z",
"status": "TRANSCRIPTING"
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"offset": 0,
"pageNumber": 0,
"pageSize": 10,
"paged": true,
"unpaged": false
},
"totalElements": 7,
"totalPages": 1,
"last": true,
"first": true,
"numberOfElements": 7,
"number": 0,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"size": 10,
"empty": false
}
Retrieve a list of files
Response Attributes
Attribute | Type | Description |
---|---|---|
content | JSON array | Files array. |
uid | string | File uid. |
discriminator | string | Type of file. Can be one of: TRANSCRIPTED_FILE , VATIS_TRANSCRIBED_FILE . |
name | string | File name. |
secondsDuration | integer | Duration of the file in seconds. |
language | string | Language code of the file. Full list here. |
createdDate | date | File created date without timezone (e.g. 2020-09-05T09:02:02.978931Z ). |
status | string | Transcription status for this file. Can be one of: NOT_TRANSCRIPTED , TRANSCRIPTING , TRANSCRIPTED , QUEUED . |
HTTP Request
GET https://vatis.tech/api/v1/files?page=xx&size=yy
Query Parameters
Parameter | Default | Description |
---|---|---|
page | 0 | Page number. |
size | 10 | Page size. |
Folders
Create a folder
curl --request POST 'https://vatis.tech/api/v1/files/71516972-3791-44b5-b47d-80a43b92704c/test1' \
--header 'Authorization: Bearer **your_api_key**'
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v1/files/71516972-3791-44b5-b47d-80a43b92704c/test1")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer **your_api_key**"
response = https.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v1/files/71516972-3791-44b5-b47d-80a43b92704c/test1"
payload={}
headers = {
'Authorization': 'Bearer **your_api_key**'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key**");
var requestOptions = {
method: "POST",
headers: myHeaders,
redirect: "follow",
};
fetch(
"https://vatis.tech/api/v1/files/71516972-3791-44b5-b47d-80a43b92704c/test1",
requestOptions
)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
The command above returns a JSON structured like this:
{
"uid": "fdf1cb03-cbfe-4630-8c06-5e96f01835ad",
"discriminator": "FOLDER",
"name": "test1",
"guests": [],
"children": []
}
Create a new folder.
HTTP Request
POST https://vatis.tech/api/v1/files/{parentUid}/{name}
Query parameters
Parameter | Type | Default | Description |
---|---|---|---|
parentUid | UUID | (required) | Parent uid. For creating a folder inside the root folder, use the $.currentWorkspace.root.uid value from this request |
name | string | (required) | Folder name |
Response Attributes
Attribute | Type | Description |
---|---|---|
uid | UUID | Uid of the newly created folder |
discriminator | string | File type |
name | string | Folder name |
guests | array | Folder guests |
children | array | Folder children |
Folder children
curl --location --request GET 'https://vatis.tech/api/v1/files/{folderUid}/children?page=0&size=10&sort=createdDate,desc' \
--header 'Authorization: Bearer **your_api_keys**'
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v1/files/{folderUid}/children?page=0&size=10&sort=createdDate,desc")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer **your_api_keys**"
response = https.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v1/files/{folderUid}/children?page=0&size=10&sort=createdDate,desc"
payload={}
headers = {
'Authorization': 'Bearer **your_api_keys**'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_keys**");
var requestOptions = {
method: "GET",
headers: myHeaders,
redirect: "follow",
};
fetch(
"https://vatis.tech/api/v1/files/{folderUid}/children?page=0&size=10&sort=createdDate,desc",
requestOptions
)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
The command above returns a JSON structured like this:
{
"content": [
{
"uid": "57368846-0000-0000-0000-080f64ce2233",
"discriminator": "VATIS_TRANSCRIBED_FILE",
"name": "probe4_16khz_16b_mono_ro_RO.wav",
"secondsDuration": 5,
"language": "ro_RO",
"createdDate": "2022-07-12T09:50:09.223525Z",
"status": "TRANSCRIPTED"
},
{
"uid": "d3ac5f1d-0000-0000-0000-3c10fcf0e4ca",
"discriminator": "FOLDER",
"name": "test",
"secondsDuration": null,
"language": null,
"createdDate": "2022-07-12T09:47:15.834683Z",
"status": null
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageNumber": 0,
"pageSize": 10,
"offset": 0,
"paged": true,
"unpaged": false
},
"totalPages": 1,
"totalElements": 2,
"last": true,
"first": true,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"number": 0,
"numberOfElements": 2,
"size": 10,
"empty": false
}
Retrieve files inside a folder.
HTTP Request
POST https://vatis.tech/api/v1/files/{folderUid}/children?page=0&size=10&sort=createdDate,desc
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
page | int | 0 | Page number |
size | int | 10 | Page size |
sort | string | null | Sorting criteria |
Delete folder
curl --location -g --request DELETE 'https://vatis.tech/api/v1/files/{fileUid}' \
--header 'Authorization: Bearer **your_api_key**'
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v1/files/{fileUid}")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer **your_api_key**"
response = https.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v1/files/{fileUid}"
payload={}
headers = {
'Authorization': 'Bearer **your_api_key**'
}
response = requests.request("DELETE", url, headers=headers, data=payload)
print(response.text)
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key**");
var requestOptions = {
method: "DELETE",
headers: myHeaders,
redirect: "follow",
};
fetch("https://vatis.tech/api/v1/files/{fileUid}", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
Deletes a file or folder and all it's content.
HTTP Request
DELETE https://vatis.tech/api/v1/files/{fileUid}
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
fileUid | UUID | (required) | File/Folder uid |
Export
Retrieve an export
curl GET 'https://vatis.tech/api/v1/download/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e/docx' \
--header 'Authorization: Bearer **your_api_key_here**'
require "uri"
require "net/http"
url = URI("https://vatis.tech/api/v1/download/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e/docx")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer **your_api_key_here**"
response = http.request(request)
puts response.read_body
import requests
url = "https://vatis.tech/api/v1/download/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e/docx"
payload = {}
headers = {
'Authorization': 'Bearer **your_api_key_here**'
}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer **your_api_key_here**");
var requestOptions = {
method: "GET",
headers: myHeaders,
redirect: "follow",
};
fetch(
"https://vatis.tech/api/v1/download/35dc963f-4107-4699-a4a0-0f8ea0fcbb6e/docx",
requestOptions
)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
The command above returns a binary file
Retrieve an export for a file by uid.
HTTP Request
GET https://vatis.tech/api/v1/download/{uid}/{type}?language={language}
Query Parameters
Parameter | Default | Description |
---|---|---|
uid | None | (required) File uid. |
type | None | (required) One of the following values: srt , pdf , docx |
language | None | Language code of the translation in the form of XX-YY (e.g. EN-GB ) |
Languages
We support the following languages codes:
Code | Language |
---|---|
ro_RO | Romanian (Romanian) |
en_GB | English (United Kingdom) |
de_DE | German (Germany) |
es_ES | Spanish (Spain) |
fr_FR | French (France) |
ru_RU | Russian (Russia) |
fi_FI | Finnish (Finland) |
da_DK | Danish (Denmark) |
nl_NL | Dutch (Netherlands) |
it_IT | Italian (Italy) |
pt_PT | Portuguese (Portugal) |
pl_PL | Polish (Poland) |
id_ID | Indonesian (Indonesia) |
tr_TR | Turkish (Turkey) |
sv_SE | Swedish (Sweden) |
ms_MY | Malay (Malaysia) |
nn_NO | Norwegian (Norway) |
ca_ES | Catalan (Spain) |
Media types
We support the following media types:
Format | Type | Value |
---|---|---|
mp3 | Audio | MP3 |
flac | Audio | FLAC |
ogg | Audio | OGG |
wav | Audio | WAV |
wma | Audio | WMA |
aiff | Audio | AIFF |
aac | Audio | AAC |
m4a | Audio | M4A |
mp4 | Video | MP4 |
mpeg | Video | MPEG_VIDEO |
wmv | Video | WMV |
avi | Video | AVI |
flv | Video | FLV |
webm | Video | WEBM |
ts | Video | TS |
asf | Video | ASF |
mkv | Video | MKV |
Entity tags
- PERSON
- GPE
- LOC
- ORG
- LANGUAGE
- NAT_REL_POL
- DATETIME
- PERIOD
- QUANTITY
- MONEY
- NUMERIC
- ORDINAL
- FACILITY
- WORK_OF_ART
- EVENT
- OTHER