API & MCP

Everything a person can do on Focus Room Playlist Renderer, a program or AI agent can do with the same inputs and get the identical result.

HTTP API

Focus Room Playlist Renderer

Renders a playlist of generated ambience scenes — Focus Room presets such as brown noise, light rain or a surf-like swell, and the generated Soundscape Atlas worlds — one after another with equal-power crossfades, then runs the master effects: low cut, high cut, an 8-band graphic EQ, room reverb, stereo width, volume and a gentle soft limiter. Paste scene lines or a whole Focus Room (JSON or share link). The result is a 16-bit stereo WAV file with a timeline of the scenes and the EQ curve; the Focus Room app uses the same renderer, so both give identical files.

Inputs of Focus Room Playlist Renderer
FieldTypeDefaultDescription
itemstextarea"brown-noise 20\nrainy-study-room 20\npink-rain 20"Scenes (one per line: scene id and seconds). Generated scenes: brown-noise, pink-rain, surf-like-swell, fireside, forest-stream, night-wind, rainy-study-room, submarine, medieval-tavern, spacecraft-hum, cavern-drips, coffee-shop-murmur. Write "brown-noise 30" or "fireside 2 min". Used when no room is pasted below.
projecttextarea—Focus Room (JSON or share link, optional). Paste a .focusroom.json file or a Focus Room share link to render its playlist (shuffle order included) with its master effects. Scenes with Wikimedia Commons recordings cannot be rendered on the server.
secondsPerItemnumber20Seconds per scene. Length of each scene of a pasted room (a room’s scenes usually last many minutes), and of scene lines without their own length.
crossfadenumber6Crossfade. Equal-power crossfade between scenes (at most half a scene). A pasted room uses its own crossfade.
fxselect (flat, warm, bright, far-away, small-room)"flat"Master effects preset. A pasted room uses its own master effects.
sampleRateselect (44100, 48000, 22050)"44100"Sample rate

Example request

Three study scenes, 20 seconds each, warm sound

curl -X POST https://focusroomplaylistrender.usefulweb.app/api/v1/calculate -H 'content-type: application/json' -d '{"items":"brown-noise 20\nrainy-study-room 20\npink-rain 20","secondsPerItem":20,"crossfade":6,"fx":"warm","sampleRate":"44100"}'

Every result contains

inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.

MCP (Model Context Protocol)

{
  "mcpServers": {
    "focusroom-playlist-render": { "type": "http", "url": "https://focusroomplaylistrender.usefulweb.app/mcp" }
  }
}