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"
],
"autoRatio": true,
"captionFontFamily": "Inter",
"captionFontSize": 64,
"captionFontWeight": 500,
"captionLinesPerBlock": 1,
"captionPosition": {
"x": 0.5,
"y": 0.5
},
"captionStyle": {
"backgroundColor": "#5E51F8FF",
"name": "backdrop",
"textColor": "#5E51F8FF",
"wordLevelHighlights": true,
"activeWordTextColor": "#5E51F8FF",
"backgroundEnabled": true,
"highlightColor": "#5E51F8FF",
"outlineColor": "#5E51F8FF",
"outlineEnabled": true,
"shadowColor": "#5E51F8FF",
"shadowEnabled": true
},
"captionsDefaultEnabled": true,
"commentEmailsEnabled": false,
"commentsEnabled": true,
"cursor": {
"clickRipple": false,
"hideWhenInactive": false,
"returnToStart": false,
"size": 3.05,
"smoothing": false,
"style": "macTahoe"
},
"customThumbnailURL": "https://example.com/custom-thumbnail.jpg",
"defaultClipTransition": "hard_cut",
"defaultPlaybackRate": 1,
"description": "Updated description for the video",
"dimensions": {
"height": 1920,
"width": 1080
},
"downloadsEnabled": true,
"layoutAnimationStyle": "snappy",
"linkScope": "public",
"microphoneVolume": 1.2,
"motionBlur": true,
"name": "Updated Video Title",
"password": "secretpassword",
"publishDateEnabled": true,
"rawDownloadsEnabled": false,
"searchEngineIndexingEnabled": true,
"shrinkCameraDuringZooms": true,
"studioSound": true,
"subtitlesEnabled": true,
"systemAudioVolume": 0.4,
"transcriptsEnabled": true,
"viewCountEnabled": true,
"zoomAnimationStyle": "brisk"
}
'import requests
url = "https://api.tella.com/v1/videos/{id}"
payload = {
"allowedEmbedDomains": ["example.com", "mysite.org"],
"autoRatio": True,
"captionFontFamily": "Inter",
"captionFontSize": 64,
"captionFontWeight": 500,
"captionLinesPerBlock": 1,
"captionPosition": {
"x": 0.5,
"y": 0.5
},
"captionStyle": {
"backgroundColor": "#5E51F8FF",
"name": "backdrop",
"textColor": "#5E51F8FF",
"wordLevelHighlights": True,
"activeWordTextColor": "#5E51F8FF",
"backgroundEnabled": True,
"highlightColor": "#5E51F8FF",
"outlineColor": "#5E51F8FF",
"outlineEnabled": True,
"shadowColor": "#5E51F8FF",
"shadowEnabled": True
},
"captionsDefaultEnabled": True,
"commentEmailsEnabled": False,
"commentsEnabled": True,
"cursor": {
"clickRipple": False,
"hideWhenInactive": False,
"returnToStart": False,
"size": 3.05,
"smoothing": False,
"style": "macTahoe"
},
"customThumbnailURL": "https://example.com/custom-thumbnail.jpg",
"defaultClipTransition": "hard_cut",
"defaultPlaybackRate": 1,
"description": "Updated description for the video",
"dimensions": {
"height": 1920,
"width": 1080
},
"downloadsEnabled": True,
"layoutAnimationStyle": "snappy",
"linkScope": "public",
"microphoneVolume": 1.2,
"motionBlur": True,
"name": "Updated Video Title",
"password": "secretpassword",
"publishDateEnabled": True,
"rawDownloadsEnabled": False,
"searchEngineIndexingEnabled": True,
"shrinkCameraDuringZooms": True,
"studioSound": True,
"subtitlesEnabled": True,
"systemAudioVolume": 0.4,
"transcriptsEnabled": True,
"viewCountEnabled": True,
"zoomAnimationStyle": "brisk"
}
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'],
autoRatio: true,
captionFontFamily: 'Inter',
captionFontSize: 64,
captionFontWeight: 500,
captionLinesPerBlock: 1,
captionPosition: {x: 0.5, y: 0.5},
captionStyle: {
backgroundColor: '#5E51F8FF',
name: 'backdrop',
textColor: '#5E51F8FF',
wordLevelHighlights: true,
activeWordTextColor: '#5E51F8FF',
backgroundEnabled: true,
highlightColor: '#5E51F8FF',
outlineColor: '#5E51F8FF',
outlineEnabled: true,
shadowColor: '#5E51F8FF',
shadowEnabled: true
},
captionsDefaultEnabled: true,
commentEmailsEnabled: false,
commentsEnabled: true,
cursor: {
clickRipple: false,
hideWhenInactive: false,
returnToStart: false,
size: 3.05,
smoothing: false,
style: 'macTahoe'
},
customThumbnailURL: 'https://example.com/custom-thumbnail.jpg',
defaultClipTransition: 'hard_cut',
defaultPlaybackRate: 1,
description: 'Updated description for the video',
dimensions: {height: 1920, width: 1080},
downloadsEnabled: true,
layoutAnimationStyle: 'snappy',
linkScope: 'public',
microphoneVolume: 1.2,
motionBlur: true,
name: 'Updated Video Title',
password: 'secretpassword',
publishDateEnabled: true,
rawDownloadsEnabled: false,
searchEngineIndexingEnabled: true,
shrinkCameraDuringZooms: true,
studioSound: true,
subtitlesEnabled: true,
systemAudioVolume: 0.4,
transcriptsEnabled: true,
viewCountEnabled: true,
zoomAnimationStyle: 'brisk'
})
};
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'
],
'autoRatio' => true,
'captionFontFamily' => 'Inter',
'captionFontSize' => 64,
'captionFontWeight' => 500,
'captionLinesPerBlock' => 1,
'captionPosition' => [
'x' => 0.5,
'y' => 0.5
],
'captionStyle' => [
'backgroundColor' => '#5E51F8FF',
'name' => 'backdrop',
'textColor' => '#5E51F8FF',
'wordLevelHighlights' => true,
'activeWordTextColor' => '#5E51F8FF',
'backgroundEnabled' => true,
'highlightColor' => '#5E51F8FF',
'outlineColor' => '#5E51F8FF',
'outlineEnabled' => true,
'shadowColor' => '#5E51F8FF',
'shadowEnabled' => true
],
'captionsDefaultEnabled' => true,
'commentEmailsEnabled' => false,
'commentsEnabled' => true,
'cursor' => [
'clickRipple' => false,
'hideWhenInactive' => false,
'returnToStart' => false,
'size' => 3.05,
'smoothing' => false,
'style' => 'macTahoe'
],
'customThumbnailURL' => 'https://example.com/custom-thumbnail.jpg',
'defaultClipTransition' => 'hard_cut',
'defaultPlaybackRate' => 1,
'description' => 'Updated description for the video',
'dimensions' => [
'height' => 1920,
'width' => 1080
],
'downloadsEnabled' => true,
'layoutAnimationStyle' => 'snappy',
'linkScope' => 'public',
'microphoneVolume' => 1.2,
'motionBlur' => true,
'name' => 'Updated Video Title',
'password' => 'secretpassword',
'publishDateEnabled' => true,
'rawDownloadsEnabled' => false,
'searchEngineIndexingEnabled' => true,
'shrinkCameraDuringZooms' => true,
'studioSound' => true,
'subtitlesEnabled' => true,
'systemAudioVolume' => 0.4,
'transcriptsEnabled' => true,
'viewCountEnabled' => true,
'zoomAnimationStyle' => 'brisk'
]),
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 \"autoRatio\": true,\n \"captionFontFamily\": \"Inter\",\n \"captionFontSize\": 64,\n \"captionFontWeight\": 500,\n \"captionLinesPerBlock\": 1,\n \"captionPosition\": {\n \"x\": 0.5,\n \"y\": 0.5\n },\n \"captionStyle\": {\n \"backgroundColor\": \"#5E51F8FF\",\n \"name\": \"backdrop\",\n \"textColor\": \"#5E51F8FF\",\n \"wordLevelHighlights\": true,\n \"activeWordTextColor\": \"#5E51F8FF\",\n \"backgroundEnabled\": true,\n \"highlightColor\": \"#5E51F8FF\",\n \"outlineColor\": \"#5E51F8FF\",\n \"outlineEnabled\": true,\n \"shadowColor\": \"#5E51F8FF\",\n \"shadowEnabled\": true\n },\n \"captionsDefaultEnabled\": true,\n \"commentEmailsEnabled\": false,\n \"commentsEnabled\": true,\n \"cursor\": {\n \"clickRipple\": false,\n \"hideWhenInactive\": false,\n \"returnToStart\": false,\n \"size\": 3.05,\n \"smoothing\": false,\n \"style\": \"macTahoe\"\n },\n \"customThumbnailURL\": \"https://example.com/custom-thumbnail.jpg\",\n \"defaultClipTransition\": \"hard_cut\",\n \"defaultPlaybackRate\": 1,\n \"description\": \"Updated description for the video\",\n \"dimensions\": {\n \"height\": 1920,\n \"width\": 1080\n },\n \"downloadsEnabled\": true,\n \"layoutAnimationStyle\": \"snappy\",\n \"linkScope\": \"public\",\n \"microphoneVolume\": 1.2,\n \"motionBlur\": true,\n \"name\": \"Updated Video Title\",\n \"password\": \"secretpassword\",\n \"publishDateEnabled\": true,\n \"rawDownloadsEnabled\": false,\n \"searchEngineIndexingEnabled\": true,\n \"shrinkCameraDuringZooms\": true,\n \"studioSound\": true,\n \"subtitlesEnabled\": true,\n \"systemAudioVolume\": 0.4,\n \"transcriptsEnabled\": true,\n \"viewCountEnabled\": true,\n \"zoomAnimationStyle\": \"brisk\"\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 \"autoRatio\": true,\n \"captionFontFamily\": \"Inter\",\n \"captionFontSize\": 64,\n \"captionFontWeight\": 500,\n \"captionLinesPerBlock\": 1,\n \"captionPosition\": {\n \"x\": 0.5,\n \"y\": 0.5\n },\n \"captionStyle\": {\n \"backgroundColor\": \"#5E51F8FF\",\n \"name\": \"backdrop\",\n \"textColor\": \"#5E51F8FF\",\n \"wordLevelHighlights\": true,\n \"activeWordTextColor\": \"#5E51F8FF\",\n \"backgroundEnabled\": true,\n \"highlightColor\": \"#5E51F8FF\",\n \"outlineColor\": \"#5E51F8FF\",\n \"outlineEnabled\": true,\n \"shadowColor\": \"#5E51F8FF\",\n \"shadowEnabled\": true\n },\n \"captionsDefaultEnabled\": true,\n \"commentEmailsEnabled\": false,\n \"commentsEnabled\": true,\n \"cursor\": {\n \"clickRipple\": false,\n \"hideWhenInactive\": false,\n \"returnToStart\": false,\n \"size\": 3.05,\n \"smoothing\": false,\n \"style\": \"macTahoe\"\n },\n \"customThumbnailURL\": \"https://example.com/custom-thumbnail.jpg\",\n \"defaultClipTransition\": \"hard_cut\",\n \"defaultPlaybackRate\": 1,\n \"description\": \"Updated description for the video\",\n \"dimensions\": {\n \"height\": 1920,\n \"width\": 1080\n },\n \"downloadsEnabled\": true,\n \"layoutAnimationStyle\": \"snappy\",\n \"linkScope\": \"public\",\n \"microphoneVolume\": 1.2,\n \"motionBlur\": true,\n \"name\": \"Updated Video Title\",\n \"password\": \"secretpassword\",\n \"publishDateEnabled\": true,\n \"rawDownloadsEnabled\": false,\n \"searchEngineIndexingEnabled\": true,\n \"shrinkCameraDuringZooms\": true,\n \"studioSound\": true,\n \"subtitlesEnabled\": true,\n \"systemAudioVolume\": 0.4,\n \"transcriptsEnabled\": true,\n \"viewCountEnabled\": true,\n \"zoomAnimationStyle\": \"brisk\"\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 \"autoRatio\": true,\n \"captionFontFamily\": \"Inter\",\n \"captionFontSize\": 64,\n \"captionFontWeight\": 500,\n \"captionLinesPerBlock\": 1,\n \"captionPosition\": {\n \"x\": 0.5,\n \"y\": 0.5\n },\n \"captionStyle\": {\n \"backgroundColor\": \"#5E51F8FF\",\n \"name\": \"backdrop\",\n \"textColor\": \"#5E51F8FF\",\n \"wordLevelHighlights\": true,\n \"activeWordTextColor\": \"#5E51F8FF\",\n \"backgroundEnabled\": true,\n \"highlightColor\": \"#5E51F8FF\",\n \"outlineColor\": \"#5E51F8FF\",\n \"outlineEnabled\": true,\n \"shadowColor\": \"#5E51F8FF\",\n \"shadowEnabled\": true\n },\n \"captionsDefaultEnabled\": true,\n \"commentEmailsEnabled\": false,\n \"commentsEnabled\": true,\n \"cursor\": {\n \"clickRipple\": false,\n \"hideWhenInactive\": false,\n \"returnToStart\": false,\n \"size\": 3.05,\n \"smoothing\": false,\n \"style\": \"macTahoe\"\n },\n \"customThumbnailURL\": \"https://example.com/custom-thumbnail.jpg\",\n \"defaultClipTransition\": \"hard_cut\",\n \"defaultPlaybackRate\": 1,\n \"description\": \"Updated description for the video\",\n \"dimensions\": {\n \"height\": 1920,\n \"width\": 1080\n },\n \"downloadsEnabled\": true,\n \"layoutAnimationStyle\": \"snappy\",\n \"linkScope\": \"public\",\n \"microphoneVolume\": 1.2,\n \"motionBlur\": true,\n \"name\": \"Updated Video Title\",\n \"password\": \"secretpassword\",\n \"publishDateEnabled\": true,\n \"rawDownloadsEnabled\": false,\n \"searchEngineIndexingEnabled\": true,\n \"shrinkCameraDuringZooms\": true,\n \"studioSound\": true,\n \"subtitlesEnabled\": true,\n \"systemAudioVolume\": 0.4,\n \"transcriptsEnabled\": true,\n \"viewCountEnabled\": true,\n \"zoomAnimationStyle\": \"brisk\"\n}"
response = http.request(request)
puts response.read_body{
"video": {
"aspectRatio": "16:9",
"autoRatio": false,
"backgroundMusic": {
"durationMs": 180036,
"name": "Calm Product Tour",
"url": "https://ucarecdn.com/example-track/",
"volume": 0.2
},
"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": "Export-Story-vid_abc123def456/2026-01-15T10:00:00Z/Story/1920x1080/30FPS",
"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"
],
"captionFontFamily": "Inter",
"captionFontSize": 64,
"captionFontWeight": 500,
"captionGrouping": "chunked",
"captionLinesPerBlock": 1,
"captionPosition": {
"x": 0.5,
"y": 0.5
},
"captionSize": "medium",
"captionStyle": {
"backgroundColor": "#5E51F8FF",
"name": "backdrop",
"textColor": "#5E51F8FF",
"wordLevelHighlights": true,
"activeWordTextColor": "#5E51F8FF",
"backgroundEnabled": true,
"highlightColor": "#5E51F8FF",
"highlightMode": "text",
"outlineColor": "#5E51F8FF",
"outlineEnabled": true,
"shadowColor": "#5E51F8FF",
"shadowEnabled": true,
"textCase": "original"
},
"captionsDefaultEnabled": true,
"commentEmailsEnabled": false,
"commentsEnabled": true,
"cursor": {
"clickRipple": false,
"hideWhenInactive": false,
"returnToStart": false,
"size": 3.05,
"smoothing": false,
"style": "macTahoe"
},
"customThumbnailURL": "https://example.com/custom-thumbnail.jpg",
"defaultClipTransition": "hard_cut",
"defaultPlaybackRate": 1,
"downloadsEnabled": true,
"layoutAnimationStyle": "moderate",
"linkScope": "org",
"microphoneVolume": 1,
"motionBlur": true,
"publishDateEnabled": true,
"rawDownloadsEnabled": false,
"searchEngineIndexingEnabled": true,
"shrinkCameraDuringZooms": true,
"studioSound": false,
"subtitlesEnabled": true,
"systemAudioVolume": 1,
"thumbnailInpointMs": 12000,
"transcriptsEnabled": true,
"viewCountEnabled": true,
"zoomAnimationStyle": "moderate"
},
"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
}
}{
"docsUrl": "https://docs.tella.com/",
"error": "bad_request",
"message": "The request was malformed or contained invalid parameters."
}{
"docsUrl": "https://docs.tella.com/",
"error": "unauthorized",
"message": "Authentication is required. Provide a valid API key."
}{
"docsUrl": "https://docs.tella.com/",
"error": "forbidden",
"message": "You don't have permission to access this resource."
}{
"docsUrl": "https://docs.tella.com/",
"error": "not_found",
"message": "The requested resource was not found."
}{
"docsUrl": "https://docs.tella.com/",
"error": "conflict",
"message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
}{
"docsUrl": "https://docs.tella.com/",
"error": "rate_limited",
"message": "You have exceeded the rate limit. Please slow down."
}{
"docsUrl": "https://docs.tella.com/",
"error": "server_error",
"message": "An unexpected error occurred"
}{
"docsUrl": "https://docs.tella.com/",
"error": "not_implemented",
"message": "The requested operation is not implemented."
}{
"docsUrl": "https://docs.tella.com/",
"error": "unavailable",
"message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
}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"
],
"autoRatio": true,
"captionFontFamily": "Inter",
"captionFontSize": 64,
"captionFontWeight": 500,
"captionLinesPerBlock": 1,
"captionPosition": {
"x": 0.5,
"y": 0.5
},
"captionStyle": {
"backgroundColor": "#5E51F8FF",
"name": "backdrop",
"textColor": "#5E51F8FF",
"wordLevelHighlights": true,
"activeWordTextColor": "#5E51F8FF",
"backgroundEnabled": true,
"highlightColor": "#5E51F8FF",
"outlineColor": "#5E51F8FF",
"outlineEnabled": true,
"shadowColor": "#5E51F8FF",
"shadowEnabled": true
},
"captionsDefaultEnabled": true,
"commentEmailsEnabled": false,
"commentsEnabled": true,
"cursor": {
"clickRipple": false,
"hideWhenInactive": false,
"returnToStart": false,
"size": 3.05,
"smoothing": false,
"style": "macTahoe"
},
"customThumbnailURL": "https://example.com/custom-thumbnail.jpg",
"defaultClipTransition": "hard_cut",
"defaultPlaybackRate": 1,
"description": "Updated description for the video",
"dimensions": {
"height": 1920,
"width": 1080
},
"downloadsEnabled": true,
"layoutAnimationStyle": "snappy",
"linkScope": "public",
"microphoneVolume": 1.2,
"motionBlur": true,
"name": "Updated Video Title",
"password": "secretpassword",
"publishDateEnabled": true,
"rawDownloadsEnabled": false,
"searchEngineIndexingEnabled": true,
"shrinkCameraDuringZooms": true,
"studioSound": true,
"subtitlesEnabled": true,
"systemAudioVolume": 0.4,
"transcriptsEnabled": true,
"viewCountEnabled": true,
"zoomAnimationStyle": "brisk"
}
'import requests
url = "https://api.tella.com/v1/videos/{id}"
payload = {
"allowedEmbedDomains": ["example.com", "mysite.org"],
"autoRatio": True,
"captionFontFamily": "Inter",
"captionFontSize": 64,
"captionFontWeight": 500,
"captionLinesPerBlock": 1,
"captionPosition": {
"x": 0.5,
"y": 0.5
},
"captionStyle": {
"backgroundColor": "#5E51F8FF",
"name": "backdrop",
"textColor": "#5E51F8FF",
"wordLevelHighlights": True,
"activeWordTextColor": "#5E51F8FF",
"backgroundEnabled": True,
"highlightColor": "#5E51F8FF",
"outlineColor": "#5E51F8FF",
"outlineEnabled": True,
"shadowColor": "#5E51F8FF",
"shadowEnabled": True
},
"captionsDefaultEnabled": True,
"commentEmailsEnabled": False,
"commentsEnabled": True,
"cursor": {
"clickRipple": False,
"hideWhenInactive": False,
"returnToStart": False,
"size": 3.05,
"smoothing": False,
"style": "macTahoe"
},
"customThumbnailURL": "https://example.com/custom-thumbnail.jpg",
"defaultClipTransition": "hard_cut",
"defaultPlaybackRate": 1,
"description": "Updated description for the video",
"dimensions": {
"height": 1920,
"width": 1080
},
"downloadsEnabled": True,
"layoutAnimationStyle": "snappy",
"linkScope": "public",
"microphoneVolume": 1.2,
"motionBlur": True,
"name": "Updated Video Title",
"password": "secretpassword",
"publishDateEnabled": True,
"rawDownloadsEnabled": False,
"searchEngineIndexingEnabled": True,
"shrinkCameraDuringZooms": True,
"studioSound": True,
"subtitlesEnabled": True,
"systemAudioVolume": 0.4,
"transcriptsEnabled": True,
"viewCountEnabled": True,
"zoomAnimationStyle": "brisk"
}
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'],
autoRatio: true,
captionFontFamily: 'Inter',
captionFontSize: 64,
captionFontWeight: 500,
captionLinesPerBlock: 1,
captionPosition: {x: 0.5, y: 0.5},
captionStyle: {
backgroundColor: '#5E51F8FF',
name: 'backdrop',
textColor: '#5E51F8FF',
wordLevelHighlights: true,
activeWordTextColor: '#5E51F8FF',
backgroundEnabled: true,
highlightColor: '#5E51F8FF',
outlineColor: '#5E51F8FF',
outlineEnabled: true,
shadowColor: '#5E51F8FF',
shadowEnabled: true
},
captionsDefaultEnabled: true,
commentEmailsEnabled: false,
commentsEnabled: true,
cursor: {
clickRipple: false,
hideWhenInactive: false,
returnToStart: false,
size: 3.05,
smoothing: false,
style: 'macTahoe'
},
customThumbnailURL: 'https://example.com/custom-thumbnail.jpg',
defaultClipTransition: 'hard_cut',
defaultPlaybackRate: 1,
description: 'Updated description for the video',
dimensions: {height: 1920, width: 1080},
downloadsEnabled: true,
layoutAnimationStyle: 'snappy',
linkScope: 'public',
microphoneVolume: 1.2,
motionBlur: true,
name: 'Updated Video Title',
password: 'secretpassword',
publishDateEnabled: true,
rawDownloadsEnabled: false,
searchEngineIndexingEnabled: true,
shrinkCameraDuringZooms: true,
studioSound: true,
subtitlesEnabled: true,
systemAudioVolume: 0.4,
transcriptsEnabled: true,
viewCountEnabled: true,
zoomAnimationStyle: 'brisk'
})
};
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'
],
'autoRatio' => true,
'captionFontFamily' => 'Inter',
'captionFontSize' => 64,
'captionFontWeight' => 500,
'captionLinesPerBlock' => 1,
'captionPosition' => [
'x' => 0.5,
'y' => 0.5
],
'captionStyle' => [
'backgroundColor' => '#5E51F8FF',
'name' => 'backdrop',
'textColor' => '#5E51F8FF',
'wordLevelHighlights' => true,
'activeWordTextColor' => '#5E51F8FF',
'backgroundEnabled' => true,
'highlightColor' => '#5E51F8FF',
'outlineColor' => '#5E51F8FF',
'outlineEnabled' => true,
'shadowColor' => '#5E51F8FF',
'shadowEnabled' => true
],
'captionsDefaultEnabled' => true,
'commentEmailsEnabled' => false,
'commentsEnabled' => true,
'cursor' => [
'clickRipple' => false,
'hideWhenInactive' => false,
'returnToStart' => false,
'size' => 3.05,
'smoothing' => false,
'style' => 'macTahoe'
],
'customThumbnailURL' => 'https://example.com/custom-thumbnail.jpg',
'defaultClipTransition' => 'hard_cut',
'defaultPlaybackRate' => 1,
'description' => 'Updated description for the video',
'dimensions' => [
'height' => 1920,
'width' => 1080
],
'downloadsEnabled' => true,
'layoutAnimationStyle' => 'snappy',
'linkScope' => 'public',
'microphoneVolume' => 1.2,
'motionBlur' => true,
'name' => 'Updated Video Title',
'password' => 'secretpassword',
'publishDateEnabled' => true,
'rawDownloadsEnabled' => false,
'searchEngineIndexingEnabled' => true,
'shrinkCameraDuringZooms' => true,
'studioSound' => true,
'subtitlesEnabled' => true,
'systemAudioVolume' => 0.4,
'transcriptsEnabled' => true,
'viewCountEnabled' => true,
'zoomAnimationStyle' => 'brisk'
]),
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 \"autoRatio\": true,\n \"captionFontFamily\": \"Inter\",\n \"captionFontSize\": 64,\n \"captionFontWeight\": 500,\n \"captionLinesPerBlock\": 1,\n \"captionPosition\": {\n \"x\": 0.5,\n \"y\": 0.5\n },\n \"captionStyle\": {\n \"backgroundColor\": \"#5E51F8FF\",\n \"name\": \"backdrop\",\n \"textColor\": \"#5E51F8FF\",\n \"wordLevelHighlights\": true,\n \"activeWordTextColor\": \"#5E51F8FF\",\n \"backgroundEnabled\": true,\n \"highlightColor\": \"#5E51F8FF\",\n \"outlineColor\": \"#5E51F8FF\",\n \"outlineEnabled\": true,\n \"shadowColor\": \"#5E51F8FF\",\n \"shadowEnabled\": true\n },\n \"captionsDefaultEnabled\": true,\n \"commentEmailsEnabled\": false,\n \"commentsEnabled\": true,\n \"cursor\": {\n \"clickRipple\": false,\n \"hideWhenInactive\": false,\n \"returnToStart\": false,\n \"size\": 3.05,\n \"smoothing\": false,\n \"style\": \"macTahoe\"\n },\n \"customThumbnailURL\": \"https://example.com/custom-thumbnail.jpg\",\n \"defaultClipTransition\": \"hard_cut\",\n \"defaultPlaybackRate\": 1,\n \"description\": \"Updated description for the video\",\n \"dimensions\": {\n \"height\": 1920,\n \"width\": 1080\n },\n \"downloadsEnabled\": true,\n \"layoutAnimationStyle\": \"snappy\",\n \"linkScope\": \"public\",\n \"microphoneVolume\": 1.2,\n \"motionBlur\": true,\n \"name\": \"Updated Video Title\",\n \"password\": \"secretpassword\",\n \"publishDateEnabled\": true,\n \"rawDownloadsEnabled\": false,\n \"searchEngineIndexingEnabled\": true,\n \"shrinkCameraDuringZooms\": true,\n \"studioSound\": true,\n \"subtitlesEnabled\": true,\n \"systemAudioVolume\": 0.4,\n \"transcriptsEnabled\": true,\n \"viewCountEnabled\": true,\n \"zoomAnimationStyle\": \"brisk\"\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 \"autoRatio\": true,\n \"captionFontFamily\": \"Inter\",\n \"captionFontSize\": 64,\n \"captionFontWeight\": 500,\n \"captionLinesPerBlock\": 1,\n \"captionPosition\": {\n \"x\": 0.5,\n \"y\": 0.5\n },\n \"captionStyle\": {\n \"backgroundColor\": \"#5E51F8FF\",\n \"name\": \"backdrop\",\n \"textColor\": \"#5E51F8FF\",\n \"wordLevelHighlights\": true,\n \"activeWordTextColor\": \"#5E51F8FF\",\n \"backgroundEnabled\": true,\n \"highlightColor\": \"#5E51F8FF\",\n \"outlineColor\": \"#5E51F8FF\",\n \"outlineEnabled\": true,\n \"shadowColor\": \"#5E51F8FF\",\n \"shadowEnabled\": true\n },\n \"captionsDefaultEnabled\": true,\n \"commentEmailsEnabled\": false,\n \"commentsEnabled\": true,\n \"cursor\": {\n \"clickRipple\": false,\n \"hideWhenInactive\": false,\n \"returnToStart\": false,\n \"size\": 3.05,\n \"smoothing\": false,\n \"style\": \"macTahoe\"\n },\n \"customThumbnailURL\": \"https://example.com/custom-thumbnail.jpg\",\n \"defaultClipTransition\": \"hard_cut\",\n \"defaultPlaybackRate\": 1,\n \"description\": \"Updated description for the video\",\n \"dimensions\": {\n \"height\": 1920,\n \"width\": 1080\n },\n \"downloadsEnabled\": true,\n \"layoutAnimationStyle\": \"snappy\",\n \"linkScope\": \"public\",\n \"microphoneVolume\": 1.2,\n \"motionBlur\": true,\n \"name\": \"Updated Video Title\",\n \"password\": \"secretpassword\",\n \"publishDateEnabled\": true,\n \"rawDownloadsEnabled\": false,\n \"searchEngineIndexingEnabled\": true,\n \"shrinkCameraDuringZooms\": true,\n \"studioSound\": true,\n \"subtitlesEnabled\": true,\n \"systemAudioVolume\": 0.4,\n \"transcriptsEnabled\": true,\n \"viewCountEnabled\": true,\n \"zoomAnimationStyle\": \"brisk\"\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 \"autoRatio\": true,\n \"captionFontFamily\": \"Inter\",\n \"captionFontSize\": 64,\n \"captionFontWeight\": 500,\n \"captionLinesPerBlock\": 1,\n \"captionPosition\": {\n \"x\": 0.5,\n \"y\": 0.5\n },\n \"captionStyle\": {\n \"backgroundColor\": \"#5E51F8FF\",\n \"name\": \"backdrop\",\n \"textColor\": \"#5E51F8FF\",\n \"wordLevelHighlights\": true,\n \"activeWordTextColor\": \"#5E51F8FF\",\n \"backgroundEnabled\": true,\n \"highlightColor\": \"#5E51F8FF\",\n \"outlineColor\": \"#5E51F8FF\",\n \"outlineEnabled\": true,\n \"shadowColor\": \"#5E51F8FF\",\n \"shadowEnabled\": true\n },\n \"captionsDefaultEnabled\": true,\n \"commentEmailsEnabled\": false,\n \"commentsEnabled\": true,\n \"cursor\": {\n \"clickRipple\": false,\n \"hideWhenInactive\": false,\n \"returnToStart\": false,\n \"size\": 3.05,\n \"smoothing\": false,\n \"style\": \"macTahoe\"\n },\n \"customThumbnailURL\": \"https://example.com/custom-thumbnail.jpg\",\n \"defaultClipTransition\": \"hard_cut\",\n \"defaultPlaybackRate\": 1,\n \"description\": \"Updated description for the video\",\n \"dimensions\": {\n \"height\": 1920,\n \"width\": 1080\n },\n \"downloadsEnabled\": true,\n \"layoutAnimationStyle\": \"snappy\",\n \"linkScope\": \"public\",\n \"microphoneVolume\": 1.2,\n \"motionBlur\": true,\n \"name\": \"Updated Video Title\",\n \"password\": \"secretpassword\",\n \"publishDateEnabled\": true,\n \"rawDownloadsEnabled\": false,\n \"searchEngineIndexingEnabled\": true,\n \"shrinkCameraDuringZooms\": true,\n \"studioSound\": true,\n \"subtitlesEnabled\": true,\n \"systemAudioVolume\": 0.4,\n \"transcriptsEnabled\": true,\n \"viewCountEnabled\": true,\n \"zoomAnimationStyle\": \"brisk\"\n}"
response = http.request(request)
puts response.read_body{
"video": {
"aspectRatio": "16:9",
"autoRatio": false,
"backgroundMusic": {
"durationMs": 180036,
"name": "Calm Product Tour",
"url": "https://ucarecdn.com/example-track/",
"volume": 0.2
},
"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": "Export-Story-vid_abc123def456/2026-01-15T10:00:00Z/Story/1920x1080/30FPS",
"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"
],
"captionFontFamily": "Inter",
"captionFontSize": 64,
"captionFontWeight": 500,
"captionGrouping": "chunked",
"captionLinesPerBlock": 1,
"captionPosition": {
"x": 0.5,
"y": 0.5
},
"captionSize": "medium",
"captionStyle": {
"backgroundColor": "#5E51F8FF",
"name": "backdrop",
"textColor": "#5E51F8FF",
"wordLevelHighlights": true,
"activeWordTextColor": "#5E51F8FF",
"backgroundEnabled": true,
"highlightColor": "#5E51F8FF",
"highlightMode": "text",
"outlineColor": "#5E51F8FF",
"outlineEnabled": true,
"shadowColor": "#5E51F8FF",
"shadowEnabled": true,
"textCase": "original"
},
"captionsDefaultEnabled": true,
"commentEmailsEnabled": false,
"commentsEnabled": true,
"cursor": {
"clickRipple": false,
"hideWhenInactive": false,
"returnToStart": false,
"size": 3.05,
"smoothing": false,
"style": "macTahoe"
},
"customThumbnailURL": "https://example.com/custom-thumbnail.jpg",
"defaultClipTransition": "hard_cut",
"defaultPlaybackRate": 1,
"downloadsEnabled": true,
"layoutAnimationStyle": "moderate",
"linkScope": "org",
"microphoneVolume": 1,
"motionBlur": true,
"publishDateEnabled": true,
"rawDownloadsEnabled": false,
"searchEngineIndexingEnabled": true,
"shrinkCameraDuringZooms": true,
"studioSound": false,
"subtitlesEnabled": true,
"systemAudioVolume": 1,
"thumbnailInpointMs": 12000,
"transcriptsEnabled": true,
"viewCountEnabled": true,
"zoomAnimationStyle": "moderate"
},
"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
}
}{
"docsUrl": "https://docs.tella.com/",
"error": "bad_request",
"message": "The request was malformed or contained invalid parameters."
}{
"docsUrl": "https://docs.tella.com/",
"error": "unauthorized",
"message": "Authentication is required. Provide a valid API key."
}{
"docsUrl": "https://docs.tella.com/",
"error": "forbidden",
"message": "You don't have permission to access this resource."
}{
"docsUrl": "https://docs.tella.com/",
"error": "not_found",
"message": "The requested resource was not found."
}{
"docsUrl": "https://docs.tella.com/",
"error": "conflict",
"message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
}{
"docsUrl": "https://docs.tella.com/",
"error": "rate_limited",
"message": "You have exceeded the rate limit. Please slow down."
}{
"docsUrl": "https://docs.tella.com/",
"error": "server_error",
"message": "An unexpected error occurred"
}{
"docsUrl": "https://docs.tella.com/",
"error": "not_implemented",
"message": "The requested operation is not implemented."
}{
"docsUrl": "https://docs.tella.com/",
"error": "unavailable",
"message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
}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"]
The editor's Setup → Size → Auto. true sizes the canvas from the video's recording (the first clip with a screen recording, else the first clip's video or image) with the layout's padding equal on all sides, and keeps it following the recording as layouts change; when the canvas changes ratio class, layouts are remapped like a dimensions change. false pins the current size. Pass either autoRatio or dimensions, not both.
true
Subtitle font family. On write, one of Tella's catalog font families (the list the editor's font picker offers, and the same one fontFamily accepts on text overlays), or the video's current family to keep an uploaded font. Reads report the family the subtitles render with, which on videos styled before the catalog can be a legacy bundled family such as Arial.
1"Inter"
Exact subtitle text size, 40 to 200 — the editor's Size slider. captionSize is the same setting in buckets (small 40, medium 64, large 80), so a request passes one or the other, not both.
40 <= x <= 20064
Variable-font weight axis — 100 (thin) to 1000. Clamped to the range the family supports, so a read reports the weight that renders. Sent without captionFontFamily, it re-weights the video's current font.
100 <= x <= 1000500
How subtitle text is grouped: sentence chunks or one word at a time.
chunked, singleWord Lines a caption block may span when captionGrouping is chunked: 1, 2, or 3, or 0 for no limit, where blocks only break on pauses and sentence ends.
0 <= x <= 31
Subtitle text size. Applies if subtitles are enabled on the video.
small, medium, large Subtitle style. Applies if subtitles are enabled on the video. Background, shadow, and outline colors and toggles are available on every style.
- Backdrop
- Highlight
- Mono
- Cannes
- Classic
Hide child attributes
Hide child attributes
Caption background color in #RRGGBB or #RRGGBBAA form. Its alpha channel is rendered exactly; #RRGGBB is fully opaque. Responses use uppercase #RRGGBBAA and report the effective rendered color.
^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"#5E51F8FF"
backdrop Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"#5E51F8FF"
Text color of the spoken word when highlightMode is background. Defaults to textColor.
^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"#5E51F8FF"
Spoken-word color. Omit to retain the legacy text-opacity progression.
^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"#5E51F8FF"
How the spoken word is emphasized. Defaults to text.
text, background, fadeRest Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"#5E51F8FF"
Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"#5E51F8FF"
Letter case applied to every caption word. Defaults to original.
original, uppercase, lowercase Show subtitles to viewers by default
true
Send email notifications for new comments
false
Allow viewers to comment
true
Animated cursor settings to update. Omitted nested fields keep their current values.
Hide child attributes
Hide child attributes
Show a ripple on mouse clicks. Defaults off for new videos.
false
Fade the animated cursor out while inactive and back in when activity resumes.
false
Move the cursor back to its opening position at the end for cleaner loops.
false
Animated cursor size multiplier.
0.5 <= x <= 63.05
Smooth cursor movement. Defaults off for new videos.
false
Animated cursor artwork. mac is the pre-Tahoe style; macTahoe and macGoldenGate match those macOS generations; windows and touch use platform-specific artwork.
mac, macTahoe, macGoldenGate, windows, touch "macTahoe"
Custom thumbnail image URL
"https://example.com/custom-thumbnail.jpg"
How each clip enters from the previous one. A clip can override it with its own transition; see PATCH /v1/videos/{id}/clips/{clipId}.
smooth, hard_cut "hard_cut"
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).
{ "height": 1920, "width": 1080 }
Allow viewers to download the video
true
How layout transitions animate, gentlest to snappiest. Changing it leaves zooms as they were: when zooms have no zoomAnimationStyle of their own, they keep the previous style.
gentlest, gentle, relaxed, moderate, brisk, snappy, snappiest "snappy"
Access level: public (anyone with link), private (org members only), password (requires password), embedonly (only viewable when embedded)
public, private, password, embedonly "public"
Volume of the microphone (webcam) audio across the whole video. 1 is the recorded level, 0 mutes it, 2 doubles it. Clips that set their own microphoneVolume keep it — change or clear those with PATCH /v1/videos/{id}/clips/{clipId}.
0 <= x <= 21.2
Blur fast zoom, pan, and cursor movement. Defaults on for new videos.
true
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
Shrink camera bubbles while a zoom is active. Defaults on.
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
Allow viewers to enable subtitles
true
Volume of the system/screen audio across the whole video — everything that is not microphone audio. 1 is the recorded level, 0 mutes it, 2 doubles it. Clips that set their own systemAudioVolume keep it — change or clear those with PATCH /v1/videos/{id}/clips/{clipId}.
0 <= x <= 20.4
Show transcript panel to viewers
true
Show view count on video page
true
How zooms ease in, out, and between each other, gentlest to snappiest. Independent of layoutAnimationStyle.
gentlest, gentle, relaxed, moderate, brisk, snappy, snappiest "brisk"
Response
OK
Detailed information about a video including chapters, transcript, and exports
Hide child attributes
Hide child attributes
Video aspect ratio (e.g., '16:9', '9:16')
"16:9"
Whether the canvas is in Auto ratio (sized from the video's recording and following it as layouts change), the editor's Setup → Size → Auto.
false
Video-wide track that loops over the whole video and is included in exports
Hide child attributes
Hide child attributes
Audio track duration in milliseconds
x > 0180036
Optional display name for the track
"Calm Product Tour"
HTTPS URL of the audio track
^https:\/\/.*"https://ucarecdn.com/example-track/"
Track volume from 0 (silent) to 1 (full volume)
0 <= x <= 10.2
Video chapters/sections
Hide child attributes
Hide child attributes
Chapter description
5000"Overview of what we'll cover"
Chapter start time in seconds
x >= 00
Chapter title
1 - 255"Introduction"
Ordered IDs of the clips in the video. Use /v1/videos/{id}/clips/{clipId} to fetch each one.
["cl_abc123", "cl_def456"]
ISO 8601 datetime
"2024-01-15T10:30:00.000Z"
Video description
5000"Learn how to create and share your first video"
Video duration in seconds
x >= 0125.5
Available exports and their status
Hide child attributes
Hide child attributes
Download URL when export is completed, null otherwise
"https://cdn.tella.tv/exports/vid_abc123/video.mp4"
Unique identifier for the export job
"Export-Story-vid_abc123def456/2026-01-15T10:00:00Z/Story/1920x1080/30FPS"
Export progress percentage (0-100), null if not started
0 <= x <= 100100
Current export status
queued, running, completed, failed "completed"
ISO 8601 datetime of last status update
"2024-01-15T15:00:00.000Z"
Unique video identifier
"vid_abc123def456"
Related URLs for the video
Video title
1 - 255"Getting Started with Tella"
IDs of playlists containing this video
["pl_abc123", "pl_def456"]
Video playback and access settings
Hide child attributes
Hide child attributes
Restrict embedding to these domains only (Premium feature). Empty array allows all domains.
["example.com", "mysite.org"]
Subtitle font family. On write, one of Tella's catalog font families (the list the editor's font picker offers, and the same one fontFamily accepts on text overlays), or the video's current family to keep an uploaded font. Reads report the family the subtitles render with, which on videos styled before the catalog can be a legacy bundled family such as Arial.
1"Inter"
Exact subtitle text size, 40 to 200 — the editor's Size slider. captionSize is the same setting in buckets (small 40, medium 64, large 80), so a request passes one or the other, not both.
40 <= x <= 20064
Variable-font weight axis — 100 (thin) to 1000. Clamped to the range the family supports, so a read reports the weight that renders. Sent without captionFontFamily, it re-weights the video's current font.
100 <= x <= 1000500
How subtitle text is grouped: sentence chunks or one word at a time.
chunked, singleWord "chunked"
Lines a caption block may span when captionGrouping is chunked: 1, 2, or 3, or 0 for no limit, where blocks only break on pauses and sentence ends.
0 <= x <= 31
Subtitle text size. Applies if subtitles are enabled on the video.
small, medium, large "medium"
Subtitle style. Applies if subtitles are enabled on the video. Background, shadow, and outline colors and toggles are available on every style.
- Backdrop
- Highlight
- Mono
- Cannes
- Classic
Hide child attributes
Hide child attributes
Caption background color in #RRGGBB or #RRGGBBAA form. Its alpha channel is rendered exactly; #RRGGBB is fully opaque. Responses use uppercase #RRGGBBAA and report the effective rendered color.
^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"#5E51F8FF"
backdrop Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"#5E51F8FF"
Text color of the spoken word when highlightMode is background. Defaults to textColor.
^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"#5E51F8FF"
Spoken-word color. Omit to retain the legacy text-opacity progression.
^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"#5E51F8FF"
How the spoken word is emphasized. Defaults to text.
text, background, fadeRest Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"#5E51F8FF"
Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"#5E51F8FF"
Letter case applied to every caption word. Defaults to original.
original, uppercase, lowercase Show subtitles to viewers by default
true
Send email notifications for new comments
false
Allow viewers to comment
true
Animated cursor settings
Hide child attributes
Hide child attributes
Show a ripple on mouse clicks. Defaults off for new videos.
false
Fade the animated cursor out while inactive and back in when activity resumes.
false
Move the cursor back to its opening position at the end for cleaner loops.
false
Animated cursor size multiplier.
0.5 <= x <= 63.05
Smooth cursor movement. Defaults off for new videos.
false
Animated cursor artwork. mac is the pre-Tahoe style; macTahoe and macGoldenGate match those macOS generations; windows and touch use platform-specific artwork.
mac, macTahoe, macGoldenGate, windows, touch "macTahoe"
Custom thumbnail image URL
"https://example.com/custom-thumbnail.jpg"
How each clip enters from the previous one, unless the clip overrides it via its own transition.
smooth, hard_cut "hard_cut"
Default playback speed (0.5-2.0). Viewers can still adjust.
0.5 <= x <= 21
Allow viewers to download the video
true
How layout transitions animate, gentlest to snappiest. Zooms have their own zoomAnimationStyle. custom is a spring set outside the named styles.
gentlest, gentle, relaxed, moderate, brisk, snappy, snappiest, custom "moderate"
Current access level, including org for workspace-visible videos
public, private, org, password, embedonly "org"
Volume of the microphone (webcam) audio across the video. 1 is the recorded level, 0 mutes it, 2 doubles it. A clip can override it for one of its sources.
0 <= x <= 21
Blur fast zoom, pan, and cursor movement. Defaults on for new videos.
true
Show publish date on video page
true
Allow viewers to download raw source files
false
Allow search engines to index the video page
true
Shrink camera bubbles while a zoom is active. Defaults on.
true
Studio Sound (AI audio enhancement) master switch for the video. Individual clips can opt out via the clip's studioSound field.
false
Allow viewers to enable subtitles
true
Volume of the system/screen audio across the video — everything that is not microphone audio. 1 is the recorded level, 0 mutes it, 2 doubles it. A clip can override it for one of its sources.
0 <= x <= 21
Time in ms on the video's playback timeline of the frame picked as the thumbnail (set via inpointMs). Null when the thumbnail is an uploaded image or the default. A picked frame leaves customThumbnailURL null, so check this field to verify it.
0 <= x <= 900719925474099112000
Show transcript panel to viewers
true
Show view count on video page
true
How zooms ease in, out, and between each other, gentlest to snappiest. Zooms follow layoutAnimationStyle until one is set. custom is a spring set outside the named styles.
gentlest, gentle, relaxed, moderate, brisk, snappy, snappiest, custom "moderate"
Available thumbnail URLs by format and resolution
Hide child attributes
Hide child attributes
Large thumbnails (1280x720 landscape, 720x1280 portrait, 1080x1080 square)
Hide child attributes
Hide child attributes
Animated GIF thumbnail URL (medium and small sizes only)
"https://cdn.tella.tv/thumbnails/vid_abc123/640x360.gif"
JPEG thumbnail URL
"https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.jpg"
Animated MP4 thumbnail URL (medium and small sizes only)
"https://cdn.tella.tv/thumbnails/vid_abc123/640x360.mp4"
WebP thumbnail URL
"https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.webp"
Medium thumbnails with animated formats (640x360 landscape, 360x640 portrait, 640x640 square)
Hide child attributes
Hide child attributes
Animated GIF thumbnail URL (medium and small sizes only)
"https://cdn.tella.tv/thumbnails/vid_abc123/640x360.gif"
JPEG thumbnail URL
"https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.jpg"
Animated MP4 thumbnail URL (medium and small sizes only)
"https://cdn.tella.tv/thumbnails/vid_abc123/640x360.mp4"
WebP thumbnail URL
"https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.webp"
Small thumbnails with animated formats (320x180 landscape, 180x320 portrait, 320x320 square)
Hide child attributes
Hide child attributes
Animated GIF thumbnail URL (medium and small sizes only)
"https://cdn.tella.tv/thumbnails/vid_abc123/640x360.gif"
JPEG thumbnail URL
"https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.jpg"
Animated MP4 thumbnail URL (medium and small sizes only)
"https://cdn.tella.tv/thumbnails/vid_abc123/640x360.mp4"
WebP thumbnail URL
"https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.webp"
Extra large thumbnails (1920x1080 landscape, 1080x1920 portrait, 1080x1080 square)
Hide child attributes
Hide child attributes
Animated GIF thumbnail URL (medium and small sizes only)
"https://cdn.tella.tv/thumbnails/vid_abc123/640x360.gif"
JPEG thumbnail URL
"https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.jpg"
Animated MP4 thumbnail URL (medium and small sizes only)
"https://cdn.tella.tv/thumbnails/vid_abc123/640x360.mp4"
WebP thumbnail URL
"https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.webp"
Video transcript data
Hide child attributes
Hide child attributes
Detected language code (e.g., 'en', 'es')
"en"
Sentences with timestamps
Hide child attributes
Hide child attributes
Sentence end time in seconds
x >= 02.3
Sentence start time in seconds
x >= 00.5
Sentence text
"Hello and welcome to this tutorial."
Transcript generation status
ready, processing, failed "ready"
Full transcript text
"Hello and welcome to this tutorial..."
ISO 8601 datetime
"2024-01-15T14:45:00.000Z"
Total view count
0 <= x <= 90071992547409911234
Was this page helpful?