Beatlyze Audio analysis API

Audio analysis API

Ship audio-aware products without building your own analysis stack.

Submit audio, get an async job, and pull back BPM, key, loudness, mood, genre, and section data as production JSON. Live demo, docs, pricing, and first-request onboarding all sit on the public site.

Live JSON first. Signup second. Dashboard only when it helps.

Hetzner runtime OpenAPI + llms.txt Webhook-ready
  • Try the anonymous URL flow first and see the real response before you commit.
  • Use one X-API-Key header across uploads, URLs, polling, and webhooks.
  • Create a key on-page, then move straight into the first authenticated request.
live flow signal-ready contract
01

Submit

POST /v1/analyze/upload or POST /v1/analyze/url

02

Queue

Receive job_id with status: "processing"

03

Retrieve

Poll result endpoint or accept a webhook callback

analysis response
{
  "job_id": "8b7a5c17-b1a1-42fd-aab8-51d0c4ff3d2a",
  "status": "completed",
  "result": {
    "bpm": 127.8,
    "bpm_confidence": 0.94,
    "key": "A",
    "scale": "minor",
    "key_notation": "Am",
    "key_confidence": 0.88,
    "energy": 0.86,
    "danceability": 0.91,
    "valence": 0.44,
    "loudness_lufs": -8.1,
    "mood_tags": ["energetic", "dark"],
    "genre_suggestions": ["techno", "house"],
    "duration_seconds": 247.3,
    "time_signature": 4
  }
}
Async-first lifecycle Designed around queues, retries, polling, and webhooks
Structured JSON Built for apps, tools, and pipelines

Why teams switch

Built to ship product, not babysit audio infrastructure.

01

Async by default

Job-based analysis matches how audio processing actually behaves — queue, poll, or receive a webhook. No fake-sync wrappers.

02

Developer-first surface

One auth header, structured JSON responses, OpenAPI spec, and llms.txt. Integrates into existing tooling without ceremony.

03

No infrastructure to maintain

Submit audio, retrieve results. BPM, key, loudness, mood, genre, and section data without standing up a pipeline.

Request flow

Designed around real integration work.

The examples below use the headers, routes, and async lifecycle your backend actually exposes today.

curl -X POST https://api.beatlyze.dev/v1/analyze/upload \
  -H "X-API-Key: bz_your_api_key" \
  -F "[email protected]"

# -> { "job_id": "...", "status": "processing" }

curl https://api.beatlyze.dev/v1/analysis/JOB_ID \
  -H "X-API-Key: bz_your_api_key"
import requests
import time

with open("track.mp3", "rb") as handle:
    job = requests.post(
        "https://api.beatlyze.dev/v1/analyze/upload",
        headers={"X-API-Key": "bz_your_api_key"},
        files={"file": handle},
    ).json()

while True:
    res = requests.get(
        f"https://api.beatlyze.dev/v1/analysis/{job['job_id']}",
        headers={"X-API-Key": "bz_your_api_key"},
    ).json()
    if res["status"] == "completed":
        break
    time.sleep(1)
import { readFile } from "node:fs/promises";

const form = new FormData();
const file = await readFile("track.mp3");
form.append("file", new Blob([file]), "track.mp3");

const job = await fetch(
  "https://api.beatlyze.dev/v1/analyze/upload",
  {
    method: "POST",
    headers: { "X-API-Key": "bz_your_api_key" },
    body: form,
  }
).then((r) => r.json());
Upload or URL Two submission paths, same result lifecycle
Polling + webhooks Good for dashboards, queues, and background workflows

Try the live API

Drop a public URL. See the JSON. Decide if it fits.

This demo calls the live anonymous endpoint at POST /v1/demo/analyze/url, then polls the real job until the result is ready. No signup. No dashboard. Public audio URL only.

  • Uses the same async job lifecycle as the paid API
  • Shows the real JSON payload, not a mocked screenshot
  • Best for quick proof before creating an API key
  • After the result lands, move straight into signup and your first authenticated request

Move from proof to integration

Create the key here. Use the dashboard only for the next mile.

Enter an email. The form calls POST /v1/auth/register directly against the live API — no separate account portal or project setup. Your key is shown once, and the dashboard becomes the place to confirm verification, plan state, and the first real request.

  • No signup maze before you see the real API shape
  • The key is shown once. Store it before closing the tab.
  • The dashboard is prewired for plan, verification, and first-request checks
  • The production API base is preconfigured for you

Feature surface

Signals you can actually wire into product behavior.

Signal What it gives you Example
BPM + confidence Tempo with a per-result reliability score 127.8 / 0.94
Key + scale Harmonic notation, readable by key and scale Am
LUFS loudness Integrated loudness for normalization-aware workflows −8.1 LUFS
Energy + danceability Normalized behavioral signals for ranking and UX 0.86 / 0.91
Valence + mood tags Emotional descriptors for search and discovery energetic, dark
Genre suggestions Top candidates without hand-labeling techno, house
Section data Structural timing and per-section snapshots 7 sections
Usage endpoint Monthly quota and plan limits built in /v1/usage

Use cases

Where it fits product workflows.

Built for teams who need audio features in product workflows, but do not want to maintain their own analysis pipeline.

01

Catalog intelligence

Enrich tracks with tempo, key, loudness, and mood for search, filtering, and metadata pipelines. Works on batches via URL submission.

02

DJ and creator tools

BPM sorting, harmonic prep, energy-based sequencing — using the same analysis data your backend would compute anyway.

03

Recommendation systems

Structured audio signals for ranking, clustering, and playlist generation. Replaces hand-labeling or proxy signals from metadata.

Plans

Start lean, then scale when usage becomes real.

These plans match the current product surface: fixed monthly tiers with clear included usage.

Free

€0 / month

  • 50 analyses included
  • Upload + URL analysis
  • Polling workflow
  • Best for testing
Get API key

Pro

€49 / month

  • 10,000 analyses included
  • Usage + billing status visibility
  • Higher-volume API usage
  • Built for production apps

Start building

Ship audio features without building the analysis stack yourself.

Read the docs, open the full reference, or create a key and start integrating right away.

Need help or custom volume planning? [email protected]