Tool tree
gradeNot graded
inspect_projectAction
Read the complete high-level state before editing.
View tool JSON
{
"name": "inspect_project",
"kind": "act",
"impl": "imperative",
"description": "Read the complete high-level state before editing.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/inspect-project.json",
"type": "object",
"additionalProperties": false,
"properties": {}
}
}create_projectAction
Start a blank held-cel frame animation.
View tool JSON
{
"name": "create_project",
"kind": "act",
"impl": "imperative",
"description": "Start a blank held-cel frame animation.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/create-project.json",
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"fps": {
"enum": [
12,
24
]
},
"frameCount": {
"type": "integer",
"minimum": 12,
"maximum": 1440
},
"renderPreset": {
"enum": [
"720p",
"1080p"
]
},
"expectedRevision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic-concurrency guard from a fresh read."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Unique retry key. Repeated calls return the first result."
}
},
"required": [
"name"
]
}
}load_demoAction
Load one of the three complete multi-scene demo animations.
View tool JSON
{
"name": "load_demo",
"kind": "act",
"impl": "imperative",
"description": "Load one of the three complete multi-scene demo animations.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/load-demo.json",
"type": "object",
"additionalProperties": false,
"properties": {
"demoId": {
"enum": [
"brick-breakout",
"deadline-show",
"no-clams-no-patty"
]
},
"expectedRevision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic-concurrency guard from a fresh read."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Unique retry key. Repeated calls return the first result."
}
},
"required": [
"demoId"
]
}
}edit_storyboardAction
Add, update, delete, or reorder a story scene and its storyboard beat.
View tool JSON
{
"name": "edit_storyboard",
"kind": "act",
"impl": "imperative",
"description": "Add, update, delete, or reorder a story scene and its storyboard beat.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/edit-storyboard.json",
"type": "object",
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"add",
"update",
"delete",
"move"
]
},
"sceneId": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"frameCount": {
"type": "integer",
"minimum": 12,
"maximum": 1440
},
"toIndex": {
"type": "integer",
"minimum": 0
},
"expectedRevision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic-concurrency guard from a fresh read."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Unique retry key. Repeated calls return the first result."
}
},
"required": [
"action"
]
}
}set_current_sceneAction
Open a scene by ID and reset its local playhead.
View tool JSON
{
"name": "set_current_scene",
"kind": "act",
"impl": "imperative",
"description": "Open a scene by ID and reset its local playhead.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/set-current-scene.json",
"type": "object",
"additionalProperties": false,
"properties": {
"sceneId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic-concurrency guard from a fresh read."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Unique retry key. Repeated calls return the first result."
}
},
"required": [
"sceneId"
]
}
}get_timelineAnswer
Read scene-local tracks, held drawings, captions, mouth cues, and SFX.
View tool JSON
{
"name": "get_timeline",
"kind": "answer",
"impl": "imperative",
"description": "Read scene-local tracks, held drawings, captions, mouth cues, and SFX.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/get-timeline.json",
"type": "object",
"additionalProperties": false,
"properties": {
"sceneId": {
"type": "string"
}
}
}
}set_playheadAction
Move to an exact integer frame in the active scene.
View tool JSON
{
"name": "set_playhead",
"kind": "act",
"impl": "imperative",
"description": "Move to an exact integer frame in the active scene.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/set-playhead.json",
"type": "object",
"additionalProperties": false,
"properties": {
"frame": {
"type": "integer",
"minimum": 0
},
"sceneId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic-concurrency guard from a fresh read."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Unique retry key. Repeated calls return the first result."
}
},
"required": [
"frame"
]
}
}get_animation_framesAnswer
Read exposed drawings for one track or every track in a scene.
View tool JSON
{
"name": "get_animation_frames",
"kind": "answer",
"impl": "imperative",
"description": "Read exposed drawings for one track or every track in a scene.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/get-animation-frames.json",
"type": "object",
"additionalProperties": false,
"properties": {
"sceneId": {
"type": "string"
},
"trackId": {
"type": "string"
}
}
}
}edit_animation_frameAction
Add, update, duplicate, or delete one exposed drawing with hold semantics.
View tool JSON
{
"name": "edit_animation_frame",
"kind": "act",
"impl": "imperative",
"description": "Add, update, duplicate, or delete one exposed drawing with hold semantics.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/edit-animation-frame.json",
"type": "object",
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"add",
"update",
"duplicate",
"delete"
]
},
"sceneId": {
"type": "string"
},
"trackId": {
"type": "string"
},
"celId": {
"type": "string"
},
"frame": {
"type": "integer",
"minimum": 0
},
"exposure": {
"type": "integer",
"minimum": 1
},
"drawing": {
"type": "string"
},
"assetId": {
"type": "string"
},
"assetFrame": {
"type": "integer",
"minimum": 0,
"maximum": 63
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"scale": {
"type": "number",
"minimum": 0.05,
"maximum": 8
},
"rotation": {
"type": "number",
"minimum": -360,
"maximum": 360
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"expectedRevision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic-concurrency guard from a fresh read."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Unique retry key. Repeated calls return the first result."
}
},
"required": [
"action",
"trackId"
]
}
}get_lip_syncAnswer
Read compact X/A/B/C/D/E/F/G/H mouth cues for a scene.
View tool JSON
{
"name": "get_lip_sync",
"kind": "answer",
"impl": "imperative",
"description": "Read compact X/A/B/C/D/E/F/G/H mouth cues for a scene.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/get-lip-sync.json",
"type": "object",
"additionalProperties": false,
"properties": {
"sceneId": {
"type": "string"
}
}
}
}generate_lip_syncAction
Estimate held mouth shapes from every caption; use Rhubarb later for aligned cues.
View tool JSON
{
"name": "generate_lip_sync",
"kind": "act",
"impl": "imperative",
"description": "Estimate held mouth shapes from every caption; use Rhubarb later for aligned cues.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/generate-lip-sync.json",
"type": "object",
"additionalProperties": false,
"properties": {
"sceneId": {
"type": "string"
},
"allScenes": {
"type": "boolean"
},
"expectedRevision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic-concurrency guard from a fresh read."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Unique retry key. Repeated calls return the first result."
}
}
}
}probe_local_voiceAction
Check the localhost bridge for OmniVoice or the deterministic preview engine.
View tool JSON
{
"name": "probe_local_voice",
"kind": "act",
"impl": "imperative",
"description": "Check the localhost bridge for OmniVoice or the deterministic preview engine.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/probe-local-voice.json",
"type": "object",
"additionalProperties": false,
"properties": {}
}
}generate_voiceAction
Generate private local speech and attach its WAV plus estimated timing to the current project.
View tool JSON
{
"name": "generate_voice",
"kind": "act",
"impl": "imperative",
"description": "Generate private local speech and attach its WAV plus estimated timing to the current project.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/generate-voice.json",
"type": "object",
"additionalProperties": false,
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"label": {
"type": "string"
},
"sceneId": {
"type": "string"
},
"startFrame": {
"type": "integer",
"minimum": 0
},
"characterId": {
"type": "string"
},
"durationMs": {
"type": "integer",
"minimum": 80,
"maximum": 30000
},
"expectedRevision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic-concurrency guard from a fresh read."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Unique retry key. Repeated calls return the first result."
}
},
"required": [
"text"
]
}
}edit_audioAction
List, add, update, or delete voice/music cues in a scene.
View tool JSON
{
"name": "edit_audio",
"kind": "act",
"impl": "imperative",
"description": "List, add, update, or delete voice/music cues in a scene.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/edit-audio.json",
"type": "object",
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"list",
"add",
"update",
"delete"
]
},
"sceneId": {
"type": "string"
},
"cueId": {
"type": "string"
},
"label": {
"type": "string"
},
"kind": {
"enum": [
"voice",
"music"
]
},
"startFrame": {
"type": "integer",
"minimum": 0
},
"endFrame": {
"type": "integer",
"minimum": 1
},
"volume": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"assetId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic-concurrency guard from a fresh read."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Unique retry key. Repeated calls return the first result."
}
},
"required": [
"action"
]
}
}generate_sfxAction
Add a deterministic Web Audio sound recipe—no stock library or network required.
View tool JSON
{
"name": "generate_sfx",
"kind": "act",
"impl": "imperative",
"description": "Add a deterministic Web Audio sound recipe—no stock library or network required.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/generate-sfx.json",
"type": "object",
"additionalProperties": false,
"properties": {
"sceneId": {
"type": "string"
},
"label": {
"type": "string"
},
"recipe": {
"enum": [
"alarm",
"brick-pop",
"cash-register",
"error-zap",
"jelly-bloop",
"keyboard",
"portal",
"splash",
"success",
"whoosh"
]
},
"startFrame": {
"type": "integer",
"minimum": 0
},
"durationFrames": {
"type": "integer",
"minimum": 1,
"maximum": 240
},
"volume": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"seed": {
"type": "integer"
},
"expectedRevision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic-concurrency guard from a fresh read."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Unique retry key. Repeated calls return the first result."
}
},
"required": [
"recipe",
"startFrame"
]
}
}list_assetsAnswer
Read asset metadata and approval state without returning large payloads.
View tool JSON
{
"name": "list_assets",
"kind": "answer",
"impl": "imperative",
"description": "Read asset metadata and approval state without returning large payloads.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/list-assets.json",
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"enum": [
"background",
"character",
"prop",
"frame",
"audio",
"mouth-pack"
]
}
}
}
}get_asset_generation_checklistAnswer
Get the frame-animation generation contract before creating media.
View tool JSON
{
"name": "get_asset_generation_checklist",
"kind": "answer",
"impl": "imperative",
"description": "Get the frame-animation generation contract before creating media.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/asset-checklist.json",
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"enum": [
"background",
"character",
"prop",
"frame",
"mouth-pack"
]
}
},
"required": [
"kind"
]
}
}create_asset_requestAction
Save a durable prompt and checklist before image generation.
View tool JSON
{
"name": "create_asset_request",
"kind": "act",
"impl": "imperative",
"description": "Save a durable prompt and checklist before image generation.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/create-asset-request.json",
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"enum": [
"background",
"character",
"prop",
"frame",
"mouth-pack"
]
},
"label": {
"type": "string",
"minLength": 1
},
"prompt": {
"type": "string",
"minLength": 1
},
"expectedRevision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic-concurrency guard from a fresh read."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Unique retry key. Repeated calls return the first result."
}
},
"required": [
"kind",
"label",
"prompt"
]
}
}attach_generated_assetAction
Attach bounded image bytes as a new candidate; never replaces a source in place.
View tool JSON
{
"name": "attach_generated_asset",
"kind": "act",
"impl": "imperative",
"description": "Attach bounded image bytes as a new candidate; never replaces a source in place.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/attach-generated-asset.json",
"type": "object",
"additionalProperties": false,
"properties": {
"requestId": {
"type": "string"
},
"dataUrl": {
"type": "string",
"minLength": 32,
"maxLength": 12000000
},
"mimeType": {
"enum": [
"image/png",
"image/jpeg",
"image/webp"
]
},
"expectedRevision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic-concurrency guard from a fresh read."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Unique retry key. Repeated calls return the first result."
}
},
"required": [
"requestId",
"dataUrl"
]
}
}inspect_asset_candidateAction
Read dimensions, transparency, checklist, prompt, and provenance before approval.
View tool JSON
{
"name": "inspect_asset_candidate",
"kind": "act",
"impl": "imperative",
"description": "Read dimensions, transparency, checklist, prompt, and provenance before approval.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/inspect-asset-candidate.json",
"type": "object",
"additionalProperties": false,
"properties": {
"assetId": {
"type": "string"
}
},
"required": [
"assetId"
]
}
}approve_assetAction
Approve or reject a visually inspected candidate.
View tool JSON
{
"name": "approve_asset",
"kind": "act",
"impl": "imperative",
"description": "Approve or reject a visually inspected candidate.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/approve-asset.json",
"type": "object",
"additionalProperties": false,
"properties": {
"assetId": {
"type": "string"
},
"decision": {
"enum": [
"approve",
"reject"
]
},
"expectedRevision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic-concurrency guard from a fresh read."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Unique retry key. Repeated calls return the first result."
}
},
"required": [
"assetId",
"decision"
]
}
}validate_projectAction
Check integer frames, exposure holds, references, lip cues, SFX, and approval state.
View tool JSON
{
"name": "validate_project",
"kind": "act",
"impl": "imperative",
"description": "Check integer frames, exposure holds, references, lip cues, SFX, and approval state.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/validate-project.json",
"type": "object",
"additionalProperties": false,
"properties": {}
}
}inspect_frameAction
Evaluate one exact held-cel frame using the same state as preview and export.
View tool JSON
{
"name": "inspect_frame",
"kind": "act",
"impl": "imperative",
"description": "Evaluate one exact held-cel frame using the same state as preview and export.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/inspect-frame.json",
"type": "object",
"additionalProperties": false,
"properties": {
"sceneId": {
"type": "string"
},
"frame": {
"type": "integer",
"minimum": 0
},
"includePng": {
"type": "boolean"
}
}
}
}export_frameAction
Export an exact scene frame as PNG using the production evaluator.
View tool JSON
{
"name": "export_frame",
"kind": "act",
"impl": "imperative",
"description": "Export an exact scene frame as PNG using the production evaluator.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/export-frame.json",
"type": "object",
"additionalProperties": false,
"properties": {
"sceneId": {
"type": "string"
},
"frame": {
"type": "integer",
"minimum": 0
},
"download": {
"type": "boolean"
}
}
}
}render_webmAction
Render every held-cel scene with captions, generated dialogue, optional music, and procedural SFX.
View tool JSON
{
"name": "render_webm",
"kind": "act",
"impl": "imperative",
"description": "Render every held-cel scene with captions, generated dialogue, optional music, and procedural SFX.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/render-webm.json",
"type": "object",
"additionalProperties": false,
"properties": {
"download": {
"type": "boolean"
}
}
}
}undoAction
Undo the most recent project edit.
View tool JSON
{
"name": "undo",
"kind": "act",
"impl": "imperative",
"description": "Undo the most recent project edit.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/undo.json",
"type": "object",
"additionalProperties": false,
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic-concurrency guard from a fresh read."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Unique retry key. Repeated calls return the first result."
}
}
}
}redoAction
Redo the most recently undone edit.
View tool JSON
{
"name": "redo",
"kind": "act",
"impl": "imperative",
"description": "Redo the most recently undone edit.",
"inputSchema": {
"$id": "https://stagehand.local/schemas/redo.json",
"type": "object",
"additionalProperties": false,
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic-concurrency guard from a fresh read."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Unique retry key. Repeated calls return the first result."
}
}
}
}