Spatial9 for AI agents: the Spatial9 A2A agent

The Spatial9 A2A agent is an Agent2Agent (A2A) protocol endpoint. Other AI agents read its Agent Card, send it a task with a song or video, and receive immersive audio files back when the render finishes. It uses the same Spatial9 account, key and plan as the Spatial9 MCP connector for AI assistants.

Agent address: https://spatial9.ai/a2a. Agent Card: https://spatial9.ai/.well-known/agent-card.json. Protocol: A2A 0.3.0 over JSON-RPC 2.0.

MCP or A2A?

The MCP connector lets AI assistants such as ChatGPT, Claude and Gemini call Spatial9 tools directly (set up an assistant). The A2A agent lets another AI agent hand over a whole task and follow it until the files are ready. Both use the same account and plan.

How it works

  1. Discover: Your agent reads the Spatial9 Agent Card and learns the five skills, how to sign in and what files come back.
  2. Send a task: It sends message/send or message/stream with a link to the song or video, or an upload ID, plus the skill it wants.
  3. Spatial9 renders: Gravity AI separates the instruments and places each one in 3D space. The task moves from submitted to working.
  4. Get the files: When the task is completed, its artifacts hold download links for Eclipsa Audio, the headphone mix, stems or MP4.

Skills

  • spatial_audio, Make immersive Eclipsa Audio (Minutes): A stereo song becomes Eclipsa Audio (IAMF), a YouTube-ready MP4 and a binaural headphone WAV. A video gets a YouTube-ready MP4 with Eclipsa Audio inside, Ambisonics and a headphone version.
  • split_stems, Split a song into stems (4 to 8 min): Separates a mixed song into instrument stems and delivers each one as a WAV file.
  • convert_dolby, Convert Dolby or ADM (Minutes): Converts AC-3, E-AC-3, TrueHD or an ADM BWF master to Eclipsa Audio. ADM masters keep their beds and objects.
  • preview_chorus, Preview the chorus (Under 2 min): Finds the chorus and returns a 30-second binaural headphone WAV. Free, uses no project.
  • upload_link, Get an upload link (Instant): Returns a private upload address (up to 2 GB, valid 2 hours) for a file that is not online yet.

Task states

  • submitted: The task was accepted.
  • working: Spatial9 is rendering. Each stage arrives as a status update.
  • input-required: A file is missing. Send a link or upload ID in the same task.
  • completed: The files are ready as artifacts.
  • canceled: Stopped with tasks/cancel. Refunded if paid processing had not started.
  • failed: The render could not finish. The project is refunded.

Ways to follow a task

  • Live stream (message/stream): Watch each stage arrive as it happens. Streams through spatial9.ai close after about 20 seconds; call tasks/resubscribe to keep following. Best for chat interfaces and interactive agents.
  • Webhook (pushNotificationConfig): Spatial9 posts the full task to your https address each time its state changes, with your token in the X-A2A-Notification-Token header. Best for back-end workflows and orchestrators.
  • Polling (tasks/get): Ask for the task every 30 to 60 seconds until it is completed. Best for simple scripts.

Methods

  • message/send
  • message/stream
  • tasks/get
  • tasks/resubscribe
  • tasks/cancel
  • tasks/pushNotificationConfig/set
  • tasks/pushNotificationConfig/get
  • tasks/pushNotificationConfig/list
  • tasks/pushNotificationConfig/delete

Limits

  • Renders use one project from your Spatial9 plan and are refunded automatically if they fail. A canceled render is refunded only if paid processing had not started. Chorus previews are free.
  • Up to 3 renders at a time, 20 per day and 120 agent tasks per hour.
  • Reusing a messageId returns the same task instead of starting a second render.
  • Webhooks must use https on a public host and port 443. Up to five per task; a webhook stops after five failed deliveries in a row or after two days.
  • Remixing a finished render and publishing to YouTube stay in the Spatial9 MCP connector.

Questions

What is the Spatial9 A2A agent?

The Spatial9 A2A agent is an Agent2Agent (A2A) protocol endpoint. Other AI agents read its Agent Card, send it a task with a song or video, and receive immersive audio files back when the render finishes. It uses the same Spatial9 account, key and plan as the Spatial9 MCP connector for AI assistants.

What is the difference between the A2A agent and the MCP connector?

MCP connects an AI assistant to tools, so the assistant calls Spatial9 directly. A2A connects agents to agents, so your agent hands a whole task to the Spatial9 agent and follows it until the files are ready. Both use the same account and plan.

How does an agent sign in?

With a personal Spatial9 key that starts with s9_, sent as Authorization: Bearer or X-API-Key, or with OAuth 2.1 and PKCE using the spatial_audio scope. Create a key on the Connect page.

Does the agent support streaming and push notifications?

Yes. message/stream and tasks/resubscribe send live status and artifact updates, and tasks/pushNotificationConfig sets webhooks that receive the task whenever its state changes. Polling tasks/get also works.

Which agent frameworks can use it?

Any client that speaks A2A 0.3.0 over JSON-RPC, for example an agent built with Google ADK, or a plain HTTP request from a workflow tool.

Learn more

Last updated .