Skip to main content
POST
/
libraries
/
{libraryId}
/
videos
/
pull
Pull Video
curl --request POST \
  --url https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/videos/pull \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "url": "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"
}
'
import requests

url = "https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/videos/pull"

payload = { "url": "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" }
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({
url: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4'
})
};

fetch('https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/videos/pull', 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}/videos/pull"

payload := strings.NewReader("{\n \"url\": \"https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4\"\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}/videos/pull")

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 \"url\": \"https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4\"\n}"

response = http.request(request)
puts response.read_body
HttpResponse<String> response = Unirest.post("https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/videos/pull")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4\"\n}")
.asString();
using RestSharp;


var options = new RestClientOptions("https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/videos/pull");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"url\": \"https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4\"\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}/videos/pull",
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([
'url' => 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4'
]),
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-11-10T14:51:04.93815986+06:00",
    "created_at": "2025-11-09T11:38:37.855064+06:00",
    "assets": {
      "thumbnails": {
        "preview_url": "https://example.com/44802b1a-cadf-40d0-92a8-24de96382402/preview.webp",
        "sprite_vtt_url": "https://example.com/44802b1a-cadf-40d0-92a8-24de96382402/sprite.vtt",
        "default_url": "https://example.com/44802b1a-cadf-40d0-92a8-24de96382402/thumbnail.jpg",
        "urls": [
          "https://example.com/44802b1a-cadf-40d0-92a8-24de96382402/thumbnail.jpg",
          "https://example.com/44802b1a-cadf-40d0-92a8-24de96382402/thumbnail_1.jpg",
          "https://example.com/44802b1a-cadf-40d0-92a8-24de96382402/thumbnail_2.jpg",
          "https://example.com/44802b1a-cadf-40d0-92a8-24de96382402/thumbnail_3.jpg",
          "https://example.com/44802b1a-cadf-40d0-92a8-24de96382402/thumbnail_4.jpg",
          "https://example.com/44802b1a-cadf-40d0-92a8-24de96382402/thumbnail_5.jpg"
        ]
      },
      "playback": {
        "direct_play_url": "/stream/314221a1-3cbf-4d3c-846e-f6c22bc43064/default/44802b1a-cadf-40d0-92a8-24de96382402",
        "hls_url": "https://example.com/44802b1a-cadf-40d0-92a8-24de96382402/playlist.m3u8",
        "dash_url": "https://example.com/44802b1a-cadf-40d0-92a8-24de96382402/playlist.mpd",
        "embed_url": "/stream/314221a1-3cbf-4d3c-846e-f6c22bc43064/default/44802b1a-cadf-40d0-92a8-24de96382402"
      }
    },
    "folder_id": null,
    "format": "abr",
    "status": "created",
    "description": "this is my description",
    "name": "Test video update",
    "resolutions": [
      "240p",
      "360p",
      "480p",
      "720p",
      "1080p"
    ],
    "tags": [
      "trending",
      "viral"
    ],
    "metadata": [
      {
        "key": "note",
        "value": "this value of note"
      }
    ],
    "size_bytes": 54321065,
    "raw_size_bytes": 98765465,
    "duration_seconds": 0,
    "duration": 1265,
    "organization_id": "a7f590b4-3fd7-42a4-82bb-a7cfa6aa9d04",
    "id": "44802b1a-cadf-40d0-92a8-24de96382402",
    "library_id": "314221a1-3cbf-4d3c-846e-f6c22bc43064"
  },
  "message": "Video Updated 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

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

libraryId
string
required

Unique identifier of the library.

Body

application/json
url
string
required

Source URL of the uploaded or external video file.

name
string

The title or display name of the video.

description
string

Short summary or context about the video content.

metadata
object[]

Key–value pairs containing additional information or custom attributes for the video.

tags
string[]

Optional list of tags or labels for categorizing the video.

folder_id
string

ID of the folder under which this video will be created. Use null to store it directly in the library root.

Response

data
object
required
message
string
required
success
boolean
required