API Reference

Integrate InfiniteMix into your applications with our powerful REST API.

Quick Start

1. Get Your API Key

Log in to your InfiniteMix account and navigate to Settings → API to generate your API key.

API_KEY=im_live_1234567890abcdef

2. Make Your First Request

Use your API key to authenticate requests. Here's a simple example:

curl -X POST https://api.infinitemix.com/v1/mix \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tracks": ["https://example.com/track1.mp3"],
    "crossfade": 8,
    "format": "mp3"
  }'

3. Get the Result

The API returns a job ID. Poll the status endpoint to get your mix:

{
  "job_id": "mix_abc123",
  "status": "completed",
  "download_url": "https://cdn.infinitemix.com/abc123.mp3"
}

Simple Authentication

Bearer token authentication for secure and straightforward API access.

Rate Limiting

Fair usage limits: 100 requests/hour for standard accounts. Scales with usage.

RESTful Design

Clean, predictable REST API following industry best practices and standards.

Main Endpoints

POST/v1/mix

Create a new mix from multiple audio tracks.

View Parameters
{
  "tracks": ["url1", "url2"], // Required: Array of track URLs
  "crossfade": 8, // Optional: Crossfade duration in seconds (0-20)
  "format": "mp3", // Optional: Output format (mp3, wav, mp4)
  "normalize": true // Optional: Enable volume normalization
}
GET/v1/mix/:job_id

Get the status and result of a mix job.

View Response
{
  "job_id": "mix_abc123",
  "status": "completed", // pending, processing, completed, failed
  "progress": 100,
  "download_url": "https://cdn.infinitemix.com/abc123.mp3",
  "duration": 245.6
}
POST/v1/analyze

Analyze a track to get BPM, key, and energy information.

View Parameters
{
  "track_url": "https://example.com/track.mp3" // Required
}
DELETE/v1/mix/:job_id

Cancel a pending or processing mix job.

Code Examples

JavaScript / Node.js

const response = await fetch(
  'https://api.infinitemix.com/v1/mix',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      tracks: ['url1.mp3', 'url2.mp3'],
      crossfade: 8
    })
  }
);

Python

import requests

response = requests.post(
  'https://api.infinitemix.com/v1/mix',
  headers={
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  json={
    'tracks': ['url1.mp3', 'url2.mp3'],
    'crossfade': 8
  }
)

Need Help with the API?

Check our full documentation or contact our developer support team.