Beta Stage Notice

Resomix is currently in beta. You may encounter bugs or incomplete features while we continue improving the sonic discovery experience. If you find an issue, please report it through our contact page.

Developers // Live · Partner-scoped REST API · Powered by PYXIS-1

Put similarity and track intelligence inside your product.

Search your own catalogue by sound and rank it by how the music actually sounds, through a partner-scoped REST API. Structured Track Intelligence analysis is enabled on request, against your own catalogue.

View Full API Reference

Partner-scoped · Versioned JSON · Private catalogue index

API at a glance
  • Search + similarity · LIVE
  • Track analysis · ON DEMAND
  • Partner-catalogue only
  • Batch ingestion · LIVE
  • Guided pilot · AVAILABLE
Request router · One request enters, sonic intelligence returnsFictional data
ROUTE: SIMILARITY · ranked matches from your private indexno shared partner catalogue exists on this diagram, or in the product

01 // Capabilities

Three capabilities. One partner-scoped API.

questioninput → outputendpointsstatus

"Find the partner-catalogue track ID for this title or artist."

in: title / artist / auto query
out: matching partner tracks + IDs

GET /api/v1/search_tracks/

LIVE

"Which tracks in our catalogue sound most like this one?"

in: catalogue track ID · or uploaded reference (≤100 MB)
out: ranked matches · scores · metadata · playlist info

POST /api/v1/similarity/search
POST /api/v1/similarity/upload

LIVE

"What does this track contain and how does it behave?"track analysis api

in: uploaded audio
out: versioned structured JSON (async)

POST /api/v1/analysis/upload
GET /api/v1/analysis/{id}/status

GET /api/v1/analysis/{id}/result

ON DEMAND

result depths: 10 · 20 · 50 · 100. Full parameters and schemas live at api-docs.resomix.com

Search and similarity are enabled on every partner key. Track analysis is provisioned on request and runs against your own catalogue, so talk to us before building on it. Returned fields are versioned and may be partial or optional.

02 // The search space

Your key searches your catalogue. Nothing else.

Partner isolation · Two partners, two sealed indexesPARTNER A · PRIVATE INDEXrmx_live_…aPARTNER B · PRIVATE INDEXrmx_live_…bUPLOADEDREFERENCEresults return only from partner aNO SHARED POOLno cross-partner pathpartner b: identical api · sealed separately
YOUR PRIVATE INDEXUPLOADED REFERENCEresults return from this boundary only

No shared catalogue. No cross-partner results.

Every partner runs against its own sealed index: its own catalogue, credentials and results. A key can never query another partner's catalogue or Resomix's consumer product, and an uploaded reference is only ever a query against your own index.

No shared public pool. Each partner has its own catalogue, credentials, index and results.

No cross-partner retrieval. A key can never query another partner's catalogue, or Resomix's consumer product.

Uploads stay queries. An uploaded reference is analysed as the query; its matches still come only from your own indexed catalogue.

03 // Workflows

See the request. Read the response.

Five supported workflows: real endpoints, real envelope, fictional data.

WORKFLOW · SEARCH → TRACK ID → SIMILARITYSample request · Fictional data · Placeholder key
requestGET /api/v1/search_tracks/ → POST /api/v1/similarity/search
GET /api/v1/search_tracks/?query=night+transit&mode=auto Authorization: Bearer rmx_live_xxxxxxxxxxxxxxxxxxxxxxxx # then feed the returned ID into similarity: POST /api/v1/similarity/search { "track_id": "trk_71f5e8c0", "top_sk": 20 }
responseenvelope: check success before reading data
{ "success": true, "data": { "queried_track": { "rank": 0, "score": 1.0, "id": "trk_71f5e8c0", "artist": "Signal Frame", "title": "Night Transit" }, "similar_tracks": [ { "rank": 1, "score": 0.9821, "id": "trk_b803c120", "artist": "Phase Archive", "title": "Low Meridian" } … 19 more ranked matches ] } }

Search is metadata-based: it finds the partner track ID, which similarity then uses. Two calls, one workflow.

compare rank order within a response; raw score bands are not universal quality measures across unrelated queries · examples are generic http, not official sdks

04 // Onboarding

Deliver the catalogue once. Query it through the API.

The API searches a private index built from your catalogue. Managed batch ingestion is the live onboarding route today.

Ingestion rail · SFTP + CSV manifestLive onboarding pathISOLATED SFTPaudio + manifest.csv.donesent lastVALIDATIONPYXIS-1 PROCESSING70+ characteristicsPRIVATE INDEXbuilt / rebuiltREADYWEBHOOK → PARTNER NOTIFICATIONRECEIVED →VALIDATING →PROCESSING →INDEXING →READY
RECEIVEDVALIDATINGPROCESSINGINDEXINGREADY

audio + csv manifest → .done marker last → webhook when ready

  1. Deliver audio + CSV manifest
  2. Add .done last
  3. Resomix validates and processes
  4. Private index ready, webhook notifies you
missing audio filemanifest row 214 references a file not present in the batch, so the batch is rejected and the row is named in the report
duplicate isrctwo rows share one ISRC, so the batch is rejected and both rows are named in the report
unsafe archivezip failed safety checks, so it is rejected before processing and the partner notified
accepted audio: .mp3 · .wav · .flac · .aiff; required manifest columns: isrc · title · display_artist · audio_filename; optional: bpm · duration_ms · genre · musical_key · release_date · upc_ean and more[ View Ingestion Requirements → ]

a partial upload never starts processing · .done is sent last · one active batch per partner · validation is all-or-nothing, so a rejected batch is corrected and re-sent with a new .done · new batches top up the catalogue and rebuild the private index

05 // Analysis data

Turn audio into versioned product data.

result fragment · rhythmversioned structured json
{ "bpm": 124.02, "confidence": 0.94, "beat_times_seconds": [ 0.482, 0.966, 1.450, ], "downbeats_seconds": [ 0.482, 2.418, ], "bar_count": 96, "phrase_boundaries_seconds": [ 0.0, 30.9, 61.8, ] }

Read results defensively. Fields may be optional: a partial result returns the fields that completed successfully, with the job status alongside.

[ Explore the Analysis Schema → ]

06 // Integration

Use the live path today. Plan the next layer later.

REST APILIVE

Similarity and search inside your existing backend or application, using your interface and your customer journey. Requires an indexed partner catalogue. Track analysis can be added on request.

Batch ingestionLIVE

Managed SFTP onboarding that builds and grows the private index. Required before partner-catalogue similarity

Guided pilotAVAILABLE

Evaluate on a representative sample of your own catalogue with a scoped key; this is the current evaluation route.

Self-serve trialPLANNED

A self-serve trial catalogue is planned. It is not available today.

Embeddable widgetPLANNED

A ready-made "find similar" interface for minimal front-end work. Planned.

White-labelPLANNED

The experience under your own brand, on enterprise terms. Planned.

Scoped access · Predictable responses
authenticationsend the key in the bearer header · do not put it in a query string
Authorization: Bearer rmx_live_xxxxxxxxxxxxxxxxxxxxxxxx
envelopecheck success before reading data
{ "success": true, "data": { … } } { "success": false, "error": "Human-readable message." }

versioned /api/v1 routes · scoped keys, e.g. search:read · keys begin rmx_

Service modes & limits
Similarity only

IDs, scores and metadata. No audio access.

LIVE
Similarity + playback

Adds short-lived playback tokens for authorised media requests. Available only to provisioned partners with the required service mode and rights.

PLAYBACK: PERMISSION-GATED
rate limits & quotaslimits are provisioned per partner agreement
429retry-afterexponential backoff

Per-second limits and monthly quotas apply. On HTTP 429, respect Retry-After and use exponential backoff.

07 // Evaluate

Test the API on your own catalogue.

There is no public sandbox today. The current evaluation path is a guided pilot using a representative sample of your own catalogue.

GUIDED API PILOT: AVAILABLESELF-SERVE TRIAL: PLANNEDPUBLIC SANDBOX: NOT AVAILABLE

Similarity is only meaningful inside a real catalogue. A shared demo pool would misrepresent both the isolation model and the results you would see in production. The guided pilot puts a scoped key against your own repertoire instead: the same API, honest results. A self-serve trial catalogue is planned.

Agree the use case

Goals and success criteria, set together.

Deliver a sample

A representative catalogue slice via managed SFTP.

Validate & index

Resomix validates, processes and indexes it privately.

Receive a scoped key

Partner-scoped credentials for your sample.

Test privately

Search and Similarity against your own data, plus Analysis if you asked for it.

For engineering & product teams

Request a guided API pilot.

private evaluation · scoped key · your own catalogue sample

For implementation detail

The full reference lives in the docs.

self-serve trial · widget · white-label · planned