curl --request POST \
--url https://api2.rhombussystems.com/api/video/generateRangedTimelapseClip \
--header 'Content-Type: application/json' \
--header 'x-auth-apikey: <api-key>' \
--header 'x-auth-scheme: <x-auth-scheme>' \
--data '
{
"sources": [
{
"deviceUuid": "AAAAAAAAAAAAAAAAAAAAAA.v0",
"ranges": [
{
"endMs": 123,
"startMs": 123
}
]
}
],
"videoDuration": 60,
"description": "<string>",
"drawCameraDetails": true,
"drawTimestamp": true,
"title": "Subject Tour 2026-04-21"
}
'import requests
url = "https://api2.rhombussystems.com/api/video/generateRangedTimelapseClip"
payload = {
"sources": [
{
"deviceUuid": "AAAAAAAAAAAAAAAAAAAAAA.v0",
"ranges": [
{
"endMs": 123,
"startMs": 123
}
]
}
],
"videoDuration": 60,
"description": "<string>",
"drawCameraDetails": True,
"drawTimestamp": True,
"title": "Subject Tour 2026-04-21"
}
headers = {
"x-auth-scheme": "<x-auth-scheme>",
"x-auth-apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-auth-scheme': '<x-auth-scheme>',
'x-auth-apikey': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
sources: [
{deviceUuid: 'AAAAAAAAAAAAAAAAAAAAAA.v0', ranges: [{endMs: 123, startMs: 123}]}
],
videoDuration: 60,
description: '<string>',
drawCameraDetails: true,
drawTimestamp: true,
title: 'Subject Tour 2026-04-21'
})
};
fetch('https://api2.rhombussystems.com/api/video/generateRangedTimelapseClip', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api2.rhombussystems.com/api/video/generateRangedTimelapseClip")
.header("x-auth-scheme", "<x-auth-scheme>")
.header("x-auth-apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"sources\": [\n {\n \"deviceUuid\": \"AAAAAAAAAAAAAAAAAAAAAA.v0\",\n \"ranges\": [\n {\n \"endMs\": 123,\n \"startMs\": 123\n }\n ]\n }\n ],\n \"videoDuration\": 60,\n \"description\": \"<string>\",\n \"drawCameraDetails\": true,\n \"drawTimestamp\": true,\n \"title\": \"Subject Tour 2026-04-21\"\n}")
.asString();{
"clipUuid": "AAAAAAAAAAAAAAAAAAAAAA",
"error": true,
"errorMsg": "<string>",
"warningMsg": "<string>"
}Generate ranged timelapse clip
Generate a timelapse where each device facet contributes footage only during its own time ranges.
curl --request POST \
--url https://api2.rhombussystems.com/api/video/generateRangedTimelapseClip \
--header 'Content-Type: application/json' \
--header 'x-auth-apikey: <api-key>' \
--header 'x-auth-scheme: <x-auth-scheme>' \
--data '
{
"sources": [
{
"deviceUuid": "AAAAAAAAAAAAAAAAAAAAAA.v0",
"ranges": [
{
"endMs": 123,
"startMs": 123
}
]
}
],
"videoDuration": 60,
"description": "<string>",
"drawCameraDetails": true,
"drawTimestamp": true,
"title": "Subject Tour 2026-04-21"
}
'import requests
url = "https://api2.rhombussystems.com/api/video/generateRangedTimelapseClip"
payload = {
"sources": [
{
"deviceUuid": "AAAAAAAAAAAAAAAAAAAAAA.v0",
"ranges": [
{
"endMs": 123,
"startMs": 123
}
]
}
],
"videoDuration": 60,
"description": "<string>",
"drawCameraDetails": True,
"drawTimestamp": True,
"title": "Subject Tour 2026-04-21"
}
headers = {
"x-auth-scheme": "<x-auth-scheme>",
"x-auth-apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-auth-scheme': '<x-auth-scheme>',
'x-auth-apikey': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
sources: [
{deviceUuid: 'AAAAAAAAAAAAAAAAAAAAAA.v0', ranges: [{endMs: 123, startMs: 123}]}
],
videoDuration: 60,
description: '<string>',
drawCameraDetails: true,
drawTimestamp: true,
title: 'Subject Tour 2026-04-21'
})
};
fetch('https://api2.rhombussystems.com/api/video/generateRangedTimelapseClip', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api2.rhombussystems.com/api/video/generateRangedTimelapseClip")
.header("x-auth-scheme", "<x-auth-scheme>")
.header("x-auth-apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"sources\": [\n {\n \"deviceUuid\": \"AAAAAAAAAAAAAAAAAAAAAA.v0\",\n \"ranges\": [\n {\n \"endMs\": 123,\n \"startMs\": 123\n }\n ]\n }\n ],\n \"videoDuration\": 60,\n \"description\": \"<string>\",\n \"drawCameraDetails\": true,\n \"drawTimestamp\": true,\n \"title\": \"Subject Tour 2026-04-21\"\n}")
.asString();{
"clipUuid": "AAAAAAAAAAAAAAAAAAAAAA",
"error": true,
"errorMsg": "<string>",
"warningMsg": "<string>"
}Authorizations
Your Rhombus API key. Must be accompanied by the x-auth-scheme header set to api-token (or partner-api-token for partner endpoints).
Headers
Authentication scheme identifier. Use api-token for standard API key authentication, partner-api-token for partner API key authentication. Must be paired with the x-auth-apikey header containing your API key.
api-token, api, partner-api-token, partner-api Body
Request for generating a timelapse where each facet contributes footage only during its own time ranges.
One entry per device facet. Each carries its own list of time ranges.
Show child attributes
Show child attributes
Duration in seconds for the output video
60
Description for the timelapse
Whether to draw camera details on the video
true
Whether to draw timestamps on the video
true
Title for the timelapse
"Subject Tour 2026-04-21"