BeatBandit MCP

Tools

/

Asset Query

/

project_assets_query

project_assets_query

read
beta
auth: project:read
approval: never
status: v1

Filter generated media assets, recurring shot elements, or scene moodboards for one BeatBandit project.

When to use

Use when the caller needs filtered asset reads instead of the broad `media_catalog` or `shot_element_library` resources.

Use `asset_kind=shot_element` for recurring element discovery before `shot_mutate(entity_type=element)` or `image_generate(workflow=generate_element)`; use the media kinds for generated audio/video assets.

Use `asset_kind=scene_audio` to find generated shot audio takes and `asset_kind=reference_audio` to find reusable uploaded voice samples.

Use `asset_kind=scene_moodboard` to discover scene-level art-direction references.

When not to use

Do not use for mutations or generation flows.

Do not use for broad project canon reads.

Do not use for story-card or scene reads; use `story_entity_query`.

Examples

“What music exists for scene 50.10.20?”

“List selected scene-audio takes for shot 101.”

“List reusable reference-audio voice samples.”

“List character shot elements for this project.”

“Does this project already have a recurring element for Anna?”

“List scene moodboards for scene 50.10.20.”

Anti-examples

  • Generate a new sound effect.
  • Update this wardrobe element prompt.
  • Attach a voice sample to a voice profile; use `voice_profile`.
  • Read the protagonist story card summary; use `story_entity_query`.

Backend capabilities

project_assets.query

Linked resources

Tool calls may return resource_links pointing at these resource families.

media_catalogshot_element_library

Input schema

project_assets_query input
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "project_id",
    "asset_kind"
  ],
  "properties": {
    "project_id": {
      "type": "integer"
    },
    "asset_kind": {
      "type": "string",
      "enum": [
        "video",
        "music",
        "speech",
        "dialogue",
        "sound_effect",
        "scene_audio",
        "reference_audio",
        "shot_element",
        "scene_moodboard"
      ]
    },
    "scene_code": {
      "type": "string"
    },
    "episode_code": {
      "type": "string"
    },
    "shot_id": {
      "type": "string"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "character",
        "environment",
        "object",
        "style",
        "other"
      ]
    },
    "tag": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 50
    },
    "cursor": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "allOf": [
    {
      "if": {
        "properties": {
          "asset_kind": {
            "const": "shot_element"
          }
        }
      },
      "then": {
        "not": {
          "anyOf": [
            {
              "required": [
                "episode_code"
              ]
            },
            {
              "required": [
                "shot_id"
              ]
            }
          ]
        }
      }
    },
    {
      "if": {
        "properties": {
          "asset_kind": {
            "enum": [
              "video",
              "music",
              "speech",
              "dialogue",
              "sound_effect",
              "scene_audio",
              "reference_audio",
              "scene_moodboard"
            ]
          }
        }
      },
      "then": {
        "not": {
          "required": [
            "element_type"
          ]
        }
      }
    }
  ]
}

Output schema

project_assets_query output
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "asset_kind",
    "items"
  ],
  "properties": {
    "asset_kind": {
      "type": "string"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "catalog_updated_at": {
      "type": "string"
    },
    "next_cursor": {
      "type": "string"
    },
    "resource_links": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "family",
          "uri"
        ],
        "properties": {
          "family": {
            "type": "string"
          },
          "uri": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": true
}

← All toolsv1 · query_tool