Clips
Get Clip
GET /api/clips/:id - Get full details of a specific clip.
GET /api/clips/{id}
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | The clip ID |
Example
curl https://api.scalereach.ai/api/clips/clip_abc123 \
-H "Authorization: Bearer sr_live_YOUR_KEY"Response 200
{
"id": "clip_abc123",
"videoId": "UThwmCZb75JYZi4UP9rOX",
"title": "The moment Steve Jobs changed everything",
"startTime": 245,
"endTime": 302,
"duration": 57,
"score": 92,
"viralityReason": "Strong emotional hook with unexpected twist",
"transcript": "And that's when I realized...",
"downloadUrl": "https://cdn.scalereach.ai/clips/clip_abc123.mp4?signature=...",
"thumbnailUrl": "https://cdn.scalereach.ai/thumbs/clip_abc123.jpg?signature=...",
"status": "completed",
"aspectRatio": "9:16",
"favorited": false,
"createdAt": "2026-04-03T09:45:12.000Z"
}Response fields
| Field | Type | Description |
|---|---|---|
id | string | The clip ID. |
videoId | string | The source video this clip was cut from. |
title | string | A generated title describing the moment. |
startTime, endTime | number | Where the clip sits in the source video, in seconds. |
duration | number | Clip length in seconds. |
score | number | The virality score from 0 to 100. Higher means a stronger hook and pacing. |
viralityReason | string | A short explanation of why the moment scored the way it did. |
transcript | string | The words spoken in the clip. |
downloadUrl | string or null | A signed link to the rendered video. null until the clip has been generated. |
thumbnailUrl | string | A signed link to the thumbnail when one exists. |
status | string | The clip's generation status. Wait for completed before downloading. |
aspectRatio | string | The export shape, such as 9:16, 16:9 or 1:1. |
favorited | boolean | Whether the clip is starred in the dashboard. |
createdAt | string | ISO 8601 creation time. |
Signed links expire after one hour
downloadUrl and the signed thumbnailUrl are valid for one hour. Do not store them. Call this endpoint again whenever you need a fresh link, and download the file straight away. A request for a link that has expired returns an access error from the storage server, not from the ScaleReach API.
Errors
| Status | When it happens |
|---|---|
401 | The API key is missing, invalid or expired. |
404 | The clip does not exist, or it belongs to a video in a different workspace than your API key. ScaleReach answers 404 for both so that clip IDs from other workspaces are not revealed. |
500 | The clip could not be loaded. Retry the request. |
Download a clip with Python
import requests, os
headers = {"Authorization": f"Bearer {os.environ['SCALEREACH_API_KEY']}"}
clip = requests.get("https://api.scalereach.ai/api/clips/clip_abc123", headers=headers).json()
if clip["downloadUrl"] is None:
raise SystemExit(f'Clip is not ready yet (status: {clip["status"]})')
with requests.get(clip["downloadUrl"], stream=True) as r:
r.raise_for_status()
with open(f'{clip["id"]}.mp4', "wb") as f:
for chunk in r.iter_content(chunk_size=1 << 20):
f.write(chunk)Do not send the Authorization header to downloadUrl. The signature in the link is the credential, and the storage server does not expect a ScaleReach key.