curl --request PATCH \
--url https://api.eesi.ai/v1/speech/transcriptions/{session_id}/media \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"drop_frame": true,
"frame_rate": "29.97",
"start_timecode": "01:00:00;00",
"tape": "RICE62"
}
'import requests
url = "https://api.eesi.ai/v1/speech/transcriptions/{session_id}/media"
payload = {
"drop_frame": True,
"frame_rate": "29.97",
"start_timecode": "01:00:00;00",
"tape": "RICE62"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
drop_frame: true,
frame_rate: '29.97',
start_timecode: '01:00:00;00',
tape: 'RICE62'
})
};
fetch('https://api.eesi.ai/v1/speech/transcriptions/{session_id}/media', 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.eesi.ai/v1/speech/transcriptions/{session_id}/media",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'drop_frame' => true,
'frame_rate' => '29.97',
'start_timecode' => '01:00:00;00',
'tape' => 'RICE62'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.eesi.ai/v1/speech/transcriptions/{session_id}/media"
payload := strings.NewReader("{\n \"drop_frame\": true,\n \"frame_rate\": \"29.97\",\n \"start_timecode\": \"01:00:00;00\",\n \"tape\": \"RICE62\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.patch("https://api.eesi.ai/v1/speech/transcriptions/{session_id}/media")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"drop_frame\": true,\n \"frame_rate\": \"29.97\",\n \"start_timecode\": \"01:00:00;00\",\n \"tape\": \"RICE62\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eesi.ai/v1/speech/transcriptions/{session_id}/media")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"drop_frame\": true,\n \"frame_rate\": \"29.97\",\n \"start_timecode\": \"01:00:00;00\",\n \"tape\": \"RICE62\"\n}"
response = http.request(request)
puts response.read_body{
"media": {
"frame_rate": "29.97",
"drop_frame": true,
"start_timecode": "01:00:00;00",
"timecode_source": "user",
"tape": "RICE62"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Set the timebase
Set how an editor’s system counts this recording: its frame rate, whether
it counts in drop frame, the timecode of its first frame, and a tape name. Times
in every response stay in seconds; exports and the studio use this timebase to
turn them into frames and timecode. Send null for start_timecode when the
file has none, and times count from 00:00:00:00. A recording that has never been
set returns media: null.
curl --request PATCH \
--url https://api.eesi.ai/v1/speech/transcriptions/{session_id}/media \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"drop_frame": true,
"frame_rate": "29.97",
"start_timecode": "01:00:00;00",
"tape": "RICE62"
}
'import requests
url = "https://api.eesi.ai/v1/speech/transcriptions/{session_id}/media"
payload = {
"drop_frame": True,
"frame_rate": "29.97",
"start_timecode": "01:00:00;00",
"tape": "RICE62"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
drop_frame: true,
frame_rate: '29.97',
start_timecode: '01:00:00;00',
tape: 'RICE62'
})
};
fetch('https://api.eesi.ai/v1/speech/transcriptions/{session_id}/media', 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.eesi.ai/v1/speech/transcriptions/{session_id}/media",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'drop_frame' => true,
'frame_rate' => '29.97',
'start_timecode' => '01:00:00;00',
'tape' => 'RICE62'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.eesi.ai/v1/speech/transcriptions/{session_id}/media"
payload := strings.NewReader("{\n \"drop_frame\": true,\n \"frame_rate\": \"29.97\",\n \"start_timecode\": \"01:00:00;00\",\n \"tape\": \"RICE62\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.patch("https://api.eesi.ai/v1/speech/transcriptions/{session_id}/media")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"drop_frame\": true,\n \"frame_rate\": \"29.97\",\n \"start_timecode\": \"01:00:00;00\",\n \"tape\": \"RICE62\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eesi.ai/v1/speech/transcriptions/{session_id}/media")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"drop_frame\": true,\n \"frame_rate\": \"29.97\",\n \"start_timecode\": \"01:00:00;00\",\n \"tape\": \"RICE62\"\n}"
response = http.request(request)
puts response.read_body{
"media": {
"frame_rate": "29.97",
"drop_frame": true,
"start_timecode": "01:00:00;00",
"timecode_source": "user",
"tape": "RICE62"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Your EESI API key, sk-eesi-....
Path Parameters
Body
The timebase an editor's system counts this recording in.
Frames per second, as editors write it.
23.976, 24, 25, 29.97, 30, 50, 59.94, 60 Count in drop frame (HH:MM:SS;FF). Only at 29.97 and 59.94.
The timecode of the first frame, such as 01:00:00:00. null counts from zero.
12A tape or reel name for edit lists and logs.
32Response
Successful Response
The response is of type Response Set Media V1 Speech Transcriptions Session Id Media Patch · object.