Scene studio
Scene studio is available only on deployments that enable it and provide machines with the scene runtime installed. It uses the same rented machines, browser workspaces and video jobs as the coding playground and video API.
Build a shot
Open /studio, select or start a machine, and wait for its workspace to restore. Follow the three
steps shown above the scene: Build a scene, Preview motion, then Generate video.
The scene lives on the machine, not in the tab. When the tab's connection drops, for example while the marketplace deploys, the last scene stays on screen and the tab reconnects on its own. The wait starts around half a second and grows to about fifteen, each attempt varied by up to half either way. Edits resume once the machine sends the scene again. An edit awaiting confirmation when the connection dropped may or may not have applied: check the scene before retrying it. After about two minutes without a connection that holds, or when the connection is refused, the tab stops and offers Reconnect.
For an AI-created scene, open AI director and describe the subjects, action and camera movement. The assistant can build the empty scene; creating a starter first is optional. For example: “Create a ball bouncing on a stone floor, with a fixed camera showing the entire bounce.” Return to Scene to inspect the result. For manual editing, turn off AI assistance in the studio header, then choose Set up a starter shot for a ground plane, subject, camera and light. Add primitives or people, or Import GLB to use a self-contained asset. A portable asset can be up to 512 MiB. Very large geometry may exceed the interactive preview limit even though Blender can render it.
Choose Video model, Clip length and Frame rate before animating. The model list includes providers accepting depth clips. Lengths follow their published duration limits and frame grids; for example, a 15-second ceiling on an 8n+1 grid at 24 fps offers 353 frames, or 14.71 seconds. Custom… accepts a requested time and chooses the nearest supported frame count. The actual duration appears above the preview; for example, 14 seconds on an 8n+1 grid at 24 fps becomes 337 frames, or 14.04 seconds. Frame width and Frame height control the composition, subject to provider limits and a control-render budget of 1,048,576 pixels per frame and 2,048 pixels per edge. Changing length adjusts the timeline without moving existing animation keys. A model change that cannot serve the current shot blocks preparation and explains which setting needs adjustment.
Select an object to edit its position, rotation and scale. Move the frame slider to the beginning, choose Set start pose, change the position or rotation, and choose Set end pose to animate between them. Key pose adds a key at the current frame. Camera movement targets the selected subject; Frontal view is useful for inspecting rigid objects such as chests.
Orbit view is for editing. Shot camera shows the generation framing. The editor prepares a single shot using the scene’s timeline and resolution. New scenes start at 1024 × 768 with 97 frames at 24 fps (about four seconds). Inspect the camera composition and object contacts before generating; a video model can still change geometry or move an object away from the floor.
Control depth range sets near and far distances in metres from the camera. Close passes need a near distance below the closest visible surface; using a four-metre near distance for an under-car pass would flatten nearby geometry. Distant surfaces beyond the far distance share one background depth. Inspect control clips before paying for generation.
The depth clip guides shape and relative motion; it does not carry an imported asset's textures. Describe the materials and details that should remain visible. A plain background can make a camera arc look like a turning object. Include background geometry when the shot needs visible parallax, and inspect the finished video for changing details, sliding feet and unwanted object movement.
Ask an assistant
AI director offers the same seven coding harnesses as the coding playground: OpenCode, Claude,
Codex, DeepSeek Harness, ZCode, Oh My Pi and Empryo. A conversation started from the studio carries
the live scene tools, under the server name studio; a conversation in the coding playground does not.
The model picker
lists only marketplace models that declare both image input and tool calls, since the assistant edits
the scene through tools and checks its work against an image of the viewport rendered in the browser.
Scene prompts tell the assistant to inspect and edit the live scene directly, rather than discover it
by reading workspace files.
Scene tools start with AI assistance on. While the assistant can edit the scene, manual scene
controls are locked across connected browsers. The header button switches to manual editing, where
the assistant can inspect and discuss the scene but cannot change it. Reconnecting a tab does not
change the permission. scene_info includes the selected model's depth-video endpoint limits and the
Studio control-render limits; the assistant uses them to choose a supported resolution, frame rate and
clip length. The scene image tool returns a PNG from the connected browser for visual inspection. Video
proposals always require review in the browser and use the normal marketplace key and price
confirmation. These controls govern scene tools;
the coding harness retains its ordinary access to files and commands inside the machine.
Prepare and generate
Describe materials, setting and lighting in Describe the finished video, then choose Prepare video. Blender renders clay and depth clips from a fixed copy of the scene. Edits made afterwards do not change that control render. Resume last control render reads the saved job instead of starting another one.
The Video tab opens the existing generation page with the depth clip attached, reference strength set to 1 and audio disabled. Review the selected model, supported controls and displayed estimate, then generate. The usual job history, polling, retry and download controls apply. A completed video is also copied into the workspace; Save video to workspace retries that copy without generating or charging for another video.
Both preparation and video generation can take several minutes. Long or complex control renders can take substantially longer on CPU machines; preparation has a frame-scaled deadline capped at two hours. Machine rental continues while Blender prepares controls. Video generation is a separate charge at the selected provider's rates; assistant inference is another charge when used. There is no universal per-shot total: machine size, editing time, inference model and retries affect it. Review the machine rate and generation estimate, and shut down the machine when finished.
Keep the project
With manual editing enabled, Save writes the Blender scene and shot settings, then verifies that this browser holds the same saved scene. Keep the workspace connected until verification completes. Large files travel as 16 MiB chunks with checksums; an incomplete chunk set prevents a portable export.
Use the workspace home menu to Export an archive. Import on another browser creates a local workspace that can restore onto a fresh machine. Two browsers connected to one running machine receive its scene edits and files. Signing in elsewhere does not fetch a cloud project library. Clearing site data deletes that browser's copy. Revision undo checkpoints remain on the machine; the portable archive carries the current scene, history, assets and saved outputs.
Share to the Showcase
With manual editing enabled, Share to Showcase in the studio header publishes the shot to the public Showcase with a title, an optional description and a choice of what to reveal: the final video, the scene, its edit history, the prompts, the video's settings, the control passes and the cost and time. At least one of the video and the scene is shared. Post anonymously shows "Anonymous" in place of your name.
The browser sends no scene. Each time you publish, the marketplace reads the scene from your
running machine itself, through the same connection the studio uses, and only from a machine you
opened. A scene edited after the preview was drawn is refused, so you look it over and publish
again. The marketplace checks the scene against the studio's own format and writes it again as a
scene document of its own; no Blender file and no script is stored or served. A scene is refused
where an object or shot name, a shot prompt or a history entry spells an address: a URL with a
scheme and //, such as https://, a javascript:, vbscript: or data: URL, or a host written
as //host.name or www.host.name. The check also reads the text with invisible characters
removed, full-width letters in their plain form, and look-alike colons and slashes as colons and
slashes; letters from another script drawn like Latin ones are read as themselves. The document numbers objects and shots instead of carrying the studio's own
ids, so two items published from one scene share no identifier, though their names, prompts and
history read the same. Readers can turn a reduced model of the scene, lit by the Showcase rather than by
the scene's own lights, and download the document. The model opens through the scene's active camera,
or the first shot's camera where no camera is active. The Showcase does not record which shot
the video came from, so set the active camera to the one you rendered through. A frame narrower than
1:8 or wider than 8:1 opens fitted to the whole scene instead.
The final video is the one generated in this session, or the one last saved to the workspace, and it is checked against the digest recorded when it was generated, like any Showcase video. A control pass is shown only when a depth or clay clip the marketplace reads from the machine, from the studio's recent control renders, is byte for byte an input it recorded for that video. That shows the clip was what the video was given; that the clip was rendered from this scene is the machine's own statement. A scene shared without a video states its cost, time and settings as not recorded. Keep the machine running until the publish completes.
API and CLI
Scene editing and control rendering run inside the owned workspace. They do not introduce a second
public video API or bypass marketplace billing. A script can submit a prepared depth clip using the
video API's input references. heimdall videos create --input request.json --out clip.mp4 submits, polls and downloads in one
operation. heimdall videos show JOB_ID reads progress; adding --out clip.mp4 waits and downloads
without another submission. See the CLI reference for the complete options.