Your API Key

Use this API key to authenticate your requests to our B2B API. Keep it secure and do not share it publicly.

API Documentation

API Pricing

Pre-paid credit ā€œblocksā€ make budgeting simple. Buy the bundle that fits your volume—no setup fees or hidden charges.

PackageMasters includedEffective rateUp-front priceCheckout
Starter500 (500 credits)$0.50$250.00
Growth2,500 (2,500 credits)$0.25$625.00
Pro Studio5,000 (5,000 credits)$0.20$1,000.00
Production House10,000 (10,000 credits)$0.17$1,700.00
Enterprise30,000 (30,000 credits)$0.14$4,200.00
Custom SLA50k+negotiatedcustomTalk to sales

Mastering B2B API

Authenticate requests with your API key. Each song submission costs 25 credits ($0.50).

Mastered files are delivered via our CloudFront CDN and remain available for 30 days. Make sure to download any files you need to keep beyond that period.

1. Upload to Chosen Masters

Request a signed URL from our API and upload the file to our secure bucket.

const res = await fetch('https://chosenmasters.com/api/get-signed-url', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ fileName: 'file.wav', fileType: 'audio/wav' })
});
const { signedUrl, s3Key } = await res.json();
// PUT your file to signedUrl

2. Submit for Mastering

// submit track for mastering
const res = await fetch('https://chosenmasters.com/api/b2b/mastering', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': API_KEY
  },
  body: JSON.stringify({
    s3Key: 'path/to/file.wav',
    title: 'My Track',
    ext: 'wav',
    size: '5.4',
    mode: 'process' // process | lite | warm

  })
});
const data = await res.json();
console.log(data.jobId);

Optional mode values: process (Modern), lite (Open), orwarm (Powerful). Defaults to process.

3. Retrieve Mastered File

// check mastering status or download mastered file
const res = await fetch('https://chosenmasters.com/api/b2b/mastering/' + jobId, {
  headers: { 'x-api-key': API_KEY }
});
const data = await res.json();
console.log(data);