List generated clips
curl --request GET \
--url https://api.cut.pro/api/v1/clips/{videoId}/submissions/{submissionId}/clips \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.cut.pro/api/v1/clips/{videoId}/submissions/{submissionId}/clips"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://api.cut.pro/api/v1/clips/{videoId}/submissions/{submissionId}/clips', 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://api.cut.pro/api/v1/clips/{videoId}/submissions/{submissionId}/clips",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$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://api.cut.pro/api/v1/clips/{videoId}/submissions/{submissionId}/clips"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.cut.pro/api/v1/clips/{videoId}/submissions/{submissionId}/clips")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cut.pro/api/v1/clips/{videoId}/submissions/{submissionId}/clips")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"clips": [
{
"id": "<string>",
"title": "<string>",
"description": "<string>",
"rating": 123,
"start_time": 123,
"end_time": 123,
"language": "<string>",
"created_at": "<string>",
"thumbnail_url": "<string>",
"download_url": "<string>",
"play_url": "<string>",
"has_template_applied": true
}
],
"pagination": {
"current_page": 123,
"total_pages": 123,
"total_count": 123,
"has_next_page": true,
"has_previous_page": true,
"limit": 123
}
}{
"code": "SUBMISSION_NOT_FOUND"
}{
"code": "SUBMISSION_EXPIRED"
}Clipes
List generated clips
Returns the AI-generated highlight clips produced by a completed submission. Each clip includes its timestamp range within the source video, an AI relevance score, and signed URLs for streaming and downloading.
Sort by rating (default) to surface the most impactful clips first. Download and play URLs are time-limited signed URLs — fetch them fresh when needed rather than caching them long-term.
Returns 410 if the submission has expired. Re-submit the video to generate new clips.
GET
/
clips
/
{videoId}
/
submissions
/
{submissionId}
/
clips
List generated clips
curl --request GET \
--url https://api.cut.pro/api/v1/clips/{videoId}/submissions/{submissionId}/clips \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.cut.pro/api/v1/clips/{videoId}/submissions/{submissionId}/clips"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://api.cut.pro/api/v1/clips/{videoId}/submissions/{submissionId}/clips', 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://api.cut.pro/api/v1/clips/{videoId}/submissions/{submissionId}/clips",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$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://api.cut.pro/api/v1/clips/{videoId}/submissions/{submissionId}/clips"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.cut.pro/api/v1/clips/{videoId}/submissions/{submissionId}/clips")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cut.pro/api/v1/clips/{videoId}/submissions/{submissionId}/clips")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"clips": [
{
"id": "<string>",
"title": "<string>",
"description": "<string>",
"rating": 123,
"start_time": 123,
"end_time": 123,
"language": "<string>",
"created_at": "<string>",
"thumbnail_url": "<string>",
"download_url": "<string>",
"play_url": "<string>",
"has_template_applied": true
}
],
"pagination": {
"current_page": 123,
"total_pages": 123,
"total_count": 123,
"has_next_page": true,
"has_previous_page": true,
"limit": 123
}
}{
"code": "SUBMISSION_NOT_FOUND"
}{
"code": "SUBMISSION_EXPIRED"
}Autorizações
Parâmetros de consulta
Page number (default: 1)
Intervalo obrigatório:
x >= 1Items per page (default: 20, max: 100)
Intervalo obrigatório:
1 <= x <= 100Opções disponíveis:
rating, duration, title, start_time Opções disponíveis:
asc, desc Only return clips with rating ≥ this value (0–10)
Intervalo obrigatório:
0 <= x <= 10Only return clips with rating ≤ this value (0–10)
Intervalo obrigatório:
0 <= x <= 10Última modificação em 23 de agosto de 2026
Esta página foi útil?