{"guideVersion":"2026-10-13.3","contractVersion":"1.0","runtime":{"blenderVersion":"4.5.3","pythonVersion":"3.11.15","blendstraVersion":"1.0.0","execution":"hosted_blender"},"topic":"overview","content":{"workflow":"Create privately with model_create: title, bounded script, one idempotencyKey. Read topic:modeling summary for form; inspect references when relevant. Read topic:components for optional private reuse. Fetch helper detail as needed. Recover model_get by operationId; inspect and show its exact saved result before enrichment.","delivery":"Deliver a model for visual review with model_show on a UI-capable host after creation, import, revision or reopening; do not stop at a poster or download when interactive exploration is useful. Skip the card for explicit file-only, image-only or headless requests. Use exact projectId/versionId from project_open, prepared_model_import or model_get.savedResult; after an edit show that operation’s saved result, never an unrelated latest head. Users can orbit, pan, zoom, select an actual part and bring it into this chat. Widget selections identify an exact version and delivered part; sourceObjectId is usable only when verified. A selection is context, not edit or publish authorization. Keep a durable exact-version link and use it when the host lacks UI. Showing a card starts no Blender job and grants no public access. Do not import or remix a public model merely to display it; use its public page unless an authorized private copy already exists.","discovery":"After inspecting and showing work, read topic:discovery for an exact-version private description and tags. Publish only when requested.","continuation":"Use project_open.modelContext for saved work; prefer eligible model_edit or scoped model_create. Read revision when needed.","defaults":{"quoteRequired":false,"maxJobAuthorizationMicros":20000000,"lowerLimitsRespected":true,"outputs":{"poster":true,"clip":false},"publication":"private"},"example":{"tool":"model_create","arguments":{"title":"One-meter cube","idempotencyKey":"cube_creation_001","script":"import bpy\nscene = bpy.context.scene\nscene.unit_settings.system = \"METRIC\"\nscene.unit_settings.scale_length = 1.0\nscene.frame_start = scene.frame_end = 1\nbpy.ops.mesh.primitive_cube_add(size=1.0, location=(0, 0, 0.5))\ncube = bpy.context.object\ncube.name = \"Cube\"\ncube[\"blendstra_id\"] = \"cube_body\"\n"}},"sceneSetup":"New scenes: scene.world is None. Omit optional setup; see geometry.","recovery":"Keep the operationId from model_create or model_edit and poll model_get using its progress/retry hints. After a lost submission response, retry the exact same request and idempotencyKey. Changed code, operations or base require a new intent/key. Reconnect by recovering that operation, not submitting duplicate work.","verification":"Verify model_get.savedResult for this operation, not the latest project head. Read inspection.requestedResult, inspection.preservation and warnings separately; saved files alone do not prove the requested change, and not_verified or unsupported is not a pass. Use inspection.storedViews for existing exact-version views when available before requesting another render. Request scene_inspect detail or model_render at that saved version only for needed structural or visual checks, including relevant animation poses. Report unsupported/unknown findings and return the exact saved-version Studio link. Acceptance and publication require the user's explicit instruction.","detail":[{"tool":"authoring_guide","arguments":{"topic":"modeling"}},{"tool":"authoring_guide","arguments":{"topic":"geometry"}},{"tool":"authoring_guide","arguments":{"topic":"materials"}},{"tool":"authoring_guide","arguments":{"topic":"animation"}},{"tool":"authoring_guide","arguments":{"topic":"assets"}},{"tool":"authoring_guide","arguments":{"topic":"reference_modeling"}},{"tool":"authoring_guide","arguments":{"topic":"revision"}},{"tool":"authoring_guide","arguments":{"topic":"discovery"}},{"tool":"authoring_guide","arguments":{"topic":"components"}}]}}