---
title: "Get Source Video"
method: GET
path: "/api/source/{job_id}"
---

# Get Source Video

`GET /api/source/{job_id}`

Stream a job's original source video for the live-analysis preview and
the clip editor's source monitor.

Uploaded sources are blob URLs in the browser and don't survive a reload,
so the recovered session points the preview here instead.

This one endpoint serves the untouched original, which for a URL job is the
file we downloaded. Left open it is a public downloader wearing a UUID, so
a cloud job with an owner needs either a signed URL from /api/source-url or
a bearer token on the request. Self-host and ownerless BYOK jobs are
unchanged: there is no owner to check and no secret to sign with.

## Path parameters

- `job_id` string, required

## Query parameters

- `exp` integer
- `sig` string

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/openshorts/apis/fastapi.md) · [All operations](https://skmtc.dev/openshorts/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openshorts/fastapi/revisions/8085a0ce516b/schema)
