---
url: https://flat.io/developers/docs/api/omr/faq.md
description: >-
  Answers to the questions developers ask most about Flat's Optical Music
  Recognition API: access, credits and billing, limits and performance,
  recognition quality, and data privacy.
---

# OMR API FAQ

The questions developers ask us most about Flat's
[Optical Music Recognition API](/api/omr/), grouped by topic. If your question is not answered here,
email <developers@flat.io>.

## Browse by topic

| Topic | What it covers |
|:--|:--|
| **[Credits and billing](/api/omr/faq/credits)** | How credits are counted, what a job costs, refunds, `402` errors, packs, and volume pricing. |
| **[Limits, performance, and integration](/api/omr/faq/limits)** | Page, file, and size limits, concurrency, processing time, and serving many end users from one account. |
| **[Recognition quality and languages](/api/omr/faq/quality)** | What OMR reads well, lyric language support, what to do about a bad conversion, and ML model versions. |
| **[Commercial use, privacy, and data](/api/omr/faq/legal)** | Commercial rights to the output, model training, data retention, deletion, and the DPA. |

## Getting started

### How do I get access to the OMR API?

Create a [Flat account](https://flat.io), then generate a
[personal access token](/api/authentication#personal-access-tokens) from your developer settings.
The [Get started](https://flat.io/developers/omr) page of the developer dashboard walks through it
and creates the token with the `omr` scope already selected. There is no separate OMR signup,
waitlist, or approval step, and the same token works for both
[OMR flows](/api/omr/#two-ways-to-import).

If you are building an OAuth2 app for other people's accounts instead, request the `omr` scope, plus
`scores` when the result goes into their Flat Library. See
[Authentication and scopes](/api/omr/#authentication-and-scopes).

### Is there a free trial or a sandbox?

There is no self-serve trial or sandbox environment, but **almost the entire integration can be
built and tested for free**. Only starting a job costs anything, whether through the API or the
[Playground](https://flat.io/developers/omr/playground) of the developer dashboard.

Free, no credits consumed:

* [`GET /omr/capabilities`](https://flat.io/developers/docs/api/reference#tag/OMR/operation/getOmrCapabilities),
  which needs no authentication at all, so you can wire up feature detection, limits, and your
  language picker before a user ever connects an account.
* Creating a [draft job](/api/omr/jobs#step-1-create-a-draft-job) with `POST /omr/jobs`.
* Uploading files to it with `POST /omr/jobs/{job}/files`, including the multi-page and
  incremental-capture flow.
* Listing your jobs, and [canceling](/api/omr/jobs#cancel-a-job) a draft you never started.

**Only [`POST /omr/jobs/{job}/start`](/api/omr/jobs#step-3-start-the-job) runs the conversion and
charges credits**, along with `autoStart: true` on the one-shot form and the
[auto simple import](/api/omr/import). So you can exercise your upload path, your error handling,
and your whole draft state machine end to end before spending a single credit.

If you are evaluating OMR for a product and need to discuss it, email
<developers@flat.io> and tell us what you are building and roughly what
volume you expect.

### Which flow should I use, the Jobs API or the simple import?

Reach for the **[Interactive Jobs API](/api/omr/jobs)** when you want live progress, an optional step
for the user to correct detected instruments, MusicXML or MIDI output **without** creating a Flat
score, or the ability to add pages one at a time (which is how mobile capture works).

Reach for the **[auto simple import](/api/omr/import)** when you just want a score in the Flat
Library and you are already importing MusicXML or MIDI through
[`POST /scores`](https://flat.io/developers/docs/api/reference#tag/Score/operation/createScore). It
is two calls and one code path for every format.

The [comparison table](/api/omr/#two-ways-to-import) on the overview page lays the two side by side.

### Is the OMR API the same thing as Opuscan?

No. [Opuscan](https://www.opuscan.com/omr/) is our dedicated consumer scan-to-score product, sold
through the app stores. It runs on the same recognition engine, but it is a separate product with no
developer API, and **its credits are not shared with a Flat account or with this API**. See
[Do credits bought in the Opuscan apps work with the API?](/api/omr/faq/credits#do-credits-bought-in-the-opuscan-apps-work-with-the-api)

## Related

* [OMR overview](/api/omr/) for scopes, credits, capabilities, and error codes.
* [Interactive Jobs API](/api/omr/jobs) and [auto simple import](/api/omr/import).
* [API Reference: OMR](https://flat.io/developers/docs/api/reference#tag/OMR).
