Create Transcoding Profile
curl --request POST \
--url https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
"{\n \"name\": \"Vidinfra Ultra Secure Profile\",\n \"description\": \"4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.\",\n \"transcoding\": {\n \"format\": [\n \"abr\"\n ],\n \"resolutions\": [\n \"144p\",\n \"240p\",\n \"360p\",\n \"480p\",\n \"720p\",\n \"1080p\",\n \"1440p\",\n \"2160p\"\n ],\n \"video_codec\": [\n \"h264\"\n ],\n \"per_title_encoding\": true, // default true\n \"image_overlay\": {\n \"url\": \"https://cdn.vidinfra.com/watermark.png\",\n \"position\": \"bottom-right\",\n \"opacity\": 0.8,\n \"size\": {\n \"width\": 100,\n \"height\": 60\n },\n \"margin\": {\n \"x\": 100,\n \"y\": 60\n }\n },\n \"thumbnail\": { // default\n \"mode\": \"auto\",\n \"format\": \"jpg\",\n \"count\": 6,\n \"spritesheet\": true\n },\n \"generate_subtitles\": {\n \"audio_language\": \"en\",\n \"subtitle_languages\": [\n \"es\",\n \"fr\"\n ]\n },\n \"drm\": {\n \"enabled\": true,\n \"widevine\": {\n \"signing_secret\": \"YOUR_SECURE_PROXY_SECRET\",\n \"license_proxy_url\": \"https://widevine.yourdomain.com/licence/\"\n },\n \"fairplay\": {\n \"license_url\": \"https://license.fairplay.vidinfra.com\",\n \"certificate_url\": \"https://yourdomain.com/fairplay.cer\",\n \"application_service_key\": \"YOUR_APPLE_SERVICE_KEY\",\n \"private_key_passphrase\": \"YOUR_PRIVATE_KEY_PASSPHRASE\"\n }\n },\n \"basic_drm\": true,\n \"mp4_access\": false,\n \"keep_original\": false\n }\n}"
'import requests
url = "https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles"
payload = "{
\"name\": \"Vidinfra Ultra Secure Profile\",
\"description\": \"4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.\",
\"transcoding\": {
\"format\": [
\"abr\"
],
\"resolutions\": [
\"144p\",
\"240p\",
\"360p\",
\"480p\",
\"720p\",
\"1080p\",
\"1440p\",
\"2160p\"
],
\"video_codec\": [
\"h264\"
],
\"per_title_encoding\": true, // default true
\"image_overlay\": {
\"url\": \"https://cdn.vidinfra.com/watermark.png\",
\"position\": \"bottom-right\",
\"opacity\": 0.8,
\"size\": {
\"width\": 100,
\"height\": 60
},
\"margin\": {
\"x\": 100,
\"y\": 60
}
},
\"thumbnail\": { // default
\"mode\": \"auto\",
\"format\": \"jpg\",
\"count\": 6,
\"spritesheet\": true
},
\"generate_subtitles\": {
\"audio_language\": \"en\",
\"subtitle_languages\": [
\"es\",
\"fr\"
]
},
\"drm\": {
\"enabled\": true,
\"widevine\": {
\"signing_secret\": \"YOUR_SECURE_PROXY_SECRET\",
\"license_proxy_url\": \"https://widevine.yourdomain.com/licence/\"
},
\"fairplay\": {
\"license_url\": \"https://license.fairplay.vidinfra.com\",
\"certificate_url\": \"https://yourdomain.com/fairplay.cer\",
\"application_service_key\": \"YOUR_APPLE_SERVICE_KEY\",
\"private_key_passphrase\": \"YOUR_PRIVATE_KEY_PASSPHRASE\"
}
},
\"basic_drm\": true,
\"mp4_access\": false,
\"keep_original\": false
}
}"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify('{\n "name": "Vidinfra Ultra Secure Profile",\n "description": "4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.",\n "transcoding": {\n "format": [\n "abr"\n ],\n "resolutions": [\n "144p",\n "240p",\n "360p",\n "480p",\n "720p",\n "1080p",\n "1440p",\n "2160p"\n ],\n "video_codec": [\n "h264"\n ],\n "per_title_encoding": true, // default true\n "image_overlay": {\n "url": "https://cdn.vidinfra.com/watermark.png",\n "position": "bottom-right",\n "opacity": 0.8,\n "size": {\n "width": 100,\n "height": 60\n },\n "margin": {\n "x": 100,\n "y": 60\n }\n },\n "thumbnail": { // default\n "mode": "auto",\n "format": "jpg",\n "count": 6,\n "spritesheet": true\n },\n "generate_subtitles": {\n "audio_language": "en",\n "subtitle_languages": [\n "es",\n "fr"\n ]\n },\n "drm": {\n "enabled": true,\n "widevine": {\n "signing_secret": "YOUR_SECURE_PROXY_SECRET",\n "license_proxy_url": "https://widevine.yourdomain.com/licence/"\n },\n "fairplay": {\n "license_url": "https://license.fairplay.vidinfra.com",\n "certificate_url": "https://yourdomain.com/fairplay.cer",\n "application_service_key": "YOUR_APPLE_SERVICE_KEY",\n "private_key_passphrase": "YOUR_PRIVATE_KEY_PASSPHRASE"\n }\n },\n "basic_drm": true,\n "mp4_access": false,\n "keep_original": false\n }\n}')
};
fetch('https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles"
payload := strings.NewReader("\"{\\n \\\"name\\\": \\\"Vidinfra Ultra Secure Profile\\\",\\n \\\"description\\\": \\\"4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.\\\",\\n \\\"transcoding\\\": {\\n \\\"format\\\": [\\n \\\"abr\\\"\\n ],\\n \\\"resolutions\\\": [\\n \\\"144p\\\",\\n \\\"240p\\\",\\n \\\"360p\\\",\\n \\\"480p\\\",\\n \\\"720p\\\",\\n \\\"1080p\\\",\\n \\\"1440p\\\",\\n \\\"2160p\\\"\\n ],\\n \\\"video_codec\\\": [\\n \\\"h264\\\"\\n ],\\n \\\"per_title_encoding\\\": true, // default true\\n \\\"image_overlay\\\": {\\n \\\"url\\\": \\\"https://cdn.vidinfra.com/watermark.png\\\",\\n \\\"position\\\": \\\"bottom-right\\\",\\n \\\"opacity\\\": 0.8,\\n \\\"size\\\": {\\n \\\"width\\\": 100,\\n \\\"height\\\": 60\\n },\\n \\\"margin\\\": {\\n \\\"x\\\": 100,\\n \\\"y\\\": 60\\n }\\n },\\n \\\"thumbnail\\\": { // default\\n \\\"mode\\\": \\\"auto\\\",\\n \\\"format\\\": \\\"jpg\\\",\\n \\\"count\\\": 6,\\n \\\"spritesheet\\\": true\\n },\\n \\\"generate_subtitles\\\": {\\n \\\"audio_language\\\": \\\"en\\\",\\n \\\"subtitle_languages\\\": [\\n \\\"es\\\",\\n \\\"fr\\\"\\n ]\\n },\\n \\\"drm\\\": {\\n \\\"enabled\\\": true,\\n \\\"widevine\\\": {\\n \\\"signing_secret\\\": \\\"YOUR_SECURE_PROXY_SECRET\\\",\\n \\\"license_proxy_url\\\": \\\"https://widevine.yourdomain.com/licence/\\\"\\n },\\n \\\"fairplay\\\": {\\n \\\"license_url\\\": \\\"https://license.fairplay.vidinfra.com\\\",\\n \\\"certificate_url\\\": \\\"https://yourdomain.com/fairplay.cer\\\",\\n \\\"application_service_key\\\": \\\"YOUR_APPLE_SERVICE_KEY\\\",\\n \\\"private_key_passphrase\\\": \\\"YOUR_PRIVATE_KEY_PASSPHRASE\\\"\\n }\\n },\\n \\\"basic_drm\\\": true,\\n \\\"mp4_access\\\": false,\\n \\\"keep_original\\\": false\\n }\\n}\"")
req, _ := http.NewRequest("POST", 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))
}require 'uri'
require 'net/http'
url = URI("https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "\"{\\n \\\"name\\\": \\\"Vidinfra Ultra Secure Profile\\\",\\n \\\"description\\\": \\\"4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.\\\",\\n \\\"transcoding\\\": {\\n \\\"format\\\": [\\n \\\"abr\\\"\\n ],\\n \\\"resolutions\\\": [\\n \\\"144p\\\",\\n \\\"240p\\\",\\n \\\"360p\\\",\\n \\\"480p\\\",\\n \\\"720p\\\",\\n \\\"1080p\\\",\\n \\\"1440p\\\",\\n \\\"2160p\\\"\\n ],\\n \\\"video_codec\\\": [\\n \\\"h264\\\"\\n ],\\n \\\"per_title_encoding\\\": true, // default true\\n \\\"image_overlay\\\": {\\n \\\"url\\\": \\\"https://cdn.vidinfra.com/watermark.png\\\",\\n \\\"position\\\": \\\"bottom-right\\\",\\n \\\"opacity\\\": 0.8,\\n \\\"size\\\": {\\n \\\"width\\\": 100,\\n \\\"height\\\": 60\\n },\\n \\\"margin\\\": {\\n \\\"x\\\": 100,\\n \\\"y\\\": 60\\n }\\n },\\n \\\"thumbnail\\\": { // default\\n \\\"mode\\\": \\\"auto\\\",\\n \\\"format\\\": \\\"jpg\\\",\\n \\\"count\\\": 6,\\n \\\"spritesheet\\\": true\\n },\\n \\\"generate_subtitles\\\": {\\n \\\"audio_language\\\": \\\"en\\\",\\n \\\"subtitle_languages\\\": [\\n \\\"es\\\",\\n \\\"fr\\\"\\n ]\\n },\\n \\\"drm\\\": {\\n \\\"enabled\\\": true,\\n \\\"widevine\\\": {\\n \\\"signing_secret\\\": \\\"YOUR_SECURE_PROXY_SECRET\\\",\\n \\\"license_proxy_url\\\": \\\"https://widevine.yourdomain.com/licence/\\\"\\n },\\n \\\"fairplay\\\": {\\n \\\"license_url\\\": \\\"https://license.fairplay.vidinfra.com\\\",\\n \\\"certificate_url\\\": \\\"https://yourdomain.com/fairplay.cer\\\",\\n \\\"application_service_key\\\": \\\"YOUR_APPLE_SERVICE_KEY\\\",\\n \\\"private_key_passphrase\\\": \\\"YOUR_PRIVATE_KEY_PASSPHRASE\\\"\\n }\\n },\\n \\\"basic_drm\\\": true,\\n \\\"mp4_access\\\": false,\\n \\\"keep_original\\\": false\\n }\\n}\""
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.post("https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("\"{\\n \\\"name\\\": \\\"Vidinfra Ultra Secure Profile\\\",\\n \\\"description\\\": \\\"4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.\\\",\\n \\\"transcoding\\\": {\\n \\\"format\\\": [\\n \\\"abr\\\"\\n ],\\n \\\"resolutions\\\": [\\n \\\"144p\\\",\\n \\\"240p\\\",\\n \\\"360p\\\",\\n \\\"480p\\\",\\n \\\"720p\\\",\\n \\\"1080p\\\",\\n \\\"1440p\\\",\\n \\\"2160p\\\"\\n ],\\n \\\"video_codec\\\": [\\n \\\"h264\\\"\\n ],\\n \\\"per_title_encoding\\\": true, // default true\\n \\\"image_overlay\\\": {\\n \\\"url\\\": \\\"https://cdn.vidinfra.com/watermark.png\\\",\\n \\\"position\\\": \\\"bottom-right\\\",\\n \\\"opacity\\\": 0.8,\\n \\\"size\\\": {\\n \\\"width\\\": 100,\\n \\\"height\\\": 60\\n },\\n \\\"margin\\\": {\\n \\\"x\\\": 100,\\n \\\"y\\\": 60\\n }\\n },\\n \\\"thumbnail\\\": { // default\\n \\\"mode\\\": \\\"auto\\\",\\n \\\"format\\\": \\\"jpg\\\",\\n \\\"count\\\": 6,\\n \\\"spritesheet\\\": true\\n },\\n \\\"generate_subtitles\\\": {\\n \\\"audio_language\\\": \\\"en\\\",\\n \\\"subtitle_languages\\\": [\\n \\\"es\\\",\\n \\\"fr\\\"\\n ]\\n },\\n \\\"drm\\\": {\\n \\\"enabled\\\": true,\\n \\\"widevine\\\": {\\n \\\"signing_secret\\\": \\\"YOUR_SECURE_PROXY_SECRET\\\",\\n \\\"license_proxy_url\\\": \\\"https://widevine.yourdomain.com/licence/\\\"\\n },\\n \\\"fairplay\\\": {\\n \\\"license_url\\\": \\\"https://license.fairplay.vidinfra.com\\\",\\n \\\"certificate_url\\\": \\\"https://yourdomain.com/fairplay.cer\\\",\\n \\\"application_service_key\\\": \\\"YOUR_APPLE_SERVICE_KEY\\\",\\n \\\"private_key_passphrase\\\": \\\"YOUR_PRIVATE_KEY_PASSPHRASE\\\"\\n }\\n },\\n \\\"basic_drm\\\": true,\\n \\\"mp4_access\\\": false,\\n \\\"keep_original\\\": false\\n }\\n}\"")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("\"{\\n \\\"name\\\": \\\"Vidinfra Ultra Secure Profile\\\",\\n \\\"description\\\": \\\"4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.\\\",\\n \\\"transcoding\\\": {\\n \\\"format\\\": [\\n \\\"abr\\\"\\n ],\\n \\\"resolutions\\\": [\\n \\\"144p\\\",\\n \\\"240p\\\",\\n \\\"360p\\\",\\n \\\"480p\\\",\\n \\\"720p\\\",\\n \\\"1080p\\\",\\n \\\"1440p\\\",\\n \\\"2160p\\\"\\n ],\\n \\\"video_codec\\\": [\\n \\\"h264\\\"\\n ],\\n \\\"per_title_encoding\\\": true, // default true\\n \\\"image_overlay\\\": {\\n \\\"url\\\": \\\"https://cdn.vidinfra.com/watermark.png\\\",\\n \\\"position\\\": \\\"bottom-right\\\",\\n \\\"opacity\\\": 0.8,\\n \\\"size\\\": {\\n \\\"width\\\": 100,\\n \\\"height\\\": 60\\n },\\n \\\"margin\\\": {\\n \\\"x\\\": 100,\\n \\\"y\\\": 60\\n }\\n },\\n \\\"thumbnail\\\": { // default\\n \\\"mode\\\": \\\"auto\\\",\\n \\\"format\\\": \\\"jpg\\\",\\n \\\"count\\\": 6,\\n \\\"spritesheet\\\": true\\n },\\n \\\"generate_subtitles\\\": {\\n \\\"audio_language\\\": \\\"en\\\",\\n \\\"subtitle_languages\\\": [\\n \\\"es\\\",\\n \\\"fr\\\"\\n ]\\n },\\n \\\"drm\\\": {\\n \\\"enabled\\\": true,\\n \\\"widevine\\\": {\\n \\\"signing_secret\\\": \\\"YOUR_SECURE_PROXY_SECRET\\\",\\n \\\"license_proxy_url\\\": \\\"https://widevine.yourdomain.com/licence/\\\"\\n },\\n \\\"fairplay\\\": {\\n \\\"license_url\\\": \\\"https://license.fairplay.vidinfra.com\\\",\\n \\\"certificate_url\\\": \\\"https://yourdomain.com/fairplay.cer\\\",\\n \\\"application_service_key\\\": \\\"YOUR_APPLE_SERVICE_KEY\\\",\\n \\\"private_key_passphrase\\\": \\\"YOUR_PRIVATE_KEY_PASSPHRASE\\\"\\n }\\n },\\n \\\"basic_drm\\\": true,\\n \\\"mp4_access\\\": false,\\n \\\"keep_original\\\": false\\n }\\n}\"", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles",
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('{
"name": "Vidinfra Ultra Secure Profile",
"description": "4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.",
"transcoding": {
"format": [
"abr"
],
"resolutions": [
"144p",
"240p",
"360p",
"480p",
"720p",
"1080p",
"1440p",
"2160p"
],
"video_codec": [
"h264"
],
"per_title_encoding": true, // default true
"image_overlay": {
"url": "https://cdn.vidinfra.com/watermark.png",
"position": "bottom-right",
"opacity": 0.8,
"size": {
"width": 100,
"height": 60
},
"margin": {
"x": 100,
"y": 60
}
},
"thumbnail": { // default
"mode": "auto",
"format": "jpg",
"count": 6,
"spritesheet": true
},
"generate_subtitles": {
"audio_language": "en",
"subtitle_languages": [
"es",
"fr"
]
},
"drm": {
"enabled": true,
"widevine": {
"signing_secret": "YOUR_SECURE_PROXY_SECRET",
"license_proxy_url": "https://widevine.yourdomain.com/licence/"
},
"fairplay": {
"license_url": "https://license.fairplay.vidinfra.com",
"certificate_url": "https://yourdomain.com/fairplay.cer",
"application_service_key": "YOUR_APPLE_SERVICE_KEY",
"private_key_passphrase": "YOUR_PRIVATE_KEY_PASSPHRASE"
}
},
"basic_drm": true,
"mp4_access": false,
"keep_original": false
}
}'),
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;
}{
"data": {
"updated_at": "2025-10-16T10:20:10.613203744+06:00",
"created_at": "2025-10-16T10:20:10.613203744+06:00",
"created_by": "2fa3fe27-ffcd-470b-becf-83f6f22a93ab",
"updated_by": null,
"deleted_at": null,
"name": "Vidinfra Ultra Secure Profile",
"description": "4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.",
"transcoding": {
"drm": {
"widevine": {
"signing_secret": "YOUR_SECURE_PROXY_SECRET",
"license_proxy_url": "https://widevine.yourdomain.com/licence/"
},
"fairplay": {
"license_url": "https://license.fairplay.vidinfra.com",
"certificate_url": "https://yourdomain.com/fairplay.cer",
"application_service_key": "YOUR_APPLE_SERVICE_KEY",
"private_key_passphrase": "YOUR_PRIVATE_KEY_PASSPHRASE"
},
"enabled": true
},
"format": [
"abr"
],
"generate_subtitles": {
"audio_language": "en",
"subtitle_languages": [
"es",
"fr"
]
},
"resolutions": [
"144p",
"240p",
"360p",
"480p",
"720p",
"1080p",
"1440p",
"2160p"
],
"video_codec": [
"h264"
],
"thumbnail": {
"mode": "auto",
"format": "jpg",
"count": 6,
"spritesheet": true
},
"image_overlay": {
"url": "https://cdn.vidinfra.com/watermark.png",
"position": "bottom-right",
"opacity": 0.8,
"size": {
"width": 100,
"height": 60
},
"margin": {
"x": 100,
"y": 60
}
},
"per_title_encoding": true,
"basic_drm": true,
"mp4_access": false,
"keep_original": false
},
"id": "1e293fc8-63a4-449d-aae2-dd460a025b45",
"organization_id": "677826f5-1aea-4cba-8973-043cdbc60f35",
"library_id": "3b06c833-b73c-43c3-8794-a123a0a6ef1d",
"is_default": false
},
"message": "Library Created Successfully",
"success": true
}{
"message": "Invalid Request",
"success": false
}{
"code": "auth_type_not_found",
"message": "Could not determine authentication type from request. Please provide a valid Authorization header or X-API-Key header.",
"success": false
}{
"message": "Resource not found",
"success": false
}{
"message": "Invalid Request",
"errors": [
{
"field": "field_name",
"code": "validation_required",
"message": "This field is required"
}
],
"success": false
}{
"message": "Internal server error",
"success": false
}Transcoding Profiles
Create Transcoding Profile
Create a new transcoding profile with video, audio, and AI settings
POST
/
libraries
/
{libraryId}
/
transcoding
/
profiles
Create Transcoding Profile
curl --request POST \
--url https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
"{\n \"name\": \"Vidinfra Ultra Secure Profile\",\n \"description\": \"4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.\",\n \"transcoding\": {\n \"format\": [\n \"abr\"\n ],\n \"resolutions\": [\n \"144p\",\n \"240p\",\n \"360p\",\n \"480p\",\n \"720p\",\n \"1080p\",\n \"1440p\",\n \"2160p\"\n ],\n \"video_codec\": [\n \"h264\"\n ],\n \"per_title_encoding\": true, // default true\n \"image_overlay\": {\n \"url\": \"https://cdn.vidinfra.com/watermark.png\",\n \"position\": \"bottom-right\",\n \"opacity\": 0.8,\n \"size\": {\n \"width\": 100,\n \"height\": 60\n },\n \"margin\": {\n \"x\": 100,\n \"y\": 60\n }\n },\n \"thumbnail\": { // default\n \"mode\": \"auto\",\n \"format\": \"jpg\",\n \"count\": 6,\n \"spritesheet\": true\n },\n \"generate_subtitles\": {\n \"audio_language\": \"en\",\n \"subtitle_languages\": [\n \"es\",\n \"fr\"\n ]\n },\n \"drm\": {\n \"enabled\": true,\n \"widevine\": {\n \"signing_secret\": \"YOUR_SECURE_PROXY_SECRET\",\n \"license_proxy_url\": \"https://widevine.yourdomain.com/licence/\"\n },\n \"fairplay\": {\n \"license_url\": \"https://license.fairplay.vidinfra.com\",\n \"certificate_url\": \"https://yourdomain.com/fairplay.cer\",\n \"application_service_key\": \"YOUR_APPLE_SERVICE_KEY\",\n \"private_key_passphrase\": \"YOUR_PRIVATE_KEY_PASSPHRASE\"\n }\n },\n \"basic_drm\": true,\n \"mp4_access\": false,\n \"keep_original\": false\n }\n}"
'import requests
url = "https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles"
payload = "{
\"name\": \"Vidinfra Ultra Secure Profile\",
\"description\": \"4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.\",
\"transcoding\": {
\"format\": [
\"abr\"
],
\"resolutions\": [
\"144p\",
\"240p\",
\"360p\",
\"480p\",
\"720p\",
\"1080p\",
\"1440p\",
\"2160p\"
],
\"video_codec\": [
\"h264\"
],
\"per_title_encoding\": true, // default true
\"image_overlay\": {
\"url\": \"https://cdn.vidinfra.com/watermark.png\",
\"position\": \"bottom-right\",
\"opacity\": 0.8,
\"size\": {
\"width\": 100,
\"height\": 60
},
\"margin\": {
\"x\": 100,
\"y\": 60
}
},
\"thumbnail\": { // default
\"mode\": \"auto\",
\"format\": \"jpg\",
\"count\": 6,
\"spritesheet\": true
},
\"generate_subtitles\": {
\"audio_language\": \"en\",
\"subtitle_languages\": [
\"es\",
\"fr\"
]
},
\"drm\": {
\"enabled\": true,
\"widevine\": {
\"signing_secret\": \"YOUR_SECURE_PROXY_SECRET\",
\"license_proxy_url\": \"https://widevine.yourdomain.com/licence/\"
},
\"fairplay\": {
\"license_url\": \"https://license.fairplay.vidinfra.com\",
\"certificate_url\": \"https://yourdomain.com/fairplay.cer\",
\"application_service_key\": \"YOUR_APPLE_SERVICE_KEY\",
\"private_key_passphrase\": \"YOUR_PRIVATE_KEY_PASSPHRASE\"
}
},
\"basic_drm\": true,
\"mp4_access\": false,
\"keep_original\": false
}
}"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify('{\n "name": "Vidinfra Ultra Secure Profile",\n "description": "4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.",\n "transcoding": {\n "format": [\n "abr"\n ],\n "resolutions": [\n "144p",\n "240p",\n "360p",\n "480p",\n "720p",\n "1080p",\n "1440p",\n "2160p"\n ],\n "video_codec": [\n "h264"\n ],\n "per_title_encoding": true, // default true\n "image_overlay": {\n "url": "https://cdn.vidinfra.com/watermark.png",\n "position": "bottom-right",\n "opacity": 0.8,\n "size": {\n "width": 100,\n "height": 60\n },\n "margin": {\n "x": 100,\n "y": 60\n }\n },\n "thumbnail": { // default\n "mode": "auto",\n "format": "jpg",\n "count": 6,\n "spritesheet": true\n },\n "generate_subtitles": {\n "audio_language": "en",\n "subtitle_languages": [\n "es",\n "fr"\n ]\n },\n "drm": {\n "enabled": true,\n "widevine": {\n "signing_secret": "YOUR_SECURE_PROXY_SECRET",\n "license_proxy_url": "https://widevine.yourdomain.com/licence/"\n },\n "fairplay": {\n "license_url": "https://license.fairplay.vidinfra.com",\n "certificate_url": "https://yourdomain.com/fairplay.cer",\n "application_service_key": "YOUR_APPLE_SERVICE_KEY",\n "private_key_passphrase": "YOUR_PRIVATE_KEY_PASSPHRASE"\n }\n },\n "basic_drm": true,\n "mp4_access": false,\n "keep_original": false\n }\n}')
};
fetch('https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles"
payload := strings.NewReader("\"{\\n \\\"name\\\": \\\"Vidinfra Ultra Secure Profile\\\",\\n \\\"description\\\": \\\"4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.\\\",\\n \\\"transcoding\\\": {\\n \\\"format\\\": [\\n \\\"abr\\\"\\n ],\\n \\\"resolutions\\\": [\\n \\\"144p\\\",\\n \\\"240p\\\",\\n \\\"360p\\\",\\n \\\"480p\\\",\\n \\\"720p\\\",\\n \\\"1080p\\\",\\n \\\"1440p\\\",\\n \\\"2160p\\\"\\n ],\\n \\\"video_codec\\\": [\\n \\\"h264\\\"\\n ],\\n \\\"per_title_encoding\\\": true, // default true\\n \\\"image_overlay\\\": {\\n \\\"url\\\": \\\"https://cdn.vidinfra.com/watermark.png\\\",\\n \\\"position\\\": \\\"bottom-right\\\",\\n \\\"opacity\\\": 0.8,\\n \\\"size\\\": {\\n \\\"width\\\": 100,\\n \\\"height\\\": 60\\n },\\n \\\"margin\\\": {\\n \\\"x\\\": 100,\\n \\\"y\\\": 60\\n }\\n },\\n \\\"thumbnail\\\": { // default\\n \\\"mode\\\": \\\"auto\\\",\\n \\\"format\\\": \\\"jpg\\\",\\n \\\"count\\\": 6,\\n \\\"spritesheet\\\": true\\n },\\n \\\"generate_subtitles\\\": {\\n \\\"audio_language\\\": \\\"en\\\",\\n \\\"subtitle_languages\\\": [\\n \\\"es\\\",\\n \\\"fr\\\"\\n ]\\n },\\n \\\"drm\\\": {\\n \\\"enabled\\\": true,\\n \\\"widevine\\\": {\\n \\\"signing_secret\\\": \\\"YOUR_SECURE_PROXY_SECRET\\\",\\n \\\"license_proxy_url\\\": \\\"https://widevine.yourdomain.com/licence/\\\"\\n },\\n \\\"fairplay\\\": {\\n \\\"license_url\\\": \\\"https://license.fairplay.vidinfra.com\\\",\\n \\\"certificate_url\\\": \\\"https://yourdomain.com/fairplay.cer\\\",\\n \\\"application_service_key\\\": \\\"YOUR_APPLE_SERVICE_KEY\\\",\\n \\\"private_key_passphrase\\\": \\\"YOUR_PRIVATE_KEY_PASSPHRASE\\\"\\n }\\n },\\n \\\"basic_drm\\\": true,\\n \\\"mp4_access\\\": false,\\n \\\"keep_original\\\": false\\n }\\n}\"")
req, _ := http.NewRequest("POST", 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))
}require 'uri'
require 'net/http'
url = URI("https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "\"{\\n \\\"name\\\": \\\"Vidinfra Ultra Secure Profile\\\",\\n \\\"description\\\": \\\"4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.\\\",\\n \\\"transcoding\\\": {\\n \\\"format\\\": [\\n \\\"abr\\\"\\n ],\\n \\\"resolutions\\\": [\\n \\\"144p\\\",\\n \\\"240p\\\",\\n \\\"360p\\\",\\n \\\"480p\\\",\\n \\\"720p\\\",\\n \\\"1080p\\\",\\n \\\"1440p\\\",\\n \\\"2160p\\\"\\n ],\\n \\\"video_codec\\\": [\\n \\\"h264\\\"\\n ],\\n \\\"per_title_encoding\\\": true, // default true\\n \\\"image_overlay\\\": {\\n \\\"url\\\": \\\"https://cdn.vidinfra.com/watermark.png\\\",\\n \\\"position\\\": \\\"bottom-right\\\",\\n \\\"opacity\\\": 0.8,\\n \\\"size\\\": {\\n \\\"width\\\": 100,\\n \\\"height\\\": 60\\n },\\n \\\"margin\\\": {\\n \\\"x\\\": 100,\\n \\\"y\\\": 60\\n }\\n },\\n \\\"thumbnail\\\": { // default\\n \\\"mode\\\": \\\"auto\\\",\\n \\\"format\\\": \\\"jpg\\\",\\n \\\"count\\\": 6,\\n \\\"spritesheet\\\": true\\n },\\n \\\"generate_subtitles\\\": {\\n \\\"audio_language\\\": \\\"en\\\",\\n \\\"subtitle_languages\\\": [\\n \\\"es\\\",\\n \\\"fr\\\"\\n ]\\n },\\n \\\"drm\\\": {\\n \\\"enabled\\\": true,\\n \\\"widevine\\\": {\\n \\\"signing_secret\\\": \\\"YOUR_SECURE_PROXY_SECRET\\\",\\n \\\"license_proxy_url\\\": \\\"https://widevine.yourdomain.com/licence/\\\"\\n },\\n \\\"fairplay\\\": {\\n \\\"license_url\\\": \\\"https://license.fairplay.vidinfra.com\\\",\\n \\\"certificate_url\\\": \\\"https://yourdomain.com/fairplay.cer\\\",\\n \\\"application_service_key\\\": \\\"YOUR_APPLE_SERVICE_KEY\\\",\\n \\\"private_key_passphrase\\\": \\\"YOUR_PRIVATE_KEY_PASSPHRASE\\\"\\n }\\n },\\n \\\"basic_drm\\\": true,\\n \\\"mp4_access\\\": false,\\n \\\"keep_original\\\": false\\n }\\n}\""
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.post("https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("\"{\\n \\\"name\\\": \\\"Vidinfra Ultra Secure Profile\\\",\\n \\\"description\\\": \\\"4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.\\\",\\n \\\"transcoding\\\": {\\n \\\"format\\\": [\\n \\\"abr\\\"\\n ],\\n \\\"resolutions\\\": [\\n \\\"144p\\\",\\n \\\"240p\\\",\\n \\\"360p\\\",\\n \\\"480p\\\",\\n \\\"720p\\\",\\n \\\"1080p\\\",\\n \\\"1440p\\\",\\n \\\"2160p\\\"\\n ],\\n \\\"video_codec\\\": [\\n \\\"h264\\\"\\n ],\\n \\\"per_title_encoding\\\": true, // default true\\n \\\"image_overlay\\\": {\\n \\\"url\\\": \\\"https://cdn.vidinfra.com/watermark.png\\\",\\n \\\"position\\\": \\\"bottom-right\\\",\\n \\\"opacity\\\": 0.8,\\n \\\"size\\\": {\\n \\\"width\\\": 100,\\n \\\"height\\\": 60\\n },\\n \\\"margin\\\": {\\n \\\"x\\\": 100,\\n \\\"y\\\": 60\\n }\\n },\\n \\\"thumbnail\\\": { // default\\n \\\"mode\\\": \\\"auto\\\",\\n \\\"format\\\": \\\"jpg\\\",\\n \\\"count\\\": 6,\\n \\\"spritesheet\\\": true\\n },\\n \\\"generate_subtitles\\\": {\\n \\\"audio_language\\\": \\\"en\\\",\\n \\\"subtitle_languages\\\": [\\n \\\"es\\\",\\n \\\"fr\\\"\\n ]\\n },\\n \\\"drm\\\": {\\n \\\"enabled\\\": true,\\n \\\"widevine\\\": {\\n \\\"signing_secret\\\": \\\"YOUR_SECURE_PROXY_SECRET\\\",\\n \\\"license_proxy_url\\\": \\\"https://widevine.yourdomain.com/licence/\\\"\\n },\\n \\\"fairplay\\\": {\\n \\\"license_url\\\": \\\"https://license.fairplay.vidinfra.com\\\",\\n \\\"certificate_url\\\": \\\"https://yourdomain.com/fairplay.cer\\\",\\n \\\"application_service_key\\\": \\\"YOUR_APPLE_SERVICE_KEY\\\",\\n \\\"private_key_passphrase\\\": \\\"YOUR_PRIVATE_KEY_PASSPHRASE\\\"\\n }\\n },\\n \\\"basic_drm\\\": true,\\n \\\"mp4_access\\\": false,\\n \\\"keep_original\\\": false\\n }\\n}\"")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("\"{\\n \\\"name\\\": \\\"Vidinfra Ultra Secure Profile\\\",\\n \\\"description\\\": \\\"4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.\\\",\\n \\\"transcoding\\\": {\\n \\\"format\\\": [\\n \\\"abr\\\"\\n ],\\n \\\"resolutions\\\": [\\n \\\"144p\\\",\\n \\\"240p\\\",\\n \\\"360p\\\",\\n \\\"480p\\\",\\n \\\"720p\\\",\\n \\\"1080p\\\",\\n \\\"1440p\\\",\\n \\\"2160p\\\"\\n ],\\n \\\"video_codec\\\": [\\n \\\"h264\\\"\\n ],\\n \\\"per_title_encoding\\\": true, // default true\\n \\\"image_overlay\\\": {\\n \\\"url\\\": \\\"https://cdn.vidinfra.com/watermark.png\\\",\\n \\\"position\\\": \\\"bottom-right\\\",\\n \\\"opacity\\\": 0.8,\\n \\\"size\\\": {\\n \\\"width\\\": 100,\\n \\\"height\\\": 60\\n },\\n \\\"margin\\\": {\\n \\\"x\\\": 100,\\n \\\"y\\\": 60\\n }\\n },\\n \\\"thumbnail\\\": { // default\\n \\\"mode\\\": \\\"auto\\\",\\n \\\"format\\\": \\\"jpg\\\",\\n \\\"count\\\": 6,\\n \\\"spritesheet\\\": true\\n },\\n \\\"generate_subtitles\\\": {\\n \\\"audio_language\\\": \\\"en\\\",\\n \\\"subtitle_languages\\\": [\\n \\\"es\\\",\\n \\\"fr\\\"\\n ]\\n },\\n \\\"drm\\\": {\\n \\\"enabled\\\": true,\\n \\\"widevine\\\": {\\n \\\"signing_secret\\\": \\\"YOUR_SECURE_PROXY_SECRET\\\",\\n \\\"license_proxy_url\\\": \\\"https://widevine.yourdomain.com/licence/\\\"\\n },\\n \\\"fairplay\\\": {\\n \\\"license_url\\\": \\\"https://license.fairplay.vidinfra.com\\\",\\n \\\"certificate_url\\\": \\\"https://yourdomain.com/fairplay.cer\\\",\\n \\\"application_service_key\\\": \\\"YOUR_APPLE_SERVICE_KEY\\\",\\n \\\"private_key_passphrase\\\": \\\"YOUR_PRIVATE_KEY_PASSPHRASE\\\"\\n }\\n },\\n \\\"basic_drm\\\": true,\\n \\\"mp4_access\\\": false,\\n \\\"keep_original\\\": false\\n }\\n}\"", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/transcoding/profiles",
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('{
"name": "Vidinfra Ultra Secure Profile",
"description": "4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.",
"transcoding": {
"format": [
"abr"
],
"resolutions": [
"144p",
"240p",
"360p",
"480p",
"720p",
"1080p",
"1440p",
"2160p"
],
"video_codec": [
"h264"
],
"per_title_encoding": true, // default true
"image_overlay": {
"url": "https://cdn.vidinfra.com/watermark.png",
"position": "bottom-right",
"opacity": 0.8,
"size": {
"width": 100,
"height": 60
},
"margin": {
"x": 100,
"y": 60
}
},
"thumbnail": { // default
"mode": "auto",
"format": "jpg",
"count": 6,
"spritesheet": true
},
"generate_subtitles": {
"audio_language": "en",
"subtitle_languages": [
"es",
"fr"
]
},
"drm": {
"enabled": true,
"widevine": {
"signing_secret": "YOUR_SECURE_PROXY_SECRET",
"license_proxy_url": "https://widevine.yourdomain.com/licence/"
},
"fairplay": {
"license_url": "https://license.fairplay.vidinfra.com",
"certificate_url": "https://yourdomain.com/fairplay.cer",
"application_service_key": "YOUR_APPLE_SERVICE_KEY",
"private_key_passphrase": "YOUR_PRIVATE_KEY_PASSPHRASE"
}
},
"basic_drm": true,
"mp4_access": false,
"keep_original": false
}
}'),
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;
}{
"data": {
"updated_at": "2025-10-16T10:20:10.613203744+06:00",
"created_at": "2025-10-16T10:20:10.613203744+06:00",
"created_by": "2fa3fe27-ffcd-470b-becf-83f6f22a93ab",
"updated_by": null,
"deleted_at": null,
"name": "Vidinfra Ultra Secure Profile",
"description": "4K adaptive bitrate profile with AES encryption, DRM, watermark, and subtitle generation.",
"transcoding": {
"drm": {
"widevine": {
"signing_secret": "YOUR_SECURE_PROXY_SECRET",
"license_proxy_url": "https://widevine.yourdomain.com/licence/"
},
"fairplay": {
"license_url": "https://license.fairplay.vidinfra.com",
"certificate_url": "https://yourdomain.com/fairplay.cer",
"application_service_key": "YOUR_APPLE_SERVICE_KEY",
"private_key_passphrase": "YOUR_PRIVATE_KEY_PASSPHRASE"
},
"enabled": true
},
"format": [
"abr"
],
"generate_subtitles": {
"audio_language": "en",
"subtitle_languages": [
"es",
"fr"
]
},
"resolutions": [
"144p",
"240p",
"360p",
"480p",
"720p",
"1080p",
"1440p",
"2160p"
],
"video_codec": [
"h264"
],
"thumbnail": {
"mode": "auto",
"format": "jpg",
"count": 6,
"spritesheet": true
},
"image_overlay": {
"url": "https://cdn.vidinfra.com/watermark.png",
"position": "bottom-right",
"opacity": 0.8,
"size": {
"width": 100,
"height": 60
},
"margin": {
"x": 100,
"y": 60
}
},
"per_title_encoding": true,
"basic_drm": true,
"mp4_access": false,
"keep_original": false
},
"id": "1e293fc8-63a4-449d-aae2-dd460a025b45",
"organization_id": "677826f5-1aea-4cba-8973-043cdbc60f35",
"library_id": "3b06c833-b73c-43c3-8794-a123a0a6ef1d",
"is_default": false
},
"message": "Library Created Successfully",
"success": true
}{
"message": "Invalid Request",
"success": false
}{
"code": "auth_type_not_found",
"message": "Could not determine authentication type from request. Please provide a valid Authorization header or X-API-Key header.",
"success": false
}{
"message": "Resource not found",
"success": false
}{
"message": "Invalid Request",
"errors": [
{
"field": "field_name",
"code": "validation_required",
"message": "This field is required"
}
],
"success": false
}{
"message": "Internal server error",
"success": false
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Unique identifier of the library.
Body
application/json
⌘I