Skip to content

Editing and refresh

Server-side edits preserve Smore-owned conversation history. Partners submit only the new high-level instruction and optional image references.

{
"message": "Move the camera lower and frame the subject from the left",
"imageAssetId": null,
"sourceAssetId": null,
"expectedVersion": 1
}

Send this body to POST /v1/scenes/{sceneId}/edits with a newly persisted UUID v4 Idempotency-Key.

  • imageAssetId adds an optional edit reference.
  • sourceAssetId replaces the scene’s primary source image and must satisfy the 16:9 source-image contract.
  • expectedVersion prevents a stale edit from silently overwriting a newer scene.

Poll the returned operation exactly like scene creation. A successful result contains the new scene version and a safe summary, not scene geometry or model conversation state.

After your own status endpoint reports success, notify the mounted studio:

studio.contentWindow?.postMessage(
{
expectedVersion: edited.scene.version,
type: "smore:refresh",
v: 1,
},
"https://embed.smore.video",
);

The studio applies only a current envelope at or above expectedVersion and newer than its loaded version. If an edit or recording is active, refresh is deferred until the action finishes.

Do not automatically replay scene_version_conflict or scene_operation_in_progress. Read current scene metadata, ask the user to confirm the intent, and submit a fresh request with the current version and a new idempotency key.