API Overview
The Sheet Music Manager API provides programmatic access to our optical music recognition (OMR) technology. Convert sheet music images and PDFs to MusicXML and MIDI formats using simple HTTP requests.
Base URL
Key Features
- High Accuracy: 98% accuracy on high-quality sheet music
- Multiple Formats: Support for PDF, JPEG, PNG, HEIC, and HEIF
- Fast Processing: Typical conversion times under 2 minutes
- Flexible Output: MusicXML and MIDI format support
- Batch Processing: Process multiple files simultaneously
- Real-time Status: Track job progress with webhooks
Authentication
The API uses API key authentication. Include your API key in the request headers:
You can obtain an API key by creating an account and visiting your dashboard. Free tier includes 10 conversions per month.
Available Endpoints
Upload and Process Sheet Music
Upload a sheet music file for optical music recognition processing.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
file | file | Required | Sheet music file (PDF, JPEG, PNG, HEIC, HEIF) |
format | string | Optional | Output format: "musicxml" (default) or "both" |
webhook_url | string | Optional | URL to receive completion notification |
Example Request
Response
Status Codes
200 OK File processed successfully
400 Bad Request Invalid file format or missing parameters
500 Internal Server Error Processing failed
Convert MusicXML to MIDI
Convert a MusicXML file to MIDI format.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
musicxml | file | Required | MusicXML file to convert |
Example Request
200 OK Returns MIDI file as binary data
Batch File Processing
Process multiple sheet music files in a single request (up to 10 files).
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
files | file[] | Required | Array of sheet music files (max 10) |
Example Response
Get Job Status
Check the status of a processing job.
Example Response
Error Handling
The API returns standard HTTP status codes and detailed error messages:
Common Error Codes
- 400 Bad Request: Invalid parameters or file format
- 401 Unauthorized: Invalid or missing API key
- 413 Payload Too Large: File exceeds 50MB limit
- 429 Too Many Requests: Rate limit exceeded
- 500 Internal Server Error: Processing failed
Rate Limits
To ensure fair usage, the API implements the following rate limits:
Endpoint | Limit | Window |
---|---|---|
General requests | 100 requests | 15 minutes |
File uploads | 5 uploads | 1 minute |
Heavy processing | 10 requests | 5 minutes |
Rate limit headers are included in responses:
Code Examples
JavaScript/Node.js
Python
PHP
Official SDKs
We provide official SDKs to make integration easier:
JavaScript/Node.js
Official SDK for JavaScript and Node.js applications
Python
Official Python SDK with async support
PHP
Composer package for PHP applications