Editing and refresh
Server-side edits preserve Smore-owned conversation history. Partners submit only the new high-level instruction and optional image references.
Submit an edit
Section titled “Submit an edit”{ "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.
imageAssetIdadds an optional edit reference.sourceAssetIdreplaces the scene’s primary source image and must satisfy the 16:9 source-image contract.expectedVersionprevents 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.
Refresh an open iframe
Section titled “Refresh an open iframe”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.
Conflicts
Section titled “Conflicts”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.