Update scene metadata
curl --request PATCH \
--url https://api.splat-3d.com/v1/scenes/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"address": "<string>",
"description": "<string>",
"is_public": true
}
'import requests
url = "https://api.splat-3d.com/v1/scenes/{id}"
payload = {
"title": "<string>",
"address": "<string>",
"description": "<string>",
"is_public": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
address: '<string>',
description: '<string>',
is_public: true
})
};
fetch('https://api.splat-3d.com/v1/scenes/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"id": "a1b2c3d4e5f6",
"title": "My living room",
"description": "Morning light, north window",
"address": "123 Main St",
"status": "complete",
"training_model": "gsplat",
"preset": "standard",
"is_public": false,
"thumbnail_r2_key": "<string>",
"thumbnail_url": "<string>",
"num_gaussians": 123,
"ssim": 123,
"psnr": 26.1,
"psnr_holdout": 123,
"ssim_holdout": 123,
"training_time_seconds": 233.7,
"spz_size_bytes": 21000000,
"sog_size_bytes": 48000000,
"ply_size_bytes": 460000000,
"processing_stage": "<string>",
"processing_pct": 123,
"processing_started_at": "2026-04-13T12:01:00.000Z",
"processing_completed_at": "2026-04-13T12:10:46.000Z",
"created_at": "2026-04-13T12:00:00.000Z",
"updated_at": "2026-04-13T12:05:00.000Z",
"processing_error": "<string>",
"viewer_url": "<string>",
"download_url": "<string>",
"format": "sog",
"lod_meta_url": "<string>"
},
"meta": {
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "not_found",
"message": "Scene not found.",
"details": [
{
"field": "iterations",
"value": 15000,
"allowed": {
"min": 3000,
"max": 10000
},
"tier": "standard",
"hint": "iterations=15000 requires the quality tier or higher."
}
]
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"period": "2026-10",
"limit": 100,
"field": "scenes_created",
"current": 2
}
}{
"error": {
"code": "not_found",
"message": "Scene not found.",
"details": [
{
"field": "iterations",
"value": 15000,
"allowed": {
"min": 3000,
"max": 10000
},
"tier": "standard",
"hint": "iterations=15000 requires the quality tier or higher."
}
]
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"period": "2026-10",
"limit": 100,
"field": "scenes_created",
"current": 2
}
}{
"error": {
"code": "not_found",
"message": "Scene not found.",
"details": [
{
"field": "iterations",
"value": 15000,
"allowed": {
"min": 3000,
"max": 10000
},
"tier": "standard",
"hint": "iterations=15000 requires the quality tier or higher."
}
]
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"period": "2026-10",
"limit": 100,
"field": "scenes_created",
"current": 2
}
}{
"error": {
"code": "not_found",
"message": "Scene not found.",
"details": [
{
"field": "iterations",
"value": 15000,
"allowed": {
"min": 3000,
"max": 10000
},
"tier": "standard",
"hint": "iterations=15000 requires the quality tier or higher."
}
]
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"period": "2026-10",
"limit": 100,
"field": "scenes_created",
"current": 2
}
}{
"error": {
"code": "not_found",
"message": "Scene not found.",
"details": [
{
"field": "iterations",
"value": 15000,
"allowed": {
"min": 3000,
"max": 10000
},
"tier": "standard",
"hint": "iterations=15000 requires the quality tier or higher."
}
]
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"period": "2026-10",
"limit": 100,
"field": "scenes_created",
"current": 2
}
}{
"error": {
"code": "not_found",
"message": "Scene not found.",
"details": [
{
"field": "iterations",
"value": 15000,
"allowed": {
"min": 3000,
"max": 10000
},
"tier": "standard",
"hint": "iterations=15000 requires the quality tier or higher."
}
]
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"period": "2026-10",
"limit": 100,
"field": "scenes_created",
"current": 2
}
}{
"error": {
"code": "not_found",
"message": "Scene not found.",
"details": [
{
"field": "iterations",
"value": 15000,
"allowed": {
"min": 3000,
"max": 10000
},
"tier": "standard",
"hint": "iterations=15000 requires the quality tier or higher."
}
]
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"period": "2026-10",
"limit": 100,
"field": "scenes_created",
"current": 2
}
}Scenes
Update scene metadata
Update title, address, description, or visibility of a scene.
PATCH
/
v1
/
scenes
/
{id}
Update scene metadata
curl --request PATCH \
--url https://api.splat-3d.com/v1/scenes/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"address": "<string>",
"description": "<string>",
"is_public": true
}
'import requests
url = "https://api.splat-3d.com/v1/scenes/{id}"
payload = {
"title": "<string>",
"address": "<string>",
"description": "<string>",
"is_public": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
address: '<string>',
description: '<string>',
is_public: true
})
};
fetch('https://api.splat-3d.com/v1/scenes/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"id": "a1b2c3d4e5f6",
"title": "My living room",
"description": "Morning light, north window",
"address": "123 Main St",
"status": "complete",
"training_model": "gsplat",
"preset": "standard",
"is_public": false,
"thumbnail_r2_key": "<string>",
"thumbnail_url": "<string>",
"num_gaussians": 123,
"ssim": 123,
"psnr": 26.1,
"psnr_holdout": 123,
"ssim_holdout": 123,
"training_time_seconds": 233.7,
"spz_size_bytes": 21000000,
"sog_size_bytes": 48000000,
"ply_size_bytes": 460000000,
"processing_stage": "<string>",
"processing_pct": 123,
"processing_started_at": "2026-04-13T12:01:00.000Z",
"processing_completed_at": "2026-04-13T12:10:46.000Z",
"created_at": "2026-04-13T12:00:00.000Z",
"updated_at": "2026-04-13T12:05:00.000Z",
"processing_error": "<string>",
"viewer_url": "<string>",
"download_url": "<string>",
"format": "sog",
"lod_meta_url": "<string>"
},
"meta": {
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "not_found",
"message": "Scene not found.",
"details": [
{
"field": "iterations",
"value": 15000,
"allowed": {
"min": 3000,
"max": 10000
},
"tier": "standard",
"hint": "iterations=15000 requires the quality tier or higher."
}
]
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"period": "2026-10",
"limit": 100,
"field": "scenes_created",
"current": 2
}
}{
"error": {
"code": "not_found",
"message": "Scene not found.",
"details": [
{
"field": "iterations",
"value": 15000,
"allowed": {
"min": 3000,
"max": 10000
},
"tier": "standard",
"hint": "iterations=15000 requires the quality tier or higher."
}
]
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"period": "2026-10",
"limit": 100,
"field": "scenes_created",
"current": 2
}
}{
"error": {
"code": "not_found",
"message": "Scene not found.",
"details": [
{
"field": "iterations",
"value": 15000,
"allowed": {
"min": 3000,
"max": 10000
},
"tier": "standard",
"hint": "iterations=15000 requires the quality tier or higher."
}
]
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"period": "2026-10",
"limit": 100,
"field": "scenes_created",
"current": 2
}
}{
"error": {
"code": "not_found",
"message": "Scene not found.",
"details": [
{
"field": "iterations",
"value": 15000,
"allowed": {
"min": 3000,
"max": 10000
},
"tier": "standard",
"hint": "iterations=15000 requires the quality tier or higher."
}
]
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"period": "2026-10",
"limit": 100,
"field": "scenes_created",
"current": 2
}
}{
"error": {
"code": "not_found",
"message": "Scene not found.",
"details": [
{
"field": "iterations",
"value": 15000,
"allowed": {
"min": 3000,
"max": 10000
},
"tier": "standard",
"hint": "iterations=15000 requires the quality tier or higher."
}
]
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"period": "2026-10",
"limit": 100,
"field": "scenes_created",
"current": 2
}
}{
"error": {
"code": "not_found",
"message": "Scene not found.",
"details": [
{
"field": "iterations",
"value": 15000,
"allowed": {
"min": 3000,
"max": 10000
},
"tier": "standard",
"hint": "iterations=15000 requires the quality tier or higher."
}
]
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"period": "2026-10",
"limit": 100,
"field": "scenes_created",
"current": 2
}
}{
"error": {
"code": "not_found",
"message": "Scene not found.",
"details": [
{
"field": "iterations",
"value": 15000,
"allowed": {
"min": 3000,
"max": 10000
},
"tier": "standard",
"hint": "iterations=15000 requires the quality tier or higher."
}
]
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"period": "2026-10",
"limit": 100,
"field": "scenes_created",
"current": 2
}
}Authorizations
API key in format: s3d_...
Path Parameters
Scene ID
Example:
"a1b2c3d4e5f6"
Body
application/json