spatial9-enterprise-catalog/SKILL.md
SKILL.md: full Markdown source from the spatial9-enterprise-catalog folder of Spatial9 Agent Skills. Free, MIT licensed code for immersive audio with the...
Raw file · View on GitHub · Download every file as a zip
Spatial9 enterprise catalog
Requires the Spatial9 MCP server at https://spatial9.ai/mcp with a service key (Authorization: Bearer s9_...) created at https://spatial9.ai/connect. Store the key in the platform's secret store: Databricks secret scopes, Snowflake secrets, Google Secret Manager or AWS Secrets Manager. Never paste it into code, notebooks or prompts.
Steps
- Read the work list from a governed table (for example
catalog.renders_queue) withtrack_id,title,source_urlor a file path, andstatus = 'pending'. - For a file that is not on a public https link, call
create_upload_linkand PUT the file todirect_upload_url(2 hours, up to 2 GB). - Call
create_spatial_audiowithupload_idorsource_url,media_type: "music",title,style,include_binaural: trueandidempotency_key = "<platform>-<track_id>-<version>". - Keep at most 3 renders running at once and at most 20 per day per account. Leave the rest as
pendingfor the next run. - Poll
get_job_statusevery 30 to 60 seconds, or schedule a second short job that checks every running row. - When
statusiscompleted, callget_downloadsand copybinaural,iamfandyoutube_videointo governed storage (Volumes, stages, Cloud Storage or S3). - Write
job_id,status,stage, file paths and timestamps back to the table so every render is auditable.
Platform recipes
- Databricks:
examples/enterprise/databricks/ - Snowflake:
examples/enterprise/snowflake/ - Google Vertex AI and Cloud Run:
examples/enterprise/vertex-ai/ - Amazon Bedrock and AWS:
examples/enterprise/bedrock/ - Shared Python client with the MCP handshake:
examples/enterprise/shared/spatial9_mcp.py
Rules
- Only render music the organisation owns or has permission to use.
- Reuse the same
idempotency_keyon retries. A retry must never start a second render. - A failed render refunds its project. Record the plain-language reason and do not retry more than twice.
- Never invent download links. Only use URLs returned by
get_downloads. - Never log the key or full download URLs in shared logs.
- Microsoft Fabric is not a supported platform for these recipes.