Skip to main content
The canonical ngram_entity integration registers the tools below. A connected Spatial session can receive actions from another conversation with the same Entity. A messaging conversation does not create a Spatial session by itself. Blender authoring can run on the execution host before a surface connects. This reference follows the current Python schemas on main, including updates after v1.0.1. Download the machine-readable definitions. Read the running registry when connecting to an older installation.

Figments

The Figment guide covers authoring, named behavior, grips and portable publishing. Physics describes bodies, collision shapes, sensors and constraints. Each tool takes command and an optional payload object. Publishing stores a local immutable version. Export downloads a self-contained file; it does not upload to a public service or return binary content through the model. Place returns a new paused instance.
A tool can queue an action before the surface renders it. Optional capture, media, or motion features still depend on the connected browser and configured backend. See capabilities.

Creations and Blender

ar_world

Create, inspect, edit, and program a persistent creation world. The result comes from the connected surface. Call capabilities for the detailed world and JavaScript contracts. Approach returns an accepted task; use the correlated perform.completed or perform.cancelled event to establish its outcome. Observe important results once rather than repeatedly polling with model calls. See Creations and Programs for complete examples and human interaction controls.

ar_blender

Author a persistent headless Blender project on the configured execution host and publish GLB previews into Spatial. position is an initial Spatial placement in metres. Subsequent revisions preserve human transforms. execute can call publish() several times during one script; progress delivery does not require further model calls. Read Blender for installation, persistence, cancellation, and export limits.

Skies and scene lighting

ar_environment

Configure the surrounding sky and the renderer’s actual lighting. The environment guide covers procedural atmospheres, Blender panoramas, imported HDR/EXR, and human controls. Like ar_world, the tool takes command and optional payload. Omitted blocks stay unchanged; a supplied block replaces its previous value; null resets it. A failed panorama load leaves the working environment intact. The tool waits for a renderer result; avoid repeated model polling. ar_blender render with options.projection: "equirectangular" returns an image and a skybox object ready to use as the configure payload. Sky rendering needs no continuous Blender process once the artifact exists. Keep foreground geometry and interactions in GLB assets and Figments. XR keeps passthrough unless sky.immersive is explicitly enabled. Scene capture still excludes physical passthrough imagery.

Movement and expression

Request movement in the connected scene. An accepted action is not proof of completed movement; inspect its outcome when needed.
queue a physical gesture (wave, nod, point, dance, …).
queue a bodily emotional expression.
queue gaze toward the user or away.
return to a relaxed idle stance.No parameters.
speak mid-turn (visible + TTS) before your final reply. Use for reactions while reasoning; final answer can still go in normal reply text.

Panels and media

show a readable spatial panel for substantial information.
close a spatial panel by id.
write a concise status or result to the spatial terminal.
open an HTTP(S) page on the spatial browser surface.
play a specific YouTube video in the dedicated media player. On desktop this opens the desktop player; in immersive AR the surface uses its headset-safe playback flow. Search for a specific video first when needed.

Objects and environment

spawn a real 3D geometric primitive. Use for requests naming a shape such as cube, sphere, cylinder, cone, torus, or plane. Physics defaults on. Do not use ar_spawn_text as a substitute for geometry.
spawn an interactive physics toy. Use this for balls, bouncy balls, beach balls, dice, and marbles; use ar_spawn_object for generic geometry.
place visible lettering in the scene. Use only when the user asks for text or a label; never use it to represent a requested physical object or shape.
remove one previously spawned object, toy, text, image, or model by id.
clear all spawned scene objects when the user asks to reset or clean the space.No parameters.
place a labeled callout at scene coordinates.
change the shell’s environment preset.

Inspection and optional backends

inspect the current embodied surface contract, live context, and available spatial API tools. Use this instead of scanning workspace files when asked what the spatial body can do.No parameters.
Receive actual virtual-scene images in the current tool round. The human controls permission through the camera button. A separate inspection camera preserves their viewpoint.
request a novel humanoid motion from the configured external GPU provider. Use only when generated motion adds clear value.

Design for the current surface

Use primitives for geometry and text tools for lettering. Use ar_spawn_toy for prepared physics objects, and ar_play_youtube for a specific video rather than opening a YouTube search page in the browser panel. ar_terminal displays text; it does not execute a shell command. ar_request_capture requests a rendered surface frame; it does not establish access to passthrough cameras. ar_generate_motion needs a configured external motion provider.