Transcribe audio to MIDI (sync)
Transcribe audio with Audio-to-MIDI Pro into MIDI, structured notes, and MusicXML. The v1.0 URL versions the API contract, not the model. The result’s model field identifies the producing Audio-to-MIDI release; retain it with your transcript. Input audio can be up to 30 minutes and 100 MiB. The byte limit is independent, so some uncompressed files reach it before the duration limit; use a compressed format for long sources. Sync has a separate 12-minute limit based on the probed duration. Longer inputs return 422 sync_too_long before transcription or billing; use POST /v2/audio-to-midi/v1.0/jobs instead. After success the server bills max(1, round(seconds × 2.5)) over the duration it probes from the downloaded media, so the charge can differ from a preflight quote based on an inaccurate duration_ms. This request blocks until the filtered final result is ready and must finish within one server action; a longer client timeout does not extend the sync server runtime. Send one stable Idempotency-Key per logical sync request so a timed-out call can be retried safely.
Request
- Base URL: https://api.mirelo.ai
- URL: https://api.mirelo.ai/v2/audio-to-midi/v1.0/sync
- Auth: HTTP bearer
Headers
Stable key for one logical sync request, for retrying after an ambiguous response such as a transport timeout. Reuse it only with the identical body. While the original request is in progress, after it completed, or with a different body, the retry returns 409 idempotency_conflict instead of starting another billable request. A failed attempt may run again with the same key. A completed request's key is remembered for 24 to 48 hours after the original request completes, depending on when the daily sweep runs. A 409 retry does not extend this window; reusing the key after it is forgotten starts and bills a new request.
Request body
Example request
{
"audio": {
"type": "url",
"audio_url": "https://example.com/song.mp3"
},
"timing": "quantized",
"subdivision": "automatic",
"time_signature": {
"numerator": 6,
"denominator": 8
},
"tempo": {
"mode": "fixed",
"bpm": 120
},
"optimize_musicxml": true,
"instruments": [
"acoustic_guitar",
"voice"
]
}Response
Transcription artifacts and metadata
Changes
No recorded changes to this operation across all 1 revision of this API.