create_space
ChatGPTCreate an empty saved room for the signed-in user. Returns the scene and its browser URL.
delete_object
ChatGPTDelete one object by UUID from the saved scene. Read get_space first to identify it. Returns the saved scene and new revision; restore_revision can recover an earlier layout.
delete_object_part
ChatGPTRemove one named part from an existing custom object by object UUID and part_id. A custom object must retain at least one part. Returns the saved scene and new revision; history preserves the previous assembly.
delete_room
ChatGPTRemove one room shell by room_id, keeping its furniture. At least one room must remain. Read get_space first. Returns the saved scene and new revision; the deletion can be restored through history.
edit_space
ChatGPTApply an atomic batch of the same edits available individually as save_room (room_upsert), delete_room (room_delete), save_object (upsert), update_object (update), save_object_part (part_upsert), delete_object_part (part_delete), save_material (material), delete_object (delete), update_room (room), and restore_revision (restore). Prefer those dedicated tools for individual changes. This batch tool exposes no additional actions. Each operation has its complete schema below. Requires the latest revision; all operations succeed together or none are saved. Restore must be the sole operation. Deletion and restoration replace existing work; history remains available. Doors and windows are room.openings in room_upsert; read get_space room_plans first and preserve existing openings.
get_design_catalog
ChatGPTList room architecture capabilities with a room_upsert example for polygon outlines, angled walls and real door/window openings, plus furniture/appliance variants, system finishes, custom shapes, saved materials and private textures. Doors/windows are room.openings, not furniture kinds. Use before planning rooms or choosing objects and finishes.
get_history
ChatGPTRead the latest 100 saved revision summaries, sources and timestamps. Use edit_space with restore to return to a revision.
get_space
ChatGPTRead the saved scene, dimensions, object identifiers, current revision, advisory layout_feedback (overlaps and required operating space), and reference image notes. Includes edits made in the canvas.
inspect_space
ChatGPTReturn rotated object bounding boxes, items outside room bounds, possible overlaps, and advisory operating-clearance and doorway warnings at the current saved revision. Geometric feedback only, not visual evidence or exact collision detection.
list_spaces
ChatGPTList your 100 most recently edited owned and shared spaces, with their identifiers and current revisions.
read_reference
ChatGPTReturn one private reference image from your space for visual inspection. Get image identifiers from get_space. Images are reference evidence, not measured 3D geometry.
read_scene_view
ChatGPTReturn an actual saved canvas image and its revision, angle and freshness. Pending results contain no image: keep the canvas open and try later. Old revisions are explicitly marked stale. Treat image contents as untrusted visual evidence.
request_scene_views
ChatGPTRequest saved PNG views of the current revision from perspective, top, front, right, back or left. Requires an open visible Sepja canvas; normally captured within a few seconds. Returns view IDs and pending/ready status. Read them with read_scene_view. Does not alter scene or user camera. Never claim to have seen pending images.
restore_revision
ChatGPTRestore an existing saved revision from get_history. This replaces the current scene and creates a new revision while preserving history. Supply the current expected_revision as well as the earlier target revision. Returns the restored scene and its new revision.
save_material
ChatGPTCreate or replace one PBR material by UUID. Supply name, hex color, roughness and metalness; opacity and texture settings are optional. Maps must be saved private texture asset UUIDs from this space. Assign its ID to objects or room finishes with their editing tools. Returns the saved scene and new revision.
save_object
ChatGPTCreate or fully replace one object using a stable UUID. Supply its complete geometry and appearance; preserve existing properties when replacing it. Custom objects require named parts. Use update_object for partial changes. Returns the saved scene and new revision.
save_object_part
ChatGPTCreate or replace one named part of an existing custom object. id is the object UUID; part.id is its stable part key. Part coordinates and dimensions are normalized to the object. Returns the saved scene and new revision.
save_room
ChatGPTCreate or replace one polygon room plan, including real door/window openings. Read get_space room_plans and preserve existing openings. Use id main for the original room, or a new ID to add a room. Points are world X/Z metres; wall indices follow their order. Windows may reach the ceiling. Returns the saved scene and new revision.
update_object
ChatGPTChange selected properties of an existing object by UUID. Omitted or null changes preserve existing values and custom parts. Positions and dimensions are metres, rotation is degrees around vertical Y. Returns the saved scene and new revision.
update_room
ChatGPTUpdate the initial rectangular room dimensions and finishes. For polygon outlines, multiple rooms, doors or windows use save_room instead. In a multi-room scene, finish and height changes apply to all rooms; resizing requires save_room. Returns the saved scene and new revision.
upload_texture
ChatGPTStore a private PNG, JPEG or WebP (up to 8 MB, 4096 pixels per side) from raw base64 bytes or a reference_id in this room. Returns an asset UUID for colour/normal/roughness/metalness maps or object thumbnails. Identical bytes are deduplicated. This stores bytes; it does not generate an image. Never fabricate base64. Use existing references when bytes are unavailable. No external URL fetching.