Generates an speech to text transcription (not streamed).
curl --request POST \
--url https://api.tryhamsa.com/v1/realtime/stt \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"audioList": [
123
],
"audioBase64": "GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH ...",
"language": "ar",
"isEosEnabled": false,
"eosThreshold": 0.3
}
'import requests
url = "https://api.tryhamsa.com/v1/realtime/stt"
payload = {
"audioList": [123],
"audioBase64": "GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH ...",
"language": "ar",
"isEosEnabled": False,
"eosThreshold": 0.3
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
audioList: [123],
audioBase64: 'GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH ...',
language: 'ar',
isEosEnabled: false,
eosThreshold: 0.3
})
};
fetch('https://api.tryhamsa.com/v1/realtime/stt', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tryhamsa.com/v1/realtime/stt",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'audioList' => [
123
],
'audioBase64' => 'GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH ...',
'language' => 'ar',
'isEosEnabled' => false,
'eosThreshold' => 0.3
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.tryhamsa.com/v1/realtime/stt"
payload := strings.NewReader("{\n \"audioList\": [\n 123\n ],\n \"audioBase64\": \"GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH ...\",\n \"language\": \"ar\",\n \"isEosEnabled\": false,\n \"eosThreshold\": 0.3\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.tryhamsa.com/v1/realtime/stt")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"audioList\": [\n 123\n ],\n \"audioBase64\": \"GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH ...\",\n \"language\": \"ar\",\n \"isEosEnabled\": false,\n \"eosThreshold\": 0.3\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tryhamsa.com/v1/realtime/stt")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"audioList\": [\n 123\n ],\n \"audioBase64\": \"GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH ...\",\n \"language\": \"ar\",\n \"isEosEnabled\": false,\n \"eosThreshold\": 0.3\n}"
response = http.request(request)
puts response.read_body{
"text": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}Real Time Routes
Generate Speech to Text Transcription
POST
/
v1
/
realtime
/
stt
Generates an speech to text transcription (not streamed).
curl --request POST \
--url https://api.tryhamsa.com/v1/realtime/stt \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"audioList": [
123
],
"audioBase64": "GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH ...",
"language": "ar",
"isEosEnabled": false,
"eosThreshold": 0.3
}
'import requests
url = "https://api.tryhamsa.com/v1/realtime/stt"
payload = {
"audioList": [123],
"audioBase64": "GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH ...",
"language": "ar",
"isEosEnabled": False,
"eosThreshold": 0.3
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
audioList: [123],
audioBase64: 'GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH ...',
language: 'ar',
isEosEnabled: false,
eosThreshold: 0.3
})
};
fetch('https://api.tryhamsa.com/v1/realtime/stt', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tryhamsa.com/v1/realtime/stt",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'audioList' => [
123
],
'audioBase64' => 'GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH ...',
'language' => 'ar',
'isEosEnabled' => false,
'eosThreshold' => 0.3
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.tryhamsa.com/v1/realtime/stt"
payload := strings.NewReader("{\n \"audioList\": [\n 123\n ],\n \"audioBase64\": \"GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH ...\",\n \"language\": \"ar\",\n \"isEosEnabled\": false,\n \"eosThreshold\": 0.3\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.tryhamsa.com/v1/realtime/stt")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"audioList\": [\n 123\n ],\n \"audioBase64\": \"GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH ...\",\n \"language\": \"ar\",\n \"isEosEnabled\": false,\n \"eosThreshold\": 0.3\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tryhamsa.com/v1/realtime/stt")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"audioList\": [\n 123\n ],\n \"audioBase64\": \"GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH ...\",\n \"language\": \"ar\",\n \"isEosEnabled\": false,\n \"eosThreshold\": 0.3\n}"
response = http.request(request)
puts response.read_body{
"text": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}Authorizations
Pass the API key in the Authorization header, You need to put Token keyword before the API key. e.g. 'Authorization: Token '
Body
application/json
The audio list that contains the audio data as numbers of type float. Audio data should be of type WAV. You can not send this field and audioBase64 together!
Float numbers which represents the audio data.
The audio base64 string that contains the audio data. Audio data should be of type WAV. You can not send this field and audioList together!
Example:
"GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH ..."
Available options:
ar, en Whether to enable End of Speech detection or not.
The threshold value for End of Speech detection.
Response
Successful response
The generated text of the speech audio list.