Skip to content

Music API

Render music from code

The MAP Audio Music API runs PAM's sound engine on our servers. Send a JSON request and get back audio and MIDI files: loops, stems, variations and DJ mixes rendered from PAM's factory presets, plus drum hits and MIDI patterns. No AI model makes the audio, and preset renders return their seed, so the same request with that seed plays back the same.

Already invited?

Invite-only while in preview. Invited accounts start on the free plan: 30 render-minutes a month.

What you can make

  • Loops at any length

    A factory preset rendered for a number of bars or seconds, up to five minutes, as WAV, FLAC or MP3.

    /v1/renders

  • Variations and seed batches

    A preset's variation slots, a batch of seeds, a morph toward another preset or a blend of several, in one job.

    variations

  • Stems

    A file per cell beside the master, in the render's format. Stems use no render-minutes.

    stems: true

  • Cutdowns and DJ sets

    Fit a preset to an exact length across its variations, or mix presets into a DJ set with PAM's transitions.

    /v1/arrangements/v1/dj/set

  • Drum hits and MIDI

    Drum hits from PAM's drum synth engines, and seeded genre patterns with an optional MIDI file. Neither uses render-minutes.

    /v1/synth/drum/v1/pattern/generate

  • Measure and master

    Loudness and peaks (BS.1770), or PAM's master chain, on files the API rendered.

    /v1/audio/analyze/v1/audio/master

Built for agents

Everything an agent needs to use the API on its own: an OpenAPI document, Markdown docs, an MCP server at https://api.map.audio/mcp and an installable skill.

Terminal
npx skills add https://map.audio --skill map-music-api

One request

With Prefer: wait=30 the API holds its answer until the render finishes, for up to 30 seconds; a longer render answers 202 with the job to poll. Read the docs

Terminal
curl -sS https://api.map.audio/v1/renders \
  -H "Authorization: Bearer $MAP_API_KEY" -H "Content-Type: application/json" \
  -H "Prefer: wait=30" \
  -d '{"source":{"preset":"pam:factory/313-disco"},"bars":8,"seed":42}'

Plans for invited accounts

Invited accounts start on the free plan. Paid plans raise the monthly allowance, how many renders run at once and how long files are kept; bought render-minutes top up any plan at $0.03 each.

Plans compared
Free$0a monthCreator$12a monthPro$39a monthApp$299a month
Render-minutes a month304001,50020,000
Audio a month, up to30 minutes6.7 hours25 hours333.3 hours
Renders at a time22520
Files kept7 days30 days90 days30 days
  • One render-minute is one minute of rendered audio. Each master file is charged what it rendered, at least 6 seconds. Stems are not charged.
  • Allowances reset on the first of each month (UTC). A plan bought mid-month gets the whole month's allowance at once.
  • Bought render-minutes last 1 year and top up any plan. Jobs use the monthly allowance first, then bought minutes, soonest expiry first.
  • A job holds its estimate while it runs and settles at what it rendered. A failed or cancelled render costs nothing.
  • Prices are in US dollars before tax. Stripe adds any tax at checkout. Cancel a plan in the billing portal and it runs to the end of the period you paid for.

Request access

Tell us what you are building. Sign in with your map.audio account (a new email creates one), add a line about your project, and we email you when your access is ready.