Get Project Details
curl --request GET \
--url https://public.reap.video/api/v1/automation/get-project-details \
--header 'Authorization: Bearer <token>'import requests
url = "https://public.reap.video/api/v1/automation/get-project-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-project-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-project-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-project-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-project-details")
.header("Authorization", "Bearer <token>")
.asString();{
"id": "<string>",
"title": "<string>",
"thumbnail": "<string>",
"billedDuration": 123,
"status": "queued",
"projectType": "clipping",
"source": "Upload",
"genre": "talking",
"topics": [
"<string>"
],
"clipDurations": [
[
123
]
],
"selectedStart": 123,
"selectedEnd": 123,
"exportResolution": 123,
"exportOrientation": "landscape",
"captionsPreset": "<string>",
"enableCaptions": true,
"enableEmojis": true,
"enableHighlights": true,
"language": "<string>",
"dubbingLanguage": "<string>",
"translateTranscription": true,
"translationLanguages": [
"<string>"
],
"transcriptionScript": "native",
"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>"
},
"urls": {
"videoFile": "<string>",
"audioFile": "<string>",
"transcription": "<string>",
"transcription_srt": "<string>",
"transcription_vtt": "<string>",
"transcription_csv": "<string>",
"transcription_txt": "<string>"
},
"createdAt": 123,
"updatedAt": 123
}Track & Retrieve
Get Project Details
Retrieve complete details and configuration for a video project
GET
/
automation
/
get-project-details
Get Project Details
curl --request GET \
--url https://public.reap.video/api/v1/automation/get-project-details \
--header 'Authorization: Bearer <token>'import requests
url = "https://public.reap.video/api/v1/automation/get-project-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-project-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-project-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-project-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-project-details")
.header("Authorization", "Bearer <token>")
.asString();{
"id": "<string>",
"title": "<string>",
"thumbnail": "<string>",
"billedDuration": 123,
"status": "queued",
"projectType": "clipping",
"source": "Upload",
"genre": "talking",
"topics": [
"<string>"
],
"clipDurations": [
[
123
]
],
"selectedStart": 123,
"selectedEnd": 123,
"exportResolution": 123,
"exportOrientation": "landscape",
"captionsPreset": "<string>",
"enableCaptions": true,
"enableEmojis": true,
"enableHighlights": true,
"language": "<string>",
"dubbingLanguage": "<string>",
"translateTranscription": true,
"translationLanguages": [
"<string>"
],
"transcriptionScript": "native",
"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>"
},
"urls": {
"videoFile": "<string>",
"audioFile": "<string>",
"transcription": "<string>",
"transcription_srt": "<string>",
"transcription_vtt": "<string>",
"transcription_csv": "<string>",
"transcription_txt": "<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 comprehensive information about a video project, including processing configuration, metadata, and current status. This endpoint returns the full project object with all settings and URLs.Response
string
Unique project identifier
string
Project title (usually the filename or video title)
string
URL to the project thumbnail image
number
Duration in seconds that was billed to your account
string
Current processing status (“processing”, “completed”, “failed”, “cancelled”)
string
Type of project (“clipping”, “captions”, “reframe”, “dubbing”, “transcription”)
string
Source of the original video (“Youtube”, “Upload”, “Generic”)
string
Video genre for AI analysis (“talking”, “screenshare”, “gaming”)
array
Array of topic strings identified in the video
array
Array of clip duration objects with min/max values
number
Start time in seconds for processing (null if entire video)
number
End time in seconds for processing (null if entire video)
integer
Output resolution for clips (720, 1080, 1440, 2160)
string
Output orientation (“landscape”, “portrait”, “square”)
string
Caption style preset ID (null if captions disabled)
boolean
Whether captions are enabled for this project
boolean
Whether emojis are added to captions
boolean
Whether keywords are highlighted in captions
string
Primary language of the video content
string
Target language for dubbing projects
boolean
Whether transcription is translated to other languages
array
Array of language codes for translation
string
Script format for transcription (“native” or “roman”)
object
Video metadata including duration, resolution, format, etc.
object
Object containing various project URLs and assets
integer
Unix timestamp when the project was created
integer
Unix timestamp when the project was last updated
Example Request
curl -X GET "https://public.reap.video/api/v1/automation/get-project-details?projectId=65f1a2b3c4d5e6f7a8b9c0d1" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
const projectId = '65f1a2b3c4d5e6f7a8b9c0d1';
const response = await fetch(`https://public.reap.video/api/v1/automation/get-project-details?projectId=${projectId}`, {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
});
const project = await response.json();
console.log('Project:', project.title);
console.log('Status:', project.status);
import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
project_id = '65f1a2b3c4d5e6f7a8b9c0d1'
response = requests.get(
'https://public.reap.video/api/v1/automation/get-project-details',
headers=headers,
params={'projectId': project_id}
)
project = response.json()
print(f"Project: {project['title']}")
print(f"Status: {project['status']}")
<?php
$projectId = '65f1a2b3c4d5e6f7a8b9c0d1';
$url = 'https://public.reap.video/api/v1/automation/get-project-details?projectId=' . $projectId;
$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);
$project = json_decode($response, true);
echo 'Project: ' . $project['title'] . "\n";
echo 'Status: ' . $project['status'] . "\n";
?>
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
projectId := "65f1a2b3c4d5e6f7a8b9c0d1"
url := "https://public.reap.video/api/v1/automation/get-project-details?projectId=" + projectId
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)
fmt.Println(string(body))
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class GetProjectDetailsExample {
public static void main(String[] args) throws Exception {
String projectId = "65f1a2b3c4d5e6f7a8b9c0d1";
URL url = new URL("https://public.reap.video/api/v1/automation/get-project-details?projectId=" + projectId);
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()));
StringBuilder response = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
response.append(line);
}
br.close();
System.out.println(response.toString());
}
}
Example Response
Project Configuration
Clipping Projects
For clipping projects, the response includes:topics: AI-identified topics in the videoclipDurations: Preferred clip length rangesgenre: Video genre for better AI analysisexportOrientation: Output aspect ratio —portrait/squareclips are auto-cropped from the source
Caption Projects
For caption projects, the response includes:captionsPreset: Style preset for captionsenableEmojis: Whether emojis are addedenableHighlights: Whether keywords are highlightedlanguage: Primary language of the content
Reframe Projects
For reframe projects, the response includes:exportOrientation: Target orientation (portrait/square)genre: Video genre for better reframing
Transcription Projects
For transcription projects, the response includes:language: Primary language of the contenttranslateTranscription: Whether transcription is translatedtranslationLanguages: Target translation languagestranscriptionScript: Script format (“native” or “roman”)
Dubbing Projects
For dubbing projects, the response includes:language: Source language of the videodubbingLanguage: Target language for dubbingtranslateTranscription: Whether transcription is translated
URLs Object
Theurls object contains presigned URLs for the project’s assets:
string
URL of the processed source video
string
URL of the extracted audio track
string
URL of the word-level transcript JSON (the translated version when translation ran). Useful for auditing a video’s content without playback.
string
SRT subtitle file — transcription projects only
string
WebVTT subtitle file — transcription projects only
string
CSV transcript — transcription projects only
string
Plain-text transcript — transcription projects only
URLs are presigned and expire. Always use the most recent URLs from API responses. The
transcription_srt/vtt/csv/txt exports are only generated for transcription projects — other project types include just videoFile, audioFile, and transcription.Rate Limiting
This endpoint is subject to the standard rate limit of 10 requests per minute.Common Use Cases
Project Monitoring
Get detailed status and configuration information
Configuration Review
Verify project settings and parameters
Metadata Analysis
Access video metadata and processing details
Asset Management
Retrieve URLs for project assets and files
Next Steps
Based on the project details:- Completed Projects: Use Get Project Clips to retrieve clips
- Processing Projects: Monitor with Get Project Status
- Failed Projects: Review configuration and retry if needed
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Unique identifier of the project
Response
200 - application/json
Successful response
Available options:
queued, prepped, draft, processing, finalizing, completed, invalid, expired, failed, error Available options:
clipping, captions, reframe, dubbing, transcription Available options:
Upload, Youtube, Vimeo, TwitchVod, Twitter, RumbleEmbed, Generic Available options:
talking, screenshare, gaming Available options:
landscape, portrait, square Available options:
native, roman Show child attributes
Show child attributes
Presigned URLs for the project's assets. URLs expire — always use the most recent API response. The transcription_* subtitle/text exports are only present on transcription projects.
Show child attributes
Show child attributes
Was this page helpful?