Ango Import Format

Overview of the Ango Hub Label Import Format

Ango Hub allows administrators and project managers to import existing annotations. More on label import here.

In order to be imported to the platform, existing labels need to be converted to the Ango Hub Import Format. The following article will provide the format’s specifications, as well as examples of import files.

Quick Start

From the Label Set section of the Settings tab, create your project ontology (more information on how to do so here)

From the Assets tab, click on Import.

From the dialog that pops up, click on the Sample JSON toggle.

You will see a sample JSON pre-populated with a basic schema of the import file you need, including schema IDs and structure. You may use this sample as structure for your import JSON.

Read below for more information on how to complete the import file.

Warning for Video Pre-Annotations

When importing pre-annotations to a Video V2 asset, you must specify the file extension.

This means that if you are attempting to import the pre-annotations using only the externald field, then the asset's externalID must contain the file's correct extension. For example:

Copy

{
  "externalId": "H1412_1737445655000_1737448958000.mp4",
}

If you are using the "data" field, alone or together with the externalId field, then at least the data field must contain the full filename, including the file extension:

Copy

{
  "data": "H1412_1737445655000_1737448958000.mp4",
  "externalId": "H1412_1737445655000_1737448958000",
} 

Common Properties

External ID

The external ID identifies assets in projects.

When importing assets through the browser, the external ID is assigned automatically, and is equal to the asset's filename. When importing using the Cloud Import function, administrators and project managers must assign this ID manually to each asset. More on importing assets to Ango Hub here.

The external ID of each asset can be viewed from the Assets tab of your project, under the External ID column.

External IDs do not have to be unique. You can have more than one asset with the same external ID.

It is possible to import annotations referencing assets with only their external IDs, as in many exampled below. In this situation, all assets sharing the same external ID will be pre-labeled.

Schema IDs

The Schema ID is a unique identifier for each labeling tool.

To obtain each tool's schema ID, navigate to the Label Set section of the Settings. You will find it when expanding the details of each tool.

Object ID

By default, all objects (annotations) created on Ango Hub, either directly from the platform or by importing them, get assigned a random Object ID used to identify them uniquely.

You may, however, choose to assign a custom object ID to annotations you are importing. This is useful (and necessary) in a number of cases:

  • In video annotations, the object ID allows you to move and track the same annotation between frames.

  • In single and group relations, the Object ID is necessary to relate annotations to one another.

Assigning an object ID manually means that Ango Hub will not create one for the object in question.

Ango Hub will not check nor warn you if you import multiple, different annotations with the same object ID in the same asset or, in the case of videos, in the same frame.

Using the same object ID on more than one object in the same frame can cause unexpected behavior, and may break functionality such as relations.

Unless this is by design, such as tracking an annotation between video frames, always ensure your object IDs are unique to prevent unexpected behaviors.

To add an object ID to any object you are importing, simply add the following line to your object:

"objectId": "<YOUR_OBJECT_ID>"

For example, a PDF area object with a custom object ID would look like this:

{
    "title": "box2",
    "bounding-box": {
        "height": 1200,
        "width": 800,
        "x1": 98.2109375,
        "y1": 253.6640625,
        "x2": 342.2109375,
        "y2": 567.6640625,
        "pageNumber": 2,
        "text": "Second Text",
        "objectId": "1234567890"
    }
}

You can add custom Object IDs to all annotation types.

Lock

You can lock certain annotations so that annotators cannot edit them. To do so, simply add "lock":true as a property to an object. For example:

[
    {
        "externalId": "example.png",
        "objects": [
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "bounding-box": {
                    "x": 192,
                    "y": 166,
                    "width": 66,
                    "height": 61
                },
                "lock": true
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Car",
      "tool": "bounding-box",
      "required": false,
      "schemaId": "09f90db83b842d7bf0c2225",
      "ocrEnabled": false,
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

Lock is available for all annotation types, including classifications, except relations. We plan on supporting locking relations soon.

Metadata

  • Add the description metadata to the tools

[
    {
        "externalId": "example.png",
        "objects": [
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "bounding-box": {
                    "x": 192,
                    "y": 166,
                    "width": 66,
                    "height": 61
                },
                "metadata": {
                    "description": "Sample Annotation"
                }
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Car",
      "tool": "bounding-box",
      "required": false,
      "schemaId": "09f90db83b842d7bf0c2225",
      "ocrEnabled": false,
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}
  • Add the description metadata to the classifications

[
    {
        "externalId": "example.png",
        "classifications": [
            {
                "schemaId": "97e1dfeffc6228423aa3007",
                "answer": "Green",
                "metadata": {
                    "description": "Sample annotation"
                }
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [],
  "classifications": [
    {
      "title": "Color",
      "tool": "radio",
      "required": false,
      "schemaId": "97e1dfeffc6228423aa3007",
      "frameSpecific": false,
      "classifications": [],
      "multiple": false,
      "options": [
        {
          "value": "Green",
          "schemaId": "98a48fa4a08513e2ed49621"
        },
        {
          "value": "Red",
          "schemaId": "78a1bb2814b65e53bfd4756"
        },
        {
          "value": "Blue",
          "schemaId": "b83883a9fdab443ab824195"
        },
        {
          "value": "Yellow",
          "schemaId": "423f7c7021445479e1fb016"
        }
      ],
      "shortcutKey": "1"
    }
  ],
  "relations": []
}

Page

The "page" field is essential for determining which specific page of an asset the objects should be added to. This field is particularly important when working with assets that contain multiple frames or pages, such as videos, multi-image assets, and DICOM images.

[
    {
        "externalId": "example.tiff",
        "objects": [
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "page": 6,
                "bounding-box": {
                    "x": 192,
                    "y": 166,
                    "width": 66,
                    "height": 61
                }
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Car",
      "tool": "bounding-box",
      "required": false,
      "schemaId": "09f90db83b842d7bf0c2225",
      "ocrEnabled": false,
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

Tools

Bounding Box

x and y refer to the coordinates of the bounding box's top-left corner.

[
    {
        "externalId": "example.png",
        "objects": [
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "bounding-box": {
                    "x": 192,
                    "y": 166,
                    "width": 66,
                    "height": 61
                }
            },
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "bounding-box": {
                    "x": 56,
                    "y": 56,
                    "width": 67,
                    "height": 44
                }
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Car",
      "tool": "bounding-box",
      "required": false,
      "schemaId": "09f90db83b842d7bf0c2225",
      "ocrEnabled": false,
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

Bounding Box with OCR Text

You may include OCR information such that, when imported, if in the category schema, the "Targeted OCR" toggle was enabled for the bounding box tool:

then you may add the "ocr" field to the bounding box to import, as pre-labels, the OCR contents. Here is an example JSON with the OCR field:

[
    {
        "externalId": "example.png",
        "objects": [
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "bounding-box": {
                    "x": 192,
                    "y": 166,
                    "width": 66,
                    "height": 61
                },
                "ocr": {
                    "text": "The Quick Brown Fox"
                }
            },
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "bounding-box": {
                    "x": 56,
                    "y": 56,
                    "width": 67,
                    "height": 44
                },
                "ocr": {
                    "text": "Jumps Over The Lazy Dog"
                }
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Header",
      "tool": "bounding-box",
      "required": false,
      "schemaId": "09f90db83b842d7bf0c2225",
      "ocrEnabled": true,
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

Rotated Bounding Box

[
    {
        "externalId": "example.png",
        "objects": [
            {
                "schemaId": "678717a10e50d6563edf230",
                "title": "Bottom",
                "rotated-bounding-box": {
                    "width": 100,
                    "height": 100,
                    "x": 200,
                    "y": 200,
                    "rotation": 45
                }
            },
            {
                "schemaId": "c9d96c7f6b863df8dc88790",
                "title": "Right",
                "rotated-bounding-box": {
                    "width": 100,
                    "height": 100,
                    "x": 200,
                    "y": 200,
                    "rotation": -45
                }
            },
            {
                "schemaId": "205ae9eb900f7ca929dd497",
                "title": "Top",
                "rotated-bounding-box": {
                    "width": 100,
                    "height": 100,
                    "x": 200,
                    "y": 200,
                    "rotation": -135
                }
            },
            {
                "schemaId": "23921c9aa563f1257253471",
                "title": "Left",
                "rotated-bounding-box": {
                    "width": 100,
                    "height": 100,
                    "x": 200,
                    "y": 200,
                    "rotation": 135
                }
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Top",
      "tool": "rotated-bounding-box",
      "required": false,
      "schemaId": "205ae9eb900f7ca929dd497",
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    },
    {
      "title": "Left",
      "tool": "rotated-bounding-box",
      "required": false,
      "schemaId": "23921c9aa563f1257253471",
      "classifications": [],
      "multiple": false,
      "color": "#03a9f4",
      "shortcutKey": "2"
    },
    {
      "title": "Bottom",
      "tool": "rotated-bounding-box",
      "required": false,
      "schemaId": "678717a10e50d6563edf230",
      "classifications": [],
      "multiple": false,
      "color": "#9c27b0",
      "shortcutKey": "3"
    },
    {
      "title": "Right",
      "tool": "rotated-bounding-box",
      "required": false,
      "schemaId": "c9d96c7f6b863df8dc88790",
      "classifications": [],
      "multiple": false,
      "color": "#673ab7",
      "shortcutKey": "4"
    }
  ],
  "classifications": [],
  "relations": []
}

Rotated Bounding Box Angles

Rotated Bounding Box Angles

Polygon

[
    {
        "externalId": "example.png",
        "objects": [
            {
                "schemaId": "3db073f1a9deba207b65123",
                "polygon": [
                    [
                        118,
                        459
                    ],
                    [
                        299,
                        327
                    ],
                    [
                        479,
                        459
                    ],
                    [
                        411,
                        672
                    ],
                    [
                        187,
                        671
                    ]
                ]
            },
            {
                "schemaId": "3db073f1a9deba207b65123",
                "polygon": [
                    [
                        534,
                        345
                    ],
                    [
                        656,
                        678
                    ],
                    [
                        843,
                        675
                    ],
                    [
                        978,
                        234
                    ],
                    [
                        848,
                        345
                    ]
                ]
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Car",
      "tool": "polygon",
      "required": false,
      "schemaId": "3db073f1a9deba207b65123",
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

Polyline

[
    {
        "externalId": "example.png",
        "objects": [
            {
                "schemaId": "7e8475173033ca753606470",
                "polyline": [
                    [
                        128,
                        128
                    ],
                    [
                        128,
                        256
                    ],
                    [
                        256,
                        320
                    ]
                ]
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Line",
      "tool": "polyline",
      "required": false,
      "schemaId": "7e8475173033ca753606470",
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

Spline

[
    {
        "externalId": "example.png",
        "tools": [
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "spline": [
                    [
                        120,
                        80,
                        5,
                        0
                    ],
                    [
                        240,
                        160,
                        5.4,
                        0
                    ],
                    [
                        280,
                        240,
                        6.4,
                        1
                    ]
                ]
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Road",
      "tool": "spline",
      "required": false,
      "schemaId": "09f90db83b842d7bf0c2225",
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

The first value being the X distance in pixels from the left, the second the Y distance in pixels from the top, the third the width of the spline at that point, and the fourth whether or not the point was marked or not.

Segmentation

Segmentations are composed of instances, zones, regions, and holes.

An instance may contain more than one zone. One zone contains exactly one region. A region can contain more than one hole.

Each of the points composing the segmentation is represented as an X/Y coordinate pair. For more information on how X/Y pairs work in the Ango Annotation Format, check out this section. For the way Ango Hub exports segmentation labels, check out this page.

[
    {
        "externalId": "example.png",
        "objects": [
            {
                "schemaId": "2ff45d51337052241bcb680",
                "segmentation": {
                    "zones": [
                        {
                            "region": [
                                [
                                    64,
                                    64
                                ],
                                [
                                    64,
                                    156
                                ],
                                [
                                    156,
                                    156
                                ],
                                [
                                    156,
                                    64
                                ]
                            ],
                            "holes": []
                        },
                        {
                            "region": [
                                [
                                    64,
                                    256
                                ],
                                [
                                    64,
                                    360
                                ],
                                [
                                    256,
                                    360
                                ],
                                [
                                    320,
                                    256
                                ]
                            ],
                            "holes": [
                                [
                                    [
                                        100,
                                        270
                                    ],
                                    [
                                        140,
                                        270
                                    ],
                                    [
                                        140,
                                        320
                                    ]
                                ],
                                [
                                    [
                                        200,
                                        300
                                    ],
                                    [
                                        240,
                                        300
                                    ],
                                    [
                                        240,
                                        350
                                    ],
                                    [
                                        200,
                                        350
                                    ]
                                ]
                            ]
                        }
                    ]
                }
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Sample",
      "tool": "segmentation",
      "required": false,
      "schemaId": "2ff45d51337052241bcb680",
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

Entity

Audio Labeling

The start and end properties refer to the seconds elapsed since the start of the audio file.

[
    {
        "externalId": "example.mp3",
        "objects": [
            {
                "schemaId": "6ab93a0c0c3553e5b598887",
                "ner": {
                    "start": 2.18,
                    "end": 3.36
                }
            },
            {
                "schemaId": "6ab93a0c0c3553e5b598887",
                "ner": {
                    "start": 6.7,
                    "end": 8.1
                }
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Sample Entity",
      "tool": "ner",
      "required": false,
      "schemaId": "6ab93a0c0c3553e5b598887",
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

Text Labeling

The start and end properties refer to the character indices of the entity.

The "selection" field is optional for text entities and it is required only to appear on export.

[
    {
        "externalId": "example.txt",
        "objects": [
            {
                "schemaId": "6ab93a0c0c3553e5b598887",
                "ner": {
                    "start": 6,
                    "end": 10,
                    "selection": "ipsum"
                }
            },
            {
                "schemaId": "6ab93a0c0c3553e5b598887",
                "ner": {
                    "start": 28,
                    "end": 38,
                    "selection": "consectetur"
                }
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Sample Entity",
      "tool": "ner",
      "required": false,
      "schemaId": "6ab93a0c0c3553e5b598887",
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

Point

[
    {
        "externalId": "example.png",
        "objects": [
            {
                "schemaId": "63f2ca2a1e5404f14f14039",
                "point": [
                    64,
                    64
                ]
            },
            {
                "schemaId": "63f2ca2a1e5404f14f14039",
                "point": [
                    256,
                    64
                ]
            },
            {
                "schemaId": "63f2ca2a1e5404f14f14039",
                "point": [
                    64,
                    256
                ]
            },
            {
                "schemaId": "63f2ca2a1e5404f14f14039",
                "point": [
                    256,
                    256
                ]
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Point",
      "tool": "point",
      "required": false,
      "schemaId": "63f2ca2a1e5404f14f14039",
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

PDF

height and width refer to the dimensions of the relevant page of the pdf file.

[
    {
        "externalId": "example.pdf",
        "objects": [
            {
                "schemaId": "a95b7523d9d5e523aade085",
                "pdf": {
                    "height": 384,
                    "width": 384,
                    "x1": 64,
                    "y1": 64,
                    "x2": 128,
                    "y2": 128,
                    "pageNumber": 1,
                    "text": "sample text"

                }
            } 
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Paragraph",
      "tool": "pdf",
      "required": false,
      "schemaId": "a95b7523d9d5e523aade085",
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

Brush

Brush

For how to import brush traces with the brush tool, refer to the following page.

Medical Brush

For how to import brush traces with the medical brush tool, refer to the following page.

Tools + Nested Classifications

Bounding Box / Radio

[
    {
        "externalId": "example.png",
        "objects": [
            {
                "schemaId": "c72440f85fecbd439bca284",
                "bounding-box": {
                    "x": 192,
                    "y": 166,
                    "width": 66,
                    "height": 61
                },
                "classifications": [
                    {
                        "schemaId": "a7800ce15dcae82c8d51463",
                        "answer": "Black"
                    }
                ]

            },
            {
                "schemaId": "c72440f85fecbd439bca284",
                "bounding-box": {
                    "x": 56,
                    "y": 56,
                    "width": 67,
                    "height": 44
                },
                "classifications": [
                    {
                        "schemaId": "a7800ce15dcae82c8d51463",
                        "answer": "Yellow"
                    }
                ]
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Car",
      "tool": "bounding-box",
      "required": false,
      "schemaId": "c72440f85fecbd439bca284",
      "ocrEnabled": false,
      "classifications": [
        {
          "title": "Color",
          "tool": "radio",
          "required": false,
          "schemaId": "a7800ce15dcae82c8d51463",
          "frameSpecific": false,
          "classifications": [],
          "multiple": false,
          "options": [
            {
              "value": "Red",
              "schemaId": "752a2fcac3678fe2ce55143"
            },
            {
              "value": "White",
              "schemaId": "3c1f49512c9ce13d3b9c051"
            },
            {
              "value": "Black",
              "schemaId": "850cd2aa1a984d2e0759492"
            },
            {
              "value": "Blue",
              "schemaId": "027e53efb4f96329a0d2278"
            },
            {
              "value": "Green",
              "schemaId": "ae4281fc4ebf50e9bf2f625"
            },
            {
              "value": "Yellow",
              "schemaId": "6d5e4052b7a54c23c20e163"
            }
          ]
        }
      ],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

Video and Multi-Image Labeling

Video Labeling (v1)

If you’re unsure which video tool you are currently using, refer to the Video V2 Breaking Changes and Transition page for clarification.

Video labeling is functionally the same as image labeling, with the only difference being that we add an extra page property to indicate the frame to which the annotation belongs.

Additionally, you may add an "interpolationStopped": true object as shown below to make an annotation disappear from the asset at a specific frame. You may then make it reappear by indicating the same objectId and using "interpolationStopped": false.

"interpolationStopped" field is necessary to stop the linear interpolation of the bounding boxes across the video.

[
    {
        "externalId": "example.mp4",
        "objects": [
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "page": 5,
                "objectId": "12345",
                "bounding-box": {
                    "x": 100,
                    "y": 166,
                    "width": 66,
                    "height": 61
                }
            },
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "page": 20,
                "objectId": "12345",
                "bounding-box": {
                    "x": 200,
                    "y": 266,
                    "width": 66,
                    "height": 61
                }
            },
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "page": 35,
                "objectId": "12345",
                "bounding-box": {
                    "x": 300,
                    "y": 166,
                    "width": 66,
                    "height": 61
                }
            },
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "page": 36,
                "objectId": "12345",
                "interpolationStopped": true
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Car",
      "tool": "bounding-box",
      "required": false,
      "schemaId": "09f90db83b842d7bf0c2225",
      "ocrEnabled": false,
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

Video Labeling (v2)

If you’re unsure which video tool you are currently using, refer to the Video V2 Breaking Changes and Transition page for clarification.

[
    {
        "externalId": "example.mp4",
        "objects": [
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "objectId": "12345",
                "segments": [0, 60],
                "outOfViewSegments": [[20, 25], [45, 50]],
                "customColorIntervals": [
                    {
                        "interval": [
                            5,
                            15
                        ],
                        "color": "#ffff00"
                    }
                ]
                "keyFrames": {
                    "5": {
                        "bounding-box": {
                            "x": 50,
                            "y": 100,
                            "height": 200,
                            "width": 400
                        }
                    },
                    "15": {
                        "bounding-box": {
                            "x": 200,
                            "y": 100,
                            "height": 200,
                            "width": 400
                        }
                    },
                    "40": {
                        "bounding-box": {
                            "x": 200,
                            "y": 400,
                            "height": 200,
                            "width": 400
                        }
                    }
                }
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Car",
      "tool": "bounding-box",
      "required": false,
      "schemaId": "09f90db83b842d7bf0c2225",
      "ocrEnabled": false,
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

Multi-Image Labeling

Importing annotations for multi-image assets is functionally the same as importing video annotations, with each "image" being a page. Pages start from 0.

[
    {
        "externalId": "example.tiff",
        "objects": [
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "page": 6,
                "bounding-box": {
                    "x": 192,
                    "y": 166,
                    "width": 66,
                    "height": 61
                }
            },
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "page": 7,
                "bounding-box": {
                    "x": 192,
                    "y": 166,
                    "width": 66,
                    "height": 61
                }
            },
            {
                "schemaId": "09f90db83b842d7bf0c2225",
                "page": 8,
                "bounding-box": {
                    "x": 192,
                    "y": 166,
                    "width": 66,
                    "height": 61
                }
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Car",
      "tool": "bounding-box",
      "required": false,
      "schemaId": "09f90db83b842d7bf0c2225",
      "ocrEnabled": false,
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": []
}

Classifications

Radio

[
    {
        "externalId": "example.png",
        "classifications": [
            {
                "schemaId": "97e1dfeffc6228423aa3007",
                "answer": "Green"
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [],
  "classifications": [
    {
      "title": "Color",
      "tool": "radio",
      "required": false,
      "schemaId": "97e1dfeffc6228423aa3007",
      "frameSpecific": false,
      "classifications": [],
      "multiple": false,
      "options": [
        {
          "value": "Green",
          "schemaId": "98a48fa4a08513e2ed49621"
        },
        {
          "value": "Red",
          "schemaId": "78a1bb2814b65e53bfd4756"
        },
        {
          "value": "Blue",
          "schemaId": "b83883a9fdab443ab824195"
        },
        {
          "value": "Yellow",
          "schemaId": "423f7c7021445479e1fb016"
        }
      ],
      "shortcutKey": "1"
    }
  ],
  "relations": []
}

Checkbox

[
    {
        "externalId": "example.png",
        "classifications": [
            {
                "schemaId": "5080b746a37f41d3fc89933",
                "answer": ["Green", "Red"]
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [],
  "classifications": [
    {
      "title": "Color",
      "tool": "checkbox",
      "required": false,
      "schemaId": "5080b746a37f41d3fc89933",
      "frameSpecific": false,
      "classifications": [],
      "multiple": false,
      "options": [
        {
          "value": "Green",
          "schemaId": "4f2c47ac537a2478b9b4788"
        },
        {
          "value": "Red",
          "schemaId": "988e1f12078d011dea48916"
        },
        {
          "value": "Blue",
          "schemaId": "2264999cc377c8875c11689"
        },
        {
          "value": "Yellow",
          "schemaId": "77686bf9451ddefe4c9f540"
        }
      ],
      "shortcutKey": "1"
    }
  ],
  "relations": []
}

Single-Select Dropdown

[
    {
        "externalId": "example.png",
        "classifications": [
            {
                "schemaId": "b12539e62f749ac59372624",
                "answer": "Green"
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [],
  "classifications": [
    {
      "title": "Color",
      "tool": "single-dropdown",
      "required": false,
      "schemaId": "b12539e62f749ac59372624",
      "frameSpecific": false,
      "classifications": [],
      "multiple": false,
      "options": [
        {
          "value": "Green",
          "schemaId": "f6fdafafbb3181d769c8146"
        },
        {
          "value": "Red",
          "schemaId": "c594fd08cfb06d070cf8224"
        },
        {
          "value": "Blue",
          "schemaId": "144b9df0b37055ed9e29649"
        },
        {
          "value": "Yellow",
          "schemaId": "c1e406eaa03aef110e47501"
        }
      ],
      "shortcutKey": "1"
    }
  ],
  "relations": []
}

Multi-Select Dropdown

[
    {
        "externalId": "example.png",
        "classifications": [
            {
                "schemaId": "9096a7b7d5cbd2057bb9356",
                "answer": ["Green", "Red"]
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [],
  "classifications": [
    {
      "title": "Color",
      "tool": "multi-dropdown",
      "required": false,
      "schemaId": "9096a7b7d5cbd2057bb9356",
      "frameSpecific": false,
      "classifications": [],
      "multiple": false,
      "options": [
        {
          "value": "Green",
          "schemaId": "8fcb93e767f73db675f4543"
        },
        {
          "value": "Red",
          "schemaId": "0e63c4be51fb78fd712b576"
        },
        {
          "value": "Blue",
          "schemaId": "9745d1fe49ad079303ca923"
        },
        {
          "value": "Yellow",
          "schemaId": "aae6511fffb327abc17f306"
        }
      ],
      "shortcutKey": "1"
    }
  ],
  "relations": []
}

Single-Select Tree

[
    {
        "externalId": "example.png",
        "classifications": [
            {
                "schemaId": "27b16368a548b90d7169967",
                "answer": "Trunk / Branch 2 / Leaf 2"
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [],
  "classifications": [
    {
      "title": "Sample Tree Dropdown",
      "tool": "single-tree-dropdown",
      "required": false,
      "schemaId": "27b16368a548b90d7169967",
      "frameSpecific": false,
      "classifications": [],
      "multiple": false,
      "options": [
        {
          "value": "Trunk",
          "schemaId": "a7607151c841a133fb84394"
        },
        {
          "value": "Trunk / Branch 1",
          "schemaId": "a6e322e426042b69b781020"
        },
        {
          "value": "Trunk / Branch 1 / Leaf 1",
          "schemaId": "82922b933af5a2783a54285"
        },
        {
          "value": "Trunk / Branch 2",
          "schemaId": "8c8391f4ed2c1015aa25501"
        },
        {
          "value": "Trunk / Branch 2 / Leaf 2",
          "schemaId": "a092d33d27e65937c2e2443"
        }
      ],
      "shortcutKey": "1",
      "treeOptions": [
        {
          "title": "Trunk",
          "key": "a7607151c841a133fb84394",
          "value": "a7607151c841a133fb84394",
          "children": [
            {
              "title": "Branch 1",
              "value": "a6e322e426042b69b781020",
              "key": "a6e322e426042b69b781020",
              "children": [
                {
                  "title": "Leaf 1",
                  "value": "82922b933af5a2783a54285",
                  "key": "82922b933af5a2783a54285"
                }
              ]
            },
            {
              "title": "Branch 2",
              "value": "8c8391f4ed2c1015aa25501",
              "key": "8c8391f4ed2c1015aa25501",
              "children": [
                {
                  "title": "Leaf 2",
                  "value": "a092d33d27e65937c2e2443",
                  "key": "a092d33d27e65937c2e2443"
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "relations": []
}

Multi-Select Tree

[
    {
        "externalId": "example.png",
        "classifications": [
            {
                "schemaId": "7fb05854b6b28ff05a4e227",
                "answer": [
                    "Trunk",
                    "Trunk / Branch 2",
                    "Trunk / Branch 1 / Leaf 1",
                    "Trunk / Branch 2 / Leaf 2"
                ]
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [],
  "classifications": [
    {
      "title": "Sample Tree Dropdown",
      "tool": "tree-dropdown",
      "required": false,
      "schemaId": "7fb05854b6b28ff05a4e227",
      "frameSpecific": false,
      "showDropdown": false,
      "classifications": [],
      "multiple": false,
      "options": [
        {
          "value": "Trunk",
          "schemaId": "030c9bc65d0d7c677ac3705"
        },
        {
          "value": "Trunk / Branch 1",
          "schemaId": "5f04518646a82aff33e5573"
        },
        {
          "value": "Trunk / Branch 1 / Leaf 1",
          "schemaId": "650b8b3bbe7a6ae55b00639"
        },
        {
          "value": "Trunk / Branch 2",
          "schemaId": "2e44479c9098983b9611260"
        },
        {
          "value": "Trunk / Branch 2 / Leaf 2",
          "schemaId": "001c29efb030deb2188e481"
        }
      ],
      "shortcutKey": "1",
      "treeOptions": [
        {
          "title": "Trunk",
          "key": "030c9bc65d0d7c677ac3705",
          "value": "030c9bc65d0d7c677ac3705",
          "children": [
            {
              "title": "Branch 1",
              "value": "5f04518646a82aff33e5573",
              "key": "5f04518646a82aff33e5573",
              "children": [
                {
                  "title": "Leaf 1",
                  "value": "650b8b3bbe7a6ae55b00639",
                  "key": "650b8b3bbe7a6ae55b00639"
                }
              ]
            },
            {
              "title": "Branch 2",
              "value": "2e44479c9098983b9611260",
              "key": "2e44479c9098983b9611260",
              "children": [
                {
                  "title": "Leaf 2",
                  "value": "001c29efb030deb2188e481",
                  "key": "001c29efb030deb2188e481"
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "relations": []
}

Text

[
    {
        "externalId": "example.png",
        "classifications": [
            {
                "schemaId": "a9c72798e9cfb6ad9ab4364",
                "answer": "Green"
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [],
  "classifications": [
    {
      "title": "Color",
      "tool": "text",
      "required": false,
      "schemaId": "a9c72798e9cfb6ad9ab4364",
      "frameSpecific": false,
      "richText": false,
      "regex": "",
      "classifications": [],
      "multiple": false,
      "options": [],
      "shortcutKey": "1"
    }
  ],
  "relations": []
}

Nested Classifications

Radio / Radio / Radio

[
    {
        "externalId": "example.png",
        "classifications": [
            {
                "schemaId": "905d68fb647890538d5a469",
                "answer": "A",
                "classifications": [
                    {
                        "schemaId": "00298d59fb1e305a771a603",
                        "answer": "A1",
                        "classifications": [
                            {
                                "schemaId": "403a2c4d4069ebbca375452",
                                "answer": "A1-1"
                            }
                        ]
                    }
                ]
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [],
  "classifications": [
    {
      "title": "Level-1",
      "tool": "radio",
      "required": false,
      "schemaId": "905d68fb647890538d5a469",
      "frameSpecific": false,
      "classifications": [
        {
          "title": "Level-2",
          "tool": "radio",
          "required": false,
          "schemaId": "00298d59fb1e305a771a603",
          "frameSpecific": false,
          "classifications": [
            {
              "title": "Level-3",
              "tool": "radio",
              "required": false,
              "schemaId": "403a2c4d4069ebbca375452",
              "frameSpecific": false,
              "classifications": [],
              "multiple": false,
              "options": [
                {
                  "value": "A1-1",
                  "schemaId": "bb201ae71c27fa266f1f895"
                },
                {
                  "value": "A1-2",
                  "schemaId": "4ae7cdddec44bd1c6665215"
                }
              ],
              "parentOptionId": "50444ee32efadfce8bf9899"
            }
          ],
          "multiple": false,
          "options": [
            {
              "value": "A1",
              "schemaId": "50444ee32efadfce8bf9899"
            },
            {
              "value": "A2",
              "schemaId": "076152f01623a1b7e9b3146"
            },
            {
              "value": "A3",
              "schemaId": "f34db38f29da728bc25f312"
            }
          ],
          "parentOptionId": "b5650e446862a5383564396"
        }
      ],
      "multiple": false,
      "options": [
        {
          "value": "A",
          "schemaId": "b5650e446862a5383564396"
        },
        {
          "value": "B",
          "schemaId": "a029acbff0a2ef120c15689"
        },
        {
          "value": "C",
          "schemaId": "3fa2f657a1f3639c978d609"
        }
      ],
      "shortcutKey": "1"
    }
  ],
  "relations": []
}

Video and Multi-Image Labeling

Please ensure the "Frame-specific" flag is enabled to add classification labels to each frame, and the "Multiple" flag is enabled to add multiple classification labels for an asset.

Video Labeling (v1)

If you’re unsure which video tool you are currently using, refer to the Video V2 Breaking Changes and Transition page for clarification.

[
    {
        "externalId": "example.mp4",
        "classifications": [
            {
                "schemaId": "5570fff8bbe9a7d2e7cb117",
                "objectId": "12345",
                "answer": "Green",
                "page": 3
            },
            {
                "schemaId": "5570fff8bbe9a7d2e7cb117",
                "objectId": "12345",
                "answer": "Red",
                "page": 6
            },
            {
                "schemaId": "5570fff8bbe9a7d2e7cb117",
                "objectId": "12345",
                "page": 10,
                "answer": {"interpolationStopped": true}
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [],
  "classifications": [
    {
      "title": "Color",
      "tool": "radio",
      "required": false,
      "schemaId": "5570fff8bbe9a7d2e7cb117",
      "frameSpecific": true,
      "classifications": [],
      "multiple": true,
      "options": [
        {
          "value": "Green",
          "schemaId": "26d805c6ec81245adccb862"
        },
        {
          "value": "Red",
          "schemaId": "0be6e24a61dbff01d708441"
        },
        {
          "value": "Blue",
          "schemaId": "af7f1bb93023a49e21ac924"
        },
        {
          "value": "Yellow",
          "schemaId": "0ba5dcc111376a878071563"
        }
      ],
      "shortcutKey": "1"
    }
  ],
  "relations": []
}

Video Labeling (v2)

If you’re unsure which video tool you are currently using, refer to the Video V2 Breaking Changes and Transition page for clarification.

[
    {
        "externalId": "example.mp4",
        "classifications": [
            {
                "schemaId": "5570fff8bbe9a7d2e7cb117",
                "objectId": "12345",
                "segments": [0, 60],
                "outOfViewSegments": [[20, 25], [45, 50]],
                "keyFrames": {
                    "5": {
                        "answer": "Green"
                    },
                    "15": {
                        "answer": "Red"
                    },
                    "40": {
                        "answer": "Blue"
                    }
                }
            }
        ],
        "objects": [],
        "relations": []
    }
]	
Sample Category Schema
{
  "tools": [],
  "classifications": [
    {
      "title": "Color",
      "tool": "radio",
      "required": false,
      "schemaId": "5570fff8bbe9a7d2e7cb117",
      "frameSpecific": true,
      "classifications": [],
      "multiple": true,
      "options": [
        {
          "value": "Green",
          "schemaId": "26d805c6ec81245adccb862"
        },
        {
          "value": "Red",
          "schemaId": "0be6e24a61dbff01d708441"
        },
        {
          "value": "Blue",
          "schemaId": "af7f1bb93023a49e21ac924"
        },
        {
          "value": "Yellow",
          "schemaId": "0ba5dcc111376a878071563"
        }
      ],
      "shortcutKey": "1"
    }
  ],
  "relations": []
}

Multi-Image Labeling

[
    {
        "externalId": "example",
        "classifications": [
            {
                "schemaId": "5570fff8bbe9a7d2e7cb117",
                "objectId": "12345",
                "answer": "Green",
                "page": 3
            },
            {
                "schemaId": "5570fff8bbe9a7d2e7cb117",
                "objectId": "12345",
                "answer": "Red",
                "page": 6
            },
            {
                "schemaId": "5570fff8bbe9a7d2e7cb117",
                "objectId": "67890",
                "answer": "Red",
                "page": 6
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [],
  "classifications": [
    {
      "title": "Color",
      "tool": "radio",
      "required": false,
      "schemaId": "5570fff8bbe9a7d2e7cb117",
      "frameSpecific": true,
      "classifications": [],
      "multiple": true,
      "options": [
        {
          "value": "Green",
          "schemaId": "26d805c6ec81245adccb862"
        },
        {
          "value": "Red",
          "schemaId": "0be6e24a61dbff01d708441"
        },
        {
          "value": "Blue",
          "schemaId": "af7f1bb93023a49e21ac924"
        },
        {
          "value": "Yellow",
          "schemaId": "0ba5dcc111376a878071563"
        }
      ],
      "shortcutKey": "1"
    }
  ],
  "relations": []
}

Relations

Single

Direction Options: "straight", "reverse", "bidirectional"

[
    {
        "externalId": "example.png",
        "objects": [
            {
                "schemaId": "e29868a0f61c679133fe505",
                "objectId": "100001",
                "bounding-box": {
                    "width": 128,
                    "height": 128,
                    "x": 64,
                    "y": 192
                }
            },
            {
                "schemaId": "e29868a0f61c679133fe505",
                "objectId": "100002",
                "bounding-box": {
                    "width": 128,
                    "height": 128,
                    "x": 320,
                    "y": 192
                }
            }
        ],
        "relations": [
            {
                "schemaId": "c344baf6021ac976cd3f509",
                "direction": "straight",
                "from": "100001",
                "to": "100002"
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Car",
      "tool": "bounding-box",
      "required": false,
      "schemaId": "e29868a0f61c679133fe505",
      "ocrEnabled": false,
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": [
    {
      "title": "Related",
      "tool": "one-to-one",
      "required": false,
      "schemaId": "c344baf6021ac976cd3f509",
      "classifications": [],
      "multiple": false,
      "color": "#03a9f4",
      "shortcutKey": "2"
    }
  ]
}

Group

[
    {
        "externalId": "example.png",
        "objects": [
            {
                "schemaId": "14b0745eb3fd0fb920a0664",
                "objectId": "10001",
                "bounding-box": {
                    "width": 128,
                    "height": 128,
                    "x": 64,
                    "y": 64
                }
            },
            {
                "schemaId": "14b0745eb3fd0fb920a0664",
                "objectId": "10002",
                "bounding-box": {
                    "width": 128,
                    "height": 128,
                    "x": 320,
                    "y": 64
                }
            },
            {
                "schemaId": "14b0745eb3fd0fb920a0664",
                "objectId": "10003",
                "bounding-box": {
                    "width": 128,
                    "height": 128,
                    "x": 192,
                    "y": 256
                }
            }
        ],
        "relations": [
            {
                "schemaId": "6261613fab7418ef20b0243",
                "group": [
                    "10001",
                    "10002",
                    "10003"
                ]
            }
        ]
    }
]
Sample Category Schema
{
  "tools": [
    {
      "title": "Car",
      "tool": "bounding-box",
      "required": false,
      "schemaId": "14b0745eb3fd0fb920a0664",
      "ocrEnabled": false,
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1"
    }
  ],
  "classifications": [],
  "relations": [
    {
      "title": "Related",
      "tool": "group",
      "required": false,
      "schemaId": "6261613fab7418ef20b0243",
      "classifications": [],
      "multiple": false,
      "color": "#03a9f4",
      "shortcutKey": "2"
    }
  ]
}

Last updated