Skip to main content
POST
重建场景
用你列出的图像批次重建场景的 .spz 高斯泼溅,通常是创建场景产生的 initial 批次,加上生成场景视图产生的 generated 批次。视图覆盖的场景越多,结果越完整。 接口是异步的:返回 processing 状态的场景任务,轮询直到任务结束。
计费:场景任务目前不消耗积分。

请求参数

使用 application/json,最大 1 MiB。不接受未知字段。 targetC2w、projection、fov 和 seed 属于生成场景视图,在本接口中会被拒绝。

响应参数

返回 200 OK 和 processing 状态的场景任务:
任务 ready 后,result.spz.url 即重建后的场景,result.referenceViewCount 为使用的视图数量。result.outputBatch 为 null:重建不会向会话添加图像。

常见错误

格式正确但不属于本会话的批次 ID 由模型检查:任务会先开始,随后以 INVALID_REQUEST 失败。

示例

快速入门:场景模型

在完整的构建、生成和重建流程中查看重建。

授权

Authorization
string
header
必填

服务端 SDK 使用项目 API 密钥,Remote MCP 使用 OAuth 访问令牌。不要在浏览器代码中暴露项目密钥。

请求头

X-Request-Id
string

可选的调用者自定义关联 ID,最长 128 字符。服务会在响应头返回实际使用的值,便于追踪和支持排查。

Required string length: 1 - 128
X-Viggle-Source
string

可选来源标签,最长 128 字符,用于识别 SDK、集成、产品入口或内部工作流。

Required string length: 1 - 128

请求体

application/json

POST /v1/scenes/reconstruct 的请求体。spzOutputUrl 与 outputUris 不能同时使用。

sessionId
string
必填

调用方自定的会话 ID,按账户隔离。一个会话对应一个场景及其全部图像批次,同一时间只运行一个任务;已有任务 processing 时再提交会返回 409,error.details.running_task_id 为正在运行的任务。

Required string length: 1 - 128
Pattern: ^[A-Za-z0-9_-]+$
示例:

"living-room-01"

referenceBatchIds
string[]
必填

同一会话内的 1–35 个不重复批次 ID,即 result.outputBatch.batchId。格式正确但属于其他会话的 ID 会让任务以 INVALID_REQUEST 失败。

Required array length: 1 - 35 elements
Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
spzOutputUrl
string<uri>

等同于 outputUris.spz。

outputUris
object

调用方自己的上传地址,Viggle 完成后用 PUT 把对应文件上传过去;值为 null 的项会被忽略。上传到这里的 .spz Viggle 不再保留,结果中的 spz.url 即该地址;预览图和全景图上传后 Viggle 仍保留一份,结果中链接指向 Viggle 的副本。每个地址必须是 http(s)、不含账号密码、且主机只解析到公网地址。

响应

场景任务已启动。

场景任务(以 scn_ 开头),所有 /v1/scenes 提交接口和 GET /v1/scenes/{task_id} 都返回它。ready、failed、cancelled 为终态。任务结束后约 72 小时内可查询。

id
string
必填

任务 ID,格式为 scn_{runId}.{sessionId}。

sessionId
string
必填
operation
enum<string>
必填

custom-pano 任务也返回 pano。

可用选项:
pano,
generate,
reconstruct
status
enum<string>
必填
可用选项:
processing,
ready,
failed,
cancelled
createdAt
integer<int64> | null
必填

开始时间,Unix 毫秒。

completedAt
integer<int64> | null
必填

结束时间,Unix 毫秒;processing 时为 null。

result
object | null
必填

只在 ready 时有值。

error
object | null
必填

只在 failed 时有值。code 为 INVALID_REQUEST(不可重试,模型拒绝了输入,例如引用了其他会话的批次)或 PROCESSING_FAILED(可重试)。