AI Clipping
List AI Clipping
Returns a cursor-paginated list of AI clip jobs in the authenticated user’s workspace, newest first.
GET
/
v3
/
ai-clipping
List AI Clipping
curl --request GET \
--url https://api.heygen.com/v3/ai-clipping \
--header 'x-api-key: <api-key>'import requests
url = "https://api.heygen.com/v3/ai-clipping"
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.heygen.com/v3/ai-clipping', 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.heygen.com/v3/ai-clipping",
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.heygen.com/v3/ai-clipping"
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.heygen.com/v3/ai-clipping")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.heygen.com/v3/ai-clipping")
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{
"data": [
{
"id": "<string>",
"title": "<string>",
"input_language": "<string>",
"source_duration": 123,
"output_settings": {
"duration_types": [],
"aspect_ratio": "portrait",
"captions": true,
"caption_style": "outline_classic",
"prompt": "<string>"
},
"clips": [
{
"id": "<string>",
"duration_seconds": 123,
"title": "<string>",
"virality_score": 50,
"thumbnail_url": "<string>",
"video_url": "<string>",
"failure_message": "<string>"
}
],
"progress": 0,
"callback_id": "<string>",
"created_at": 123,
"failure_message": "<string>"
}
],
"has_more": true,
"next_token": "<string>"
}{
"error": {
"code": "invalid_parameter",
"message": "'limit' must be between 1 and 100.",
"param": "limit",
"doc_url": null
}
}{
"error": {
"code": "authentication_failed",
"message": "Invalid or expired API key. Verify your x-api-key header.",
"param": null,
"doc_url": null
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests. Retry after the duration specified in the Retry-After header.",
"param": null,
"doc_url": null
}
}Authorizations
ApiKeyAuthBearerAuth
HeyGen API key. Obtain from your HeyGen dashboard.
Query Parameters
Maximum number of items per page. Defaults to 10 (lower than other v3 lists) because each item embeds its full clips array.
Required range:
1 <= x <= 100Opaque cursor token for the next page.
⌘I
List AI Clipping
curl --request GET \
--url https://api.heygen.com/v3/ai-clipping \
--header 'x-api-key: <api-key>'import requests
url = "https://api.heygen.com/v3/ai-clipping"
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.heygen.com/v3/ai-clipping', 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.heygen.com/v3/ai-clipping",
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.heygen.com/v3/ai-clipping"
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.heygen.com/v3/ai-clipping")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.heygen.com/v3/ai-clipping")
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{
"data": [
{
"id": "<string>",
"title": "<string>",
"input_language": "<string>",
"source_duration": 123,
"output_settings": {
"duration_types": [],
"aspect_ratio": "portrait",
"captions": true,
"caption_style": "outline_classic",
"prompt": "<string>"
},
"clips": [
{
"id": "<string>",
"duration_seconds": 123,
"title": "<string>",
"virality_score": 50,
"thumbnail_url": "<string>",
"video_url": "<string>",
"failure_message": "<string>"
}
],
"progress": 0,
"callback_id": "<string>",
"created_at": 123,
"failure_message": "<string>"
}
],
"has_more": true,
"next_token": "<string>"
}{
"error": {
"code": "invalid_parameter",
"message": "'limit' must be between 1 and 100.",
"param": "limit",
"doc_url": null
}
}{
"error": {
"code": "authentication_failed",
"message": "Invalid or expired API key. Verify your x-api-key header.",
"param": null,
"doc_url": null
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests. Retry after the duration specified in the Retry-After header.",
"param": null,
"doc_url": null
}
}
