Local API¶
Experimental
The local HTTP API is experimental. The API design may change in future releases.
The local API allows other applications to send audio files to Murmure for transcription without using the GUI.
Quick Start¶
- Open Murmure
- Go to Settings > System
- Find Local API (Experimental) and toggle it ON
- The API starts on
http://localhost:4800 - (Optional) Change the port if needed
The API runs as long as Murmure is open.
Endpoint¶
POST http://localhost:4800/api/transcribe
Send a multipart form with a WAV file:
Response¶
Success (200):
Error (4xx/5xx):
Code Examples¶
const fs = require('fs');
const FormData = require('form-data');
const axios = require('axios');
const form = new FormData();
form.append('audio', fs.createReadStream('recording.wav'));
const response = await axios.post(
'http://localhost:4800/api/transcribe',
form,
{ headers: form.getHeaders() }
);
console.log(response.data.text);
Limitations¶
| Constraint | Value |
|---|---|
| Audio format | WAV only |
| Max file size | 100 MB |
| Optimal sample rate | 16kHz mono (others are resampled) |
| Real-time streaming | Not supported |
| Concurrent requests | Sequential only (queued) |
| Network access | localhost / 127.0.0.1 only |
| CORS | Disabled |
Notes¶
- The custom dictionary is automatically applied to API transcriptions
- Language is auto-detected (no way to force a language)
- The first request is slower (model warmup)
- The port can be configured between 1024 and 65535