Skip to main content
This guide will walk you through the process of importing your annotations from other internal or third-party tools as pre-labels into Labelbox.

What are pre-labels?

Pre-labels are suggested annotations that are programmatically imported into a Labelbox project. Often generated by a machine learning model, these annotations serve as a starting point to accelerate the labeling process. Instead of creating every annotation from scratch, human labelers are presented with these pre-populated suggestions in the labeling editor. The primary goal of using pre-labels is to boost labeling efficiency. A labeler’s task shifts from manual creation to a faster workflow of reviewing, correcting, and confirming the suggested annotations. A pre-label is only converted into a finalized, ground truth annotation after a human labeler has reviewed and submitted the asset, ensuring that the final data maintains a high standard of quality.

How to import annotations as pre-labels

You can reference Python SDK code snippets directly from the Import labels tab in your project dashboard. These snippets will serve as a great starting point for the steps below.
  1. Import your data rows: To import annotations as pre-labels, you’ll need to have a set of data rows to attach the annotations to. If you do not already have a set of data rows, you’ll need to create a dataset by importing data rows into Catalog.
  2. Create/select an ontology: When you import a set of annotations, you’ll need to specify the ontology (also called taxonomy) that corresponds to the set of annotations. If the project ontology already exists in Labelbox, you may select the ontology that fits your annotations. If the ontology does not exist in Labelbox yet, you’ll need to create an ontology.
  3. Create a labeling project: Before you can import your annotations, you’ll need to make sure you have a project to connect these annotations to. You cannot simply import annotations without specifying which project they’ll be associated with. Oftentimes, you will already have a project set up with the correct ontology for your set of annotations. However, If you do not already have a project, you will need to create a project and attach the ontology that fits your annotations.
  4. Send a batch of data rows to the project: Now that you have your project and ontology configured, you’ll need to send a subset of data Rows (i.e., a batch) to the project’s labeling queue. You will be attaching your annotations to this batch of data rows.
  5. Create the annotations payload: This is where you’ll prepare the annotations themselves for import. Each annotation in your payload needs to reference a specific annotation class from your ontology and a specific data row ID. Labelbox supports two formats for the annotation payload: Python Annotation Types and NDJSON. Go to the Import labels tab and select Import pre-labels. There you will find a sample code snippet you can use to import your ground truth annotations.
  6. Import your annotation payload: Once you have created your annotation payload, the final step is to submit the import job. After the job is complete, your ground truth annotations will appear in your project, and the corresponding data rows will be marked as “Done.” Under Import labelsImport pre-labels, copy the code snippet for Import annotations payload.
Check out these end-to-end developer guides to learn how to import ground truth annotations based on your data type.

Import image annotations

Import video annotations

Import text annotations

Import geospatial annotations

Import document annotations

Import conversational text annotations

Import audio annotations

Import HTML annotations

Best practices

  • Make sure the annotations are in the proper format. Use the charts above to determine whether an annotation type is supported for the data type you are labeling.
  • Before you begin a new import job, make sure there are no existing MAL annotations on the data row.
  • To override an imported annotation on a data row, import the annotation again using the same uuid.