Skip to main content
GET
/
automation
/
get-clip-details
Get Clip Details
curl --request GET \
  --url https://public.reap.video/api/v1/automation/get-clip-details \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://public.reap.video/api/v1/automation/get-clip-details"

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

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

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

fetch('https://public.reap.video/api/v1/automation/get-clip-details', 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://public.reap.video/api/v1/automation/get-clip-details",
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://public.reap.video/api/v1/automation/get-clip-details"

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://public.reap.video/api/v1/automation/get-clip-details")
.header("Authorization", "Bearer <token>")
.asString();
{
  "id": "<string>",
  "projectId": "<string>",
  "clipUrl": "<string>",
  "clipWithCaptionsUrl": "<string>",
  "startTime": 123,
  "endTime": 123,
  "duration": 123,
  "topic": "<string>",
  "title": "<string>",
  "caption": "<string>",
  "language": "<string>",
  "translateTranscription": true,
  "translationLanguages": [
    "<string>"
  ],
  "transcriptionScript": "native",
  "viralityScore": 123,
  "reframeClips": true,
  "exportResolution": 123,
  "captionsPreset": "<string>",
  "enableCaptions": true,
  "enableEmojis": true,
  "enableHighlights": true,
  "metadata": {
    "width": 123,
    "height": 123,
    "aspectRatio": "<string>",
    "size": 123,
    "bitrate": 123,
    "fps": 123,
    "duration": 123,
    "rotation": 123,
    "resolution": 123,
    "codec": "<string>",
    "codecFullName": "<string>",
    "codecTag": "<string>",
    "format": "<string>",
    "formatFullName": "<string>"
  },
  "createdAt": 123,
  "updatedAt": 123
}
For AI agents: a documentation index is at /llms.txt. Every page is also available as markdown, just append .md to the URL.

Overview

Get detailed information about a specific clip, including its download URL, AI-generated metadata, virality score, and export settings.

Rate Limiting

This endpoint is rate limited to 10 requests per minute per API key.

Response

id
string
Unique identifier for the clip
projectId
string
ID of the parent project
clipUrl
string
Direct download URL for the final clip (includes captions if enabled)
clipWithCaptionsUrl
string
Deprecated. Use clipUrl instead, which now includes captions when enabled.
startTime
number
Start time of the clip in the original video (seconds)
endTime
number
End time of the clip in the original video (seconds)
duration
number
Duration of the clip in seconds
topic
string
Primary topic or theme of the clip
title
string
AI-generated title for the clip
caption
string
AI-generated caption/description for the clip
language
string
Language of the clip content
translateTranscription
boolean
Whether transcription is translated
translationLanguages
array
Array of languages for translation
dubbingLanguage
string
Target dubbing language (for dubbing projects)
transcriptionScript
string
Script format for transcription (“native” or “roman”)
viralityScore
number
AI-predicted virality score (0-10, higher is better)
reframeClips
boolean
Whether this clip is reframed
exportResolution
integer
Resolution of the exported clip
exportOrientation
string
Orientation of the exported clip (“landscape”, “portrait”, “square”)
captionsPreset
string
Caption style preset used for this clip
enableCaptions
boolean
Whether captions are enabled for this clip
enableEmojis
boolean
Whether emojis are added to captions
enableHighlights
boolean
Whether keyword highlighting is enabled
metadata
object
Clip metadata including technical details
createdAt
integer
Unix timestamp when the clip was created
updatedAt
integer
Unix timestamp when the clip was last updated

Example Request

curl -X GET "https://public.reap.video/api/v1/automation/get-clip-details?projectId=65f1a2b3c4d5e6f7a8b9c0d2&clipId=65f1a2b3c4d5e6f7a8b9c0d4" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
const projectId = '65f1a2b3c4d5e6f7a8b9c0d2';
const clipId = '65f1a2b3c4d5e6f7a8b9c0d4';
const response = await fetch(`https://public.reap.video/api/v1/automation/get-clip-details?projectId=${projectId}&clipId=${clipId}`, {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
});

const clip = await response.json();
console.log(`${clip.title} (Score: ${clip.viralityScore})`);
import requests

headers = {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
}

project_id = '65f1a2b3c4d5e6f7a8b9c0d2'
clip_id = '65f1a2b3c4d5e6f7a8b9c0d4'
response = requests.get(
    f'https://public.reap.video/api/v1/automation/get-clip-details?projectId={project_id}&clipId={clip_id}',
    headers=headers
)

clip = response.json()
print(f"{clip['title']} (Score: {clip['viralityScore']})")
<?php
$projectId = '65f1a2b3c4d5e6f7a8b9c0d2';
$clipId = '65f1a2b3c4d5e6f7a8b9c0d4';
$url = 'https://public.reap.video/api/v1/automation/get-clip-details?projectId=' . $projectId . '&clipId=' . $clipId;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_API_KEY',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$clip = json_decode($response, true);
echo $clip['title'] . ' (Score: ' . $clip['viralityScore'] . ")\n";
?>
package main
import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
)
type Clip struct {
    Title         string  `json:"title"`
    ViralityScore float64 `json:"viralityScore"`
}
func main() {
    projectId := "65f1a2b3c4d5e6f7a8b9c0d2"
    clipId := "65f1a2b3c4d5e6f7a8b9c0d4"
    url := fmt.Sprintf("https://public.reap.video/api/v1/automation/get-clip-details?projectId=%s&clipId=%s", projectId, clipId)
    req, _ := http.NewRequest("GET", url, nil)
    req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")
    client := &http.Client{}
    resp, _ := client.Do(req)
    defer resp.Body.Close()
    body, _ := ioutil.ReadAll(resp.Body)
    var clip Clip
    json.Unmarshal(body, &clip)
    fmt.Printf("%s (Score: %.1f)\n", clip.Title, clip.ViralityScore)
}
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
public class GetClipDetailsExample {
    public static void main(String[] args) throws Exception {
        String projectId = "65f1a2b3c4d5e6f7a8b9c0d2";
        String clipId = "65f1a2b3c4d5e6f7a8b9c0d4";
        URL url = new URL("https://public.reap.video/api/v1/automation/get-clip-details?projectId=" + projectId + "&clipId=" + clipId);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Authorization", "Bearer YOUR_API_KEY");
        conn.setRequestProperty("Content-Type", "application/json");
        BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
        StringBuilder response = new StringBuilder();
        String responseLine;
        while ((responseLine = br.readLine()) != null) {
            response.append(responseLine.trim());
        }
        System.out.println(response.toString());
    }
}

Example Response

Authorizations

Authorization
string
header
required

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

Query Parameters

projectId
string
required

Unique identifier of the project

clipId
string
required

Unique identifier of the clip

Response

200 - application/json

Successful response

id
string
projectId
string
clipUrl
string | null

Direct download URL for the final clip (includes captions if enabled)

clipWithCaptionsUrl
string | null
deprecated

Deprecated. Use clipUrl instead.

startTime
number
endTime
number
duration
number
topic
string | null
title
string | null
caption
string | null
language
string | null
translateTranscription
boolean
translationLanguages
string[]
transcriptionScript
enum<string>
default:native
Available options:
native,
roman
viralityScore
number | null
reframeClips
boolean
exportResolution
integer
exportOrientation
enum<string>
Available options:
landscape,
portrait,
square
captionsPreset
string | null
enableCaptions
boolean
enableEmojis
boolean
enableHighlights
boolean
metadata
object
createdAt
integer
updatedAt
integer