curl --request PATCH \
--url https://api.tella.com/v1/videos/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"allowedEmbedDomains": [
"example.com",
"mysite.org"
],
"captionsDefaultEnabled": true,
"commentEmailsEnabled": false,
"commentsEnabled": true,
"customThumbnailURL": "https://example.com/custom-thumbnail.jpg",
"defaultPlaybackRate": 1,
"description": "Updated description for the video",
"dimensions": {
"height": 1920,
"width": 1080
},
"downloadsEnabled": true,
"linkScope": "public",
"name": "Updated Video Title",
"password": "secretpassword",
"publishDateEnabled": true,
"rawDownloadsEnabled": false,
"searchEngineIndexingEnabled": true,
"studioSound": true,
"transcriptsEnabled": true,
"viewCountEnabled": true
}
'import requests
url = "https://api.tella.com/v1/videos/{id}"
payload = {
"allowedEmbedDomains": ["example.com", "mysite.org"],
"captionsDefaultEnabled": True,
"commentEmailsEnabled": False,
"commentsEnabled": True,
"customThumbnailURL": "https://example.com/custom-thumbnail.jpg",
"defaultPlaybackRate": 1,
"description": "Updated description for the video",
"dimensions": {
"height": 1920,
"width": 1080
},
"downloadsEnabled": True,
"linkScope": "public",
"name": "Updated Video Title",
"password": "secretpassword",
"publishDateEnabled": True,
"rawDownloadsEnabled": False,
"searchEngineIndexingEnabled": True,
"studioSound": True,
"transcriptsEnabled": True,
"viewCountEnabled": True
}
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({
allowedEmbedDomains: ['example.com', 'mysite.org'],
captionsDefaultEnabled: true,
commentEmailsEnabled: false,
commentsEnabled: true,
customThumbnailURL: 'https://example.com/custom-thumbnail.jpg',
defaultPlaybackRate: 1,
description: 'Updated description for the video',
dimensions: {height: 1920, width: 1080},
downloadsEnabled: true,
linkScope: 'public',
name: 'Updated Video Title',
password: 'secretpassword',
publishDateEnabled: true,
rawDownloadsEnabled: false,
searchEngineIndexingEnabled: true,
studioSound: true,
transcriptsEnabled: true,
viewCountEnabled: true
})
};
fetch('https://api.tella.com/v1/videos/{id}', 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.tella.com/v1/videos/{id}",
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([
'allowedEmbedDomains' => [
'example.com',
'mysite.org'
],
'captionsDefaultEnabled' => true,
'commentEmailsEnabled' => false,
'commentsEnabled' => true,
'customThumbnailURL' => 'https://example.com/custom-thumbnail.jpg',
'defaultPlaybackRate' => 1,
'description' => 'Updated description for the video',
'dimensions' => [
'height' => 1920,
'width' => 1080
],
'downloadsEnabled' => true,
'linkScope' => 'public',
'name' => 'Updated Video Title',
'password' => 'secretpassword',
'publishDateEnabled' => true,
'rawDownloadsEnabled' => false,
'searchEngineIndexingEnabled' => true,
'studioSound' => true,
'transcriptsEnabled' => true,
'viewCountEnabled' => true
]),
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.tella.com/v1/videos/{id}"
payload := strings.NewReader("{\n \"allowedEmbedDomains\": [\n \"example.com\",\n \"mysite.org\"\n ],\n \"captionsDefaultEnabled\": true,\n \"commentEmailsEnabled\": false,\n \"commentsEnabled\": true,\n \"customThumbnailURL\": \"https://example.com/custom-thumbnail.jpg\",\n \"defaultPlaybackRate\": 1,\n \"description\": \"Updated description for the video\",\n \"dimensions\": {\n \"height\": 1920,\n \"width\": 1080\n },\n \"downloadsEnabled\": true,\n \"linkScope\": \"public\",\n \"name\": \"Updated Video Title\",\n \"password\": \"secretpassword\",\n \"publishDateEnabled\": true,\n \"rawDownloadsEnabled\": false,\n \"searchEngineIndexingEnabled\": true,\n \"studioSound\": true,\n \"transcriptsEnabled\": true,\n \"viewCountEnabled\": true\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.tella.com/v1/videos/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"allowedEmbedDomains\": [\n \"example.com\",\n \"mysite.org\"\n ],\n \"captionsDefaultEnabled\": true,\n \"commentEmailsEnabled\": false,\n \"commentsEnabled\": true,\n \"customThumbnailURL\": \"https://example.com/custom-thumbnail.jpg\",\n \"defaultPlaybackRate\": 1,\n \"description\": \"Updated description for the video\",\n \"dimensions\": {\n \"height\": 1920,\n \"width\": 1080\n },\n \"downloadsEnabled\": true,\n \"linkScope\": \"public\",\n \"name\": \"Updated Video Title\",\n \"password\": \"secretpassword\",\n \"publishDateEnabled\": true,\n \"rawDownloadsEnabled\": false,\n \"searchEngineIndexingEnabled\": true,\n \"studioSound\": true,\n \"transcriptsEnabled\": true,\n \"viewCountEnabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tella.com/v1/videos/{id}")
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 \"allowedEmbedDomains\": [\n \"example.com\",\n \"mysite.org\"\n ],\n \"captionsDefaultEnabled\": true,\n \"commentEmailsEnabled\": false,\n \"commentsEnabled\": true,\n \"customThumbnailURL\": \"https://example.com/custom-thumbnail.jpg\",\n \"defaultPlaybackRate\": 1,\n \"description\": \"Updated description for the video\",\n \"dimensions\": {\n \"height\": 1920,\n \"width\": 1080\n },\n \"downloadsEnabled\": true,\n \"linkScope\": \"public\",\n \"name\": \"Updated Video Title\",\n \"password\": \"secretpassword\",\n \"publishDateEnabled\": true,\n \"rawDownloadsEnabled\": false,\n \"searchEngineIndexingEnabled\": true,\n \"studioSound\": true,\n \"transcriptsEnabled\": true,\n \"viewCountEnabled\": true\n}"
response = http.request(request)
puts response.read_body{
"video": {
"aspectRatio": "16:9",
"chapters": [
{
"description": "Overview of what we'll cover",
"timestampSeconds": 0,
"title": "Introduction"
}
],
"clipIds": [
"cl_abc123",
"cl_def456"
],
"createdAt": "2024-01-15T10:30:00.000Z",
"description": "Learn how to create and share your first video",
"dimensions": {
"height": 1080,
"width": 1920
},
"durationSeconds": 125.5,
"exports": [
{
"downloadUrl": "https://cdn.tella.tv/exports/vid_abc123/video.mp4",
"exportId": "exp_abc123def456",
"progress": 100,
"status": "completed",
"updatedAt": "2024-01-15T15:00:00.000Z"
}
],
"id": "vid_abc123def456",
"links": {
"embedPage": "https://www.tella.tv/video/vid_abc123def456/embed",
"viewPage": "https://www.tella.tv/video/vid_abc123def456/view"
},
"name": "Getting Started with Tella",
"playlistIds": [
"pl_abc123",
"pl_def456"
],
"settings": {
"allowedEmbedDomains": [
"example.com",
"mysite.org"
],
"captionsDefaultEnabled": true,
"commentEmailsEnabled": false,
"commentsEnabled": true,
"customThumbnailURL": "https://example.com/custom-thumbnail.jpg",
"defaultPlaybackRate": 1,
"downloadsEnabled": true,
"linkScope": "public",
"publishDateEnabled": true,
"rawDownloadsEnabled": false,
"searchEngineIndexingEnabled": true,
"studioSound": false,
"transcriptsEnabled": true,
"viewCountEnabled": true
},
"thumbnails": {
"large": {
"gif": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.gif",
"jpg": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.jpg",
"mp4": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.mp4",
"webp": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.webp"
},
"medium": {
"gif": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.gif",
"jpg": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.jpg",
"mp4": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.mp4",
"webp": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.webp"
},
"small": {
"gif": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.gif",
"jpg": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.jpg",
"mp4": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.mp4",
"webp": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.webp"
},
"xl": {
"gif": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.gif",
"jpg": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.jpg",
"mp4": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.mp4",
"webp": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.webp"
}
},
"transcript": {
"language": "en",
"sentences": [
{
"endSeconds": 2.3,
"startSeconds": 0.5,
"text": "Hello and welcome to this tutorial."
}
],
"status": "ready",
"text": "Hello and welcome to this tutorial..."
},
"updatedAt": "2024-01-15T14:45:00.000Z",
"views": 1234
}
}{
"error": {
"code": "bad_request",
"doc_url": "https://tella.tv/docs/api-reference/errors#bad-request",
"message": "The request was malformed or contained invalid parameters."
}
}{
"error": {
"code": "unauthorized",
"doc_url": "https://tella.tv/docs/api-reference/errors#unauthorized",
"message": "Authentication is required. Provide a valid API key."
}
}{
"error": {
"code": "forbidden",
"doc_url": "https://tella.tv/docs/api-reference/errors#forbidden",
"message": "You don't have permission to access this resource."
}
}{
"error": {
"code": "not_found",
"doc_url": "https://tella.tv/docs/api-reference/errors#not-found",
"message": "The requested resource was not found."
}
}{
"error": {
"code": "unprocessable_entity",
"doc_url": "https://tella.tv/docs/api-reference/errors#unprocessable-entity",
"message": "The request was well-formed but contained semantic errors."
}
}{
"error": {
"code": "rate_limit_exceeded",
"doc_url": "https://tella.tv/docs/api-reference/errors#rate-limit-exceeded",
"message": "You have exceeded the rate limit. Please slow down."
}
}{
"error": {
"code": "internal_server_error",
"doc_url": "https://tella.tv/docs/api-reference/errors#internal-server-error",
"message": "An unexpected error occurred on the server."
}
}Update a video
Update a video’s settings including viewer options, download permissions, access controls, and metadata. Some features require Premium plan.
curl --request PATCH \
--url https://api.tella.com/v1/videos/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"allowedEmbedDomains": [
"example.com",
"mysite.org"
],
"captionsDefaultEnabled": true,
"commentEmailsEnabled": false,
"commentsEnabled": true,
"customThumbnailURL": "https://example.com/custom-thumbnail.jpg",
"defaultPlaybackRate": 1,
"description": "Updated description for the video",
"dimensions": {
"height": 1920,
"width": 1080
},
"downloadsEnabled": true,
"linkScope": "public",
"name": "Updated Video Title",
"password": "secretpassword",
"publishDateEnabled": true,
"rawDownloadsEnabled": false,
"searchEngineIndexingEnabled": true,
"studioSound": true,
"transcriptsEnabled": true,
"viewCountEnabled": true
}
'import requests
url = "https://api.tella.com/v1/videos/{id}"
payload = {
"allowedEmbedDomains": ["example.com", "mysite.org"],
"captionsDefaultEnabled": True,
"commentEmailsEnabled": False,
"commentsEnabled": True,
"customThumbnailURL": "https://example.com/custom-thumbnail.jpg",
"defaultPlaybackRate": 1,
"description": "Updated description for the video",
"dimensions": {
"height": 1920,
"width": 1080
},
"downloadsEnabled": True,
"linkScope": "public",
"name": "Updated Video Title",
"password": "secretpassword",
"publishDateEnabled": True,
"rawDownloadsEnabled": False,
"searchEngineIndexingEnabled": True,
"studioSound": True,
"transcriptsEnabled": True,
"viewCountEnabled": True
}
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({
allowedEmbedDomains: ['example.com', 'mysite.org'],
captionsDefaultEnabled: true,
commentEmailsEnabled: false,
commentsEnabled: true,
customThumbnailURL: 'https://example.com/custom-thumbnail.jpg',
defaultPlaybackRate: 1,
description: 'Updated description for the video',
dimensions: {height: 1920, width: 1080},
downloadsEnabled: true,
linkScope: 'public',
name: 'Updated Video Title',
password: 'secretpassword',
publishDateEnabled: true,
rawDownloadsEnabled: false,
searchEngineIndexingEnabled: true,
studioSound: true,
transcriptsEnabled: true,
viewCountEnabled: true
})
};
fetch('https://api.tella.com/v1/videos/{id}', 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.tella.com/v1/videos/{id}",
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([
'allowedEmbedDomains' => [
'example.com',
'mysite.org'
],
'captionsDefaultEnabled' => true,
'commentEmailsEnabled' => false,
'commentsEnabled' => true,
'customThumbnailURL' => 'https://example.com/custom-thumbnail.jpg',
'defaultPlaybackRate' => 1,
'description' => 'Updated description for the video',
'dimensions' => [
'height' => 1920,
'width' => 1080
],
'downloadsEnabled' => true,
'linkScope' => 'public',
'name' => 'Updated Video Title',
'password' => 'secretpassword',
'publishDateEnabled' => true,
'rawDownloadsEnabled' => false,
'searchEngineIndexingEnabled' => true,
'studioSound' => true,
'transcriptsEnabled' => true,
'viewCountEnabled' => true
]),
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.tella.com/v1/videos/{id}"
payload := strings.NewReader("{\n \"allowedEmbedDomains\": [\n \"example.com\",\n \"mysite.org\"\n ],\n \"captionsDefaultEnabled\": true,\n \"commentEmailsEnabled\": false,\n \"commentsEnabled\": true,\n \"customThumbnailURL\": \"https://example.com/custom-thumbnail.jpg\",\n \"defaultPlaybackRate\": 1,\n \"description\": \"Updated description for the video\",\n \"dimensions\": {\n \"height\": 1920,\n \"width\": 1080\n },\n \"downloadsEnabled\": true,\n \"linkScope\": \"public\",\n \"name\": \"Updated Video Title\",\n \"password\": \"secretpassword\",\n \"publishDateEnabled\": true,\n \"rawDownloadsEnabled\": false,\n \"searchEngineIndexingEnabled\": true,\n \"studioSound\": true,\n \"transcriptsEnabled\": true,\n \"viewCountEnabled\": true\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.tella.com/v1/videos/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"allowedEmbedDomains\": [\n \"example.com\",\n \"mysite.org\"\n ],\n \"captionsDefaultEnabled\": true,\n \"commentEmailsEnabled\": false,\n \"commentsEnabled\": true,\n \"customThumbnailURL\": \"https://example.com/custom-thumbnail.jpg\",\n \"defaultPlaybackRate\": 1,\n \"description\": \"Updated description for the video\",\n \"dimensions\": {\n \"height\": 1920,\n \"width\": 1080\n },\n \"downloadsEnabled\": true,\n \"linkScope\": \"public\",\n \"name\": \"Updated Video Title\",\n \"password\": \"secretpassword\",\n \"publishDateEnabled\": true,\n \"rawDownloadsEnabled\": false,\n \"searchEngineIndexingEnabled\": true,\n \"studioSound\": true,\n \"transcriptsEnabled\": true,\n \"viewCountEnabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tella.com/v1/videos/{id}")
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 \"allowedEmbedDomains\": [\n \"example.com\",\n \"mysite.org\"\n ],\n \"captionsDefaultEnabled\": true,\n \"commentEmailsEnabled\": false,\n \"commentsEnabled\": true,\n \"customThumbnailURL\": \"https://example.com/custom-thumbnail.jpg\",\n \"defaultPlaybackRate\": 1,\n \"description\": \"Updated description for the video\",\n \"dimensions\": {\n \"height\": 1920,\n \"width\": 1080\n },\n \"downloadsEnabled\": true,\n \"linkScope\": \"public\",\n \"name\": \"Updated Video Title\",\n \"password\": \"secretpassword\",\n \"publishDateEnabled\": true,\n \"rawDownloadsEnabled\": false,\n \"searchEngineIndexingEnabled\": true,\n \"studioSound\": true,\n \"transcriptsEnabled\": true,\n \"viewCountEnabled\": true\n}"
response = http.request(request)
puts response.read_body{
"video": {
"aspectRatio": "16:9",
"chapters": [
{
"description": "Overview of what we'll cover",
"timestampSeconds": 0,
"title": "Introduction"
}
],
"clipIds": [
"cl_abc123",
"cl_def456"
],
"createdAt": "2024-01-15T10:30:00.000Z",
"description": "Learn how to create and share your first video",
"dimensions": {
"height": 1080,
"width": 1920
},
"durationSeconds": 125.5,
"exports": [
{
"downloadUrl": "https://cdn.tella.tv/exports/vid_abc123/video.mp4",
"exportId": "exp_abc123def456",
"progress": 100,
"status": "completed",
"updatedAt": "2024-01-15T15:00:00.000Z"
}
],
"id": "vid_abc123def456",
"links": {
"embedPage": "https://www.tella.tv/video/vid_abc123def456/embed",
"viewPage": "https://www.tella.tv/video/vid_abc123def456/view"
},
"name": "Getting Started with Tella",
"playlistIds": [
"pl_abc123",
"pl_def456"
],
"settings": {
"allowedEmbedDomains": [
"example.com",
"mysite.org"
],
"captionsDefaultEnabled": true,
"commentEmailsEnabled": false,
"commentsEnabled": true,
"customThumbnailURL": "https://example.com/custom-thumbnail.jpg",
"defaultPlaybackRate": 1,
"downloadsEnabled": true,
"linkScope": "public",
"publishDateEnabled": true,
"rawDownloadsEnabled": false,
"searchEngineIndexingEnabled": true,
"studioSound": false,
"transcriptsEnabled": true,
"viewCountEnabled": true
},
"thumbnails": {
"large": {
"gif": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.gif",
"jpg": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.jpg",
"mp4": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.mp4",
"webp": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.webp"
},
"medium": {
"gif": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.gif",
"jpg": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.jpg",
"mp4": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.mp4",
"webp": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.webp"
},
"small": {
"gif": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.gif",
"jpg": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.jpg",
"mp4": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.mp4",
"webp": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.webp"
},
"xl": {
"gif": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.gif",
"jpg": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.jpg",
"mp4": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.mp4",
"webp": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.webp"
}
},
"transcript": {
"language": "en",
"sentences": [
{
"endSeconds": 2.3,
"startSeconds": 0.5,
"text": "Hello and welcome to this tutorial."
}
],
"status": "ready",
"text": "Hello and welcome to this tutorial..."
},
"updatedAt": "2024-01-15T14:45:00.000Z",
"views": 1234
}
}{
"error": {
"code": "bad_request",
"doc_url": "https://tella.tv/docs/api-reference/errors#bad-request",
"message": "The request was malformed or contained invalid parameters."
}
}{
"error": {
"code": "unauthorized",
"doc_url": "https://tella.tv/docs/api-reference/errors#unauthorized",
"message": "Authentication is required. Provide a valid API key."
}
}{
"error": {
"code": "forbidden",
"doc_url": "https://tella.tv/docs/api-reference/errors#forbidden",
"message": "You don't have permission to access this resource."
}
}{
"error": {
"code": "not_found",
"doc_url": "https://tella.tv/docs/api-reference/errors#not-found",
"message": "The requested resource was not found."
}
}{
"error": {
"code": "unprocessable_entity",
"doc_url": "https://tella.tv/docs/api-reference/errors#unprocessable-entity",
"message": "The request was well-formed but contained semantic errors."
}
}{
"error": {
"code": "rate_limit_exceeded",
"doc_url": "https://tella.tv/docs/api-reference/errors#rate-limit-exceeded",
"message": "You have exceeded the rate limit. Please slow down."
}
}{
"error": {
"code": "internal_server_error",
"doc_url": "https://tella.tv/docs/api-reference/errors#internal-server-error",
"message": "An unexpected error occurred on the server."
}
}Authorizations
API key obtained from your Tella account settings
Path Parameters
Unique video identifier
"vid_abc123def456"
Body
Request body for updating a video. At least one field must be provided.
Restrict embedding to these domains only (Premium feature). Empty array allows all domains.
["example.com", "mysite.org"]Show subtitles/captions by default
true
Send email notifications for new comments
false
Allow viewers to comment
true
Custom thumbnail image URL
"https://example.com/custom-thumbnail.jpg"
Default playback speed (0.5-2.0). Viewers can still adjust.
0.5 <= x <= 21
Video description
5000"Updated description for the video"
Canvas size in pixels. Changing it also remaps every clip and section layout to a ratio-appropriate equivalent (clips using a custom layout fall back to a standard one), exactly like switching size in the editor's Setup → Size. No-op when the video already has the requested size. The editor's presets: 1920x1080 (16:9), 1920x1200 (16:10), 1440x1080 (4:3), 1080x1080 (1:1), 1080x1350 (4:5), 1080x1920 (9:16).
Show child attributes
Show child attributes
{ "height": 1920, "width": 1080 }Allow viewers to download the video
true
Access level: public (anyone with link), private (org members only), password (requires password), embedonly (only viewable when embedded)
public, private, password, embedonly "public"
Video title
1 - 255"Updated Video Title"
Password for viewing. Required when linkScope is 'password', ignored otherwise.
1 - 255"secretpassword"
Show publish date on video page
true
Allow viewers to download raw source files
false
Allow search engines to index the video page
true
Studio Sound (AI audio enhancement) master switch. Enabling it also starts generating the enhanced audio tracks in the background; playback and exports use them once ready and fall back to the raw audio until then.
true
Show transcript panel to viewers
true
Show view count on video page
true
Response
OK
Detailed information about a video including chapters, transcript, and exports
Show child attributes
Show child attributes
Was this page helpful?