curl --request PUT \
--url https://api.cloudglue.dev/v1/collections/{collection_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>"
}
'import requests
url = "https://api.cloudglue.dev/v1/collections/{collection_id}"
payload = {
"name": "<string>",
"description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', description: '<string>'})
};
fetch('https://api.cloudglue.dev/v1/collections/{collection_id}', 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.cloudglue.dev/v1/collections/{collection_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cloudglue.dev/v1/collections/{collection_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.cloudglue.dev/v1/collections/{collection_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cloudglue.dev/v1/collections/{collection_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"object": "collection",
"name": "<string>",
"collection_type": "media-descriptions",
"created_at": 123,
"file_count": 123,
"description": "<string>",
"moments_config": {
"criteria": [
{
"attachment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"criterion_name": "<string>",
"criterion_hash": "<string>",
"backfill_status": "pending",
"criterion": {
"name": "<string>",
"instructions": "<string>",
"moment_schema": {},
"finding_schema": {},
"anchors": {},
"scoring": {
"key": "<string>",
"min": 123,
"max": 123,
"higher_is_better": true,
"description": "<string>"
}
},
"options": {
"signals_required": [
"<string>"
],
"boundary_policy": "sentence",
"speaker_filter": {},
"min_duration_seconds": 123,
"max_duration_seconds": 123
},
"files_total": 123,
"files_completed": 123,
"files_failed": 123,
"created_at": 123
}
]
},
"extract_config": {
"prompt": "<string>",
"schema": {},
"enable_video_level_entities": true,
"enable_segment_level_entities": true,
"enable_transcript_mode": true,
"enable_metadata_mode": true
},
"transcribe_config": {
"enable_summary": true,
"enable_speech": true,
"enable_scene_text": true,
"enable_visual_scene_description": true,
"enable_audio_description": true
},
"describe_config": {
"enable_summary": true,
"enable_speech": true,
"enable_scene_text": true,
"enable_visual_scene_description": true,
"enable_audio_description": true,
"prompt": "<string>"
},
"default_segmentation_config": {
"strategy": "uniform",
"uniform_config": {
"window_seconds": 60.5,
"hop_seconds": 60.5
},
"shot_detector_config": {
"detector": "adaptive",
"threshold": 123,
"min_seconds": 300.3,
"max_seconds": 300.5,
"fill_gaps": true
},
"manual_config": {
"segments": [
{
"start_time": 123,
"end_time": 123
}
]
},
"narrative_config": {
"prompt": "<string>",
"strategy": "comprehensive",
"number_of_chapters": 2,
"min_chapters": 2,
"max_chapters": 2
},
"keyframe_config": {
"frames_per_segment": 4,
"max_width": 2232
},
"start_time_seconds": 1,
"end_time_seconds": 1
},
"default_thumbnails_config": {
"enable_segment_thumbnails": true
},
"face_detection_config": {
"frame_extraction_config": {
"strategy": "uniform",
"uniform_config": {
"frames_per_second": 15.05,
"max_width": 2080
}
},
"thumbnails_config": {
"enable_frame_thumbnails": true
}
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Update Collection
Update a collection
curl --request PUT \
--url https://api.cloudglue.dev/v1/collections/{collection_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>"
}
'import requests
url = "https://api.cloudglue.dev/v1/collections/{collection_id}"
payload = {
"name": "<string>",
"description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', description: '<string>'})
};
fetch('https://api.cloudglue.dev/v1/collections/{collection_id}', 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.cloudglue.dev/v1/collections/{collection_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cloudglue.dev/v1/collections/{collection_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.cloudglue.dev/v1/collections/{collection_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cloudglue.dev/v1/collections/{collection_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"object": "collection",
"name": "<string>",
"collection_type": "media-descriptions",
"created_at": 123,
"file_count": 123,
"description": "<string>",
"moments_config": {
"criteria": [
{
"attachment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"criterion_name": "<string>",
"criterion_hash": "<string>",
"backfill_status": "pending",
"criterion": {
"name": "<string>",
"instructions": "<string>",
"moment_schema": {},
"finding_schema": {},
"anchors": {},
"scoring": {
"key": "<string>",
"min": 123,
"max": 123,
"higher_is_better": true,
"description": "<string>"
}
},
"options": {
"signals_required": [
"<string>"
],
"boundary_policy": "sentence",
"speaker_filter": {},
"min_duration_seconds": 123,
"max_duration_seconds": 123
},
"files_total": 123,
"files_completed": 123,
"files_failed": 123,
"created_at": 123
}
]
},
"extract_config": {
"prompt": "<string>",
"schema": {},
"enable_video_level_entities": true,
"enable_segment_level_entities": true,
"enable_transcript_mode": true,
"enable_metadata_mode": true
},
"transcribe_config": {
"enable_summary": true,
"enable_speech": true,
"enable_scene_text": true,
"enable_visual_scene_description": true,
"enable_audio_description": true
},
"describe_config": {
"enable_summary": true,
"enable_speech": true,
"enable_scene_text": true,
"enable_visual_scene_description": true,
"enable_audio_description": true,
"prompt": "<string>"
},
"default_segmentation_config": {
"strategy": "uniform",
"uniform_config": {
"window_seconds": 60.5,
"hop_seconds": 60.5
},
"shot_detector_config": {
"detector": "adaptive",
"threshold": 123,
"min_seconds": 300.3,
"max_seconds": 300.5,
"fill_gaps": true
},
"manual_config": {
"segments": [
{
"start_time": 123,
"end_time": 123
}
]
},
"narrative_config": {
"prompt": "<string>",
"strategy": "comprehensive",
"number_of_chapters": 2,
"min_chapters": 2,
"max_chapters": 2
},
"keyframe_config": {
"frames_per_segment": 4,
"max_width": 2232
},
"start_time_seconds": 1,
"end_time_seconds": 1
},
"default_thumbnails_config": {
"enable_segment_thumbnails": true
},
"face_detection_config": {
"frame_extraction_config": {
"strategy": "uniform",
"uniform_config": {
"frames_per_second": 15.05,
"max_width": 2080
}
},
"thumbnails_config": {
"enable_frame_thumbnails": true
}
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the collection to update
Body
Collection update parameters
Response
Successful collection update
Unique identifier for the collection
Object type, always 'collection'
collection Name of the collection
Type of collection, determines how videos are processed and what data is extracted
media-descriptions, entities, rich-transcripts, face-analysis, metadata, moments Unix timestamp in milliseconds when the collection was created
Number of files in the collection
Description of the collection's purpose or contents, null if none provided
Moments collections only: the criteria echo with per-attachment state (live counters on single GETs).
Show child attributes
Show child attributes
Configuration for automatic entity extraction from videos. Required when collection_type is 'entities'.
Show child attributes
Show child attributes
Configuration for rich transcription from videos. Used when collection_type is 'rich-transcripts'. If not provided, default values will be used.
Show child attributes
Show child attributes
Configuration for comprehensive media description from videos. Used when collection_type is 'media-descriptions'. If not provided, default values will be used.
Show child attributes
Show child attributes
Default segmentation configuration used for files in this collection
Show child attributes
Show child attributes
Default thumbnails configuration used for files in this collection
Show child attributes
Show child attributes
Configuration for face detection in videos. Only present when collection_type is 'face-analysis'.
Show child attributes
Show child attributes