GET
/
v1
/
videos
/
{job_id}
Get a video
curl --request GET \
  --url https://platform.jobbit.uk/v1/videos/{job_id} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://platform.jobbit.uk/v1/videos/{job_id}"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://platform.jobbit.uk/v1/videos/{job_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://platform.jobbit.uk/v1/videos/{job_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://platform.jobbit.uk/v1/videos/{job_id}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://platform.jobbit.uk/v1/videos/{job_id}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://platform.jobbit.uk/v1/videos/{job_id}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "id": "vid_01JC8Z4Q7M2N5R6T8V0X",
  "object": "video",
  "model": "google/veo-3.1",
  "status": "completed",
  "created_at": "2026-11-05T17:02:11Z",
  "completed_at": "2026-11-05T17:05:40Z",
  "outputs": 1,
  "held_credits": 520,
  "credits_charged": 388
}
{
"error": {
"code": "invalid_key",
"message": "the API key is missing or invalid",
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}
{
"error": {
"code": "insufficient_scope",
"message": "this key does not have the deploy:write permission",
"details": {
"required": "deploy:write"
},
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}
{
"error": {
"code": "not_found",
"message": "not found",
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}
{
"error": {
"code": "invalid_request",
"message": "the request is not valid",
"details": [
{
"location": [
"body",
"name"
],
"message": "String should match pattern '^[a-z0-9][a-z0-9-]*$'",
"type": "string_pattern_mismatch"
}
],
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}
{
"error": {
"code": "rate_limited",
"message": "too many read requests, retry in 4 s",
"details": {
"group": "read",
"limit": 120,
"window_seconds": 60
},
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}

Authorizations

Authorization
string
header
required

An API key from Settings → API keys, sent as Authorization: Bearer jb_live_…

Path Parameters

job_id
string
required

The job id returned when the video was started.

Required string length: 1 - 200
Pattern: ^[A-Za-z0-9_.:-]+$

Response

The job.

id
string
required

The job id. Use it with the other video routes.

object
string
required

Always video.

model
string
required

The model used.

status
string
required

pending and in_progress while it runs; completed, failed, cancelled or expired when it is over.

held_credits
number
required

Credits held when the job started: the dearest the clip could cost.

created_at
string

When the provider created the job.

completed_at
string

When the job finished.

error
string

Why it failed, if it did.

outputs
integer

How many clips the job made, once known. Download them with index 0 to 8.

credits_charged
number

Credits actually charged. Present once the job has finished; the hold beyond it is released.