Skip to main content

musiccompanion. analyses

Asynchronous jobs: one job runs one analysis type against one audio source and returns a typed result.

The source is either an entity (its attached online audio) or an asset. A standalone asset works too, so you can analyse a temporary file without creating an entity:

  1. POST /api/v1/musiccompanion/assets with "retention": "standalone". The response carries an assetId and a signed upload target.
  2. PUT the audio bytes to upload.url with the returned upload.headers.
  3. POST /api/v1/musiccompanion/assets/{id}/confirm.
  4. POST /api/v1/musiccompanion/analyses with { "type": ..., "source": { "assetId": ... } }.
  5. Poll GET /api/v1/musiccompanion/analyses/{jobId} until it succeeds, then read result.

Standalone assets are cleaned up automatically after a retention period and never enter your song library.

To check whether a source already has results, filter the job list: GET /api/v1/musiccompanion/analyses?entityId=... or ?assetId=... (an assetId matches jobs that requested the asset directly and jobs whose entity source resolved to it).