Skip to main content
This guide covers how to migrate your annotation data and workflows from other platforms to Avala. Whether you’re coming from CVAT, Labelbox, Label Studio, or another tool, Avala supports importing data in common annotation formats.

Overview

Migrating to Avala generally follows three steps:
  1. Export your data and annotations from your current platform
  2. Transform the exported data into an Avala-compatible format if needed
  3. Import the data into Avala via the API or Mission Control
Need help with a large or complex migration? Contact us at support@avala.ai for assisted migration support. Our team can help with custom format conversions, bulk imports, and data validation.

Migrating from CVAT

CVAT supports exporting annotations in several formats that Avala can import directly.

Step 1: Export from CVAT

  1. Open your CVAT project or task
  2. Click Export task dataset (or Export project dataset)
  3. Select one of these formats:
    • COCO 1.0 (recommended for image annotations)
    • CVAT for images 1.1 (XML format)
    • YOLO 1.1 (for bounding box annotations)
  4. Download the exported archive

Step 2: Import to Avala

Upload your images to an Avala dataset using presigned URLs, then import the annotations using the REST API. For file upload details, see the REST API guide.
# Import COCO annotations
curl -X POST "https://api.avala.ai/api/v1/datasets/{owner}/{slug}/import/" \
  -H "X-Avala-Api-Key: $AVALA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"format": "coco", "file_url": "https://your-storage/annotations.json"}'
The SDK supports read operations (list, get) and exports (create). For dataset creation, uploads, and annotation import, use the REST API directly.

Label Mapping

CVAT labels map directly to Avala labels. If your CVAT project uses attributes, they will be imported as annotation attributes in Avala.
CVAT ConceptAvala Equivalent
TaskProject
JobWork Batch
LabelLabel
AttributeAnnotation Attribute
TrackTracking Annotation
TagClassification Label

Migrating from Labelbox

Labelbox exports annotations in its native JSON format or COCO format.

Step 1: Export from Labelbox

  1. Navigate to your Labelbox project
  2. Go to Export and select Export v2
  3. Choose your export format:
    • Labelbox JSON (native format with all metadata)
    • COCO (recommended for Avala import)
  4. Download the export file

Step 2: Transform and Import

If exporting in COCO format, you can import directly via the REST API. For Labelbox JSON format, convert to COCO first:
# Import COCO annotations via the REST API
curl -X POST "https://api.avala.ai/api/v1/datasets/{owner}/{slug}/import/" \
  -H "X-Avala-Api-Key: $AVALA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"format": "coco", "file_url": "https://your-storage/annotations.json"}'

Label Mapping

Labelbox ConceptAvala Equivalent
ProjectProject
Data RowDataset Item
LabelAnnotation
Tool (Bounding Box)Bounding Box Annotation
Tool (Polygon)Polygon Annotation
Tool (Polyline)Polyline Annotation
Tool (Point)Keypoint Annotation
ClassificationClassification Label
BenchmarkConsensus
ReviewReview

Migrating from Label Studio

Label Studio supports multiple export formats including COCO, YOLO, and its own JSON format.

Step 1: Export from Label Studio

  1. Open your Label Studio project
  2. Click Export in the top navigation
  3. Select your format:
    • COCO (recommended for object detection annotations)
    • YOLO (for bounding box annotations)
    • JSON (Label Studio native format)
  4. Download the export

Step 2: Import to Avala

# Import COCO annotations from Label Studio export
curl -X POST "https://api.avala.ai/api/v1/datasets/{owner}/{slug}/import/" \
  -H "X-Avala-Api-Key: $AVALA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"format": "coco", "file_url": "https://your-storage/annotations.json"}'

Label Mapping

Label Studio ConceptAvala Equivalent
ProjectProject
TaskDataset Item
AnnotationAnnotation
RectangleLabelsBounding Box
PolygonLabelsPolygon
KeyPointLabelsKeypoint
BrushLabelsSegmentation
ChoicesClassification Label

Migrating from Scale AI

Scale AI provides annotation services and exports data in its native JSON format or standard formats.

Step 1: Export from Scale AI

  1. Navigate to your Scale AI project dashboard
  2. Go to Tasks and select Export
  3. Choose your export format:
    • Scale JSON (native format with all task metadata)
    • COCO (recommended for Avala import)
  4. Download the export archive
Scale AI exports include task metadata (instructions, parameters, callback URLs) that do not carry over. Only annotation geometry and labels are imported into Avala.

Step 2: Transform and Import

If exporting in COCO format, import directly. For Scale JSON format, convert the annotation geometry to COCO first. Scale JSON annotations use a response object per task with annotation arrays. Key fields to map:
{
  "response": {
    "annotations": [
      {
        "label": "car",
        "type": "bounding_box",
        "left": 100, "top": 200, "width": 300, "height": 150
      }
    ]
  }
}
Convert to COCO format, then import:
curl -X POST "https://api.avala.ai/api/v1/datasets/{owner}/{slug}/import/" \
  -H "X-Avala-Api-Key: $AVALA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"format": "coco", "file_url": "https://your-storage/annotations.json"}'

Label Mapping

Scale AI ConceptAvala Equivalent
ProjectProject
TaskDataset Item
Annotation (bounding_box)Bounding Box Annotation
Annotation (polygon)Polygon Annotation
Annotation (line)Polyline Annotation
Annotation (point)Keypoint Annotation
Annotation (cuboid)3D Cuboid Annotation
CategoryLabel
AuditReview

Scale AI-Specific Notes

  • 3D annotations: Scale AI’s LiDAR cuboid annotations include heading and velocity fields. Heading maps to Avala’s yaw rotation; velocity is stored as annotation metadata.
  • Consensus tasks: Scale AI’s audit/review results do not have a direct mapping. Import them as separate annotation versions and use Avala’s consensus feature for comparison.
  • Image groups: Scale AI’s image group tasks should be split into individual items when importing to Avala.

Migrating from Encord

Encord (formerly Cord) exports annotations in its native JSON format or COCO format.

Step 1: Export from Encord

  1. Open your Encord project
  2. Navigate to LabelsExport
  3. Choose your export format:
    • Encord JSON (native format, includes all metadata)
    • COCO (recommended for Avala import)
  4. Download the export

Step 2: Transform and Import

For COCO exports, import directly via the REST API:
curl -X POST "https://api.avala.ai/api/v1/datasets/{owner}/{slug}/import/" \
  -H "X-Avala-Api-Key: $AVALA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"format": "coco", "file_url": "https://your-storage/annotations.json"}'
For Encord JSON exports, the annotation structure uses objects and classifications arrays per frame:
{
  "data_units": {
    "image_hash": {
      "labels": {
        "objects": [
          {
            "name": "car",
            "shape": "bounding_box",
            "value": "car",
            "boundingBox": {"x": 0.1, "y": 0.2, "w": 0.3, "h": 0.15}
          }
        ],
        "classifications": [
          { "name": "weather", "value": "sunny" }
        ]
      }
    }
  }
}
Encord uses normalized coordinates (0.0-1.0 relative to image dimensions). Convert to absolute pixel coordinates before importing to Avala’s COCO format.

Label Mapping

Encord ConceptAvala Equivalent
ProjectProject
Data UnitDataset Item
Object (bounding_box)Bounding Box Annotation
Object (polygon)Polygon Annotation
Object (polyline)Polyline Annotation
Object (point)Keypoint Annotation
ClassificationClassification Label
OntologyLabel Taxonomy
Label RowAnnotation Set
ReviewReview

Encord-Specific Notes

  • Ontology structure: Encord’s hierarchical ontology (nested classifications under objects) maps to Avala’s label taxonomy with nested attributes. Review the mapping to ensure nested classification groups transfer correctly.
  • Video annotations: Encord stores video annotations per-frame with object tracking IDs. Map tracking IDs to Avala’s tracking annotation feature.
  • Priority queues: Encord’s labeling priority queues do not transfer. Recreate prioritization using Avala’s work batches.

General Migration Steps

For platforms not listed above, follow this general process:

1. Export Your Data

Export annotations from your current platform in a standard format. Most platforms support at least one of these:
  • COCO JSON
  • YOLO TXT
  • Pascal VOC XML

2. Transform to Avala Format

If your export format is not directly supported, transform it to COCO format, which provides the most complete mapping to Avala’s annotation model.

3. Upload Data to Avala

Create a dataset and upload your images or data files using the REST API. File uploads use presigned URLs — see the REST API guide for details.
# Create a dataset via the REST API
curl -X POST "https://api.avala.ai/api/v1/datasets/" \
  -H "X-Avala-Api-Key: $AVALA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "migrated-data", "data_type": "image"}'
The SDK supports read operations (client.datasets.list(), client.datasets.get(uid)) and exports (client.exports.create()). For dataset creation, uploads, and annotation imports, use the REST API directly.

4. Import Annotations

Import the exported annotations into your Avala dataset:
curl -X POST "https://api.avala.ai/api/v1/datasets/{owner}/{slug}/import/" \
  -H "X-Avala-Api-Key: $AVALA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"format": "coco", "file_url": "https://your-storage/annotations.json"}'

5. Verify and Review

After import, verify your data using the SDK or Mission Control:
from avala import Client

client = Client()

# List datasets to find your imported data
page = client.datasets.list()
for dataset in page:
    print(f"{dataset.name} ({dataset.uid})")

Data Format Mapping

The following table shows how common annotation formats map to Avala’s internal format.
Source FormatAnnotation Types SupportedNotes
COCO JSONBounding boxes, polygons, keypoints, segmentation masksRecommended format. Full metadata support including categories and image info.
YOLO TXTBounding boxesOne text file per image. Class IDs mapped via a separate classes file.
Pascal VOC XMLBounding boxesOne XML file per image. Supports difficulty flags and truncation metadata.
CVAT XMLBounding boxes, polygons, polylines, keypoints, tracksPreserves tracking information and frame-level annotations.
Labelbox JSONAll typesRequires conversion to COCO for import. Contact support for assistance.
Label Studio JSONAll typesRequires conversion to COCO for import.
Scale AI JSONBounding boxes, polygons, polylines, keypoints, cuboidsConvert response.annotations to COCO. Heading/velocity stored as metadata.
Encord JSONBounding boxes, polygons, polylines, keypoints, classificationsConvert normalized coordinates to absolute pixels, then to COCO.

Tips for a Smooth Migration

  • Start with a small test: Migrate a small subset of your data first to validate the process before migrating everything.
  • Verify label consistency: Ensure label names match between your source platform and Avala. Mismatched labels will be created as new labels.
  • Preserve metadata: When possible, export with full metadata to retain information like creation dates, annotator assignments, and review statuses.
  • Back up your source data: Keep a copy of your exported data from the original platform until you have verified the migration is complete.
For enterprise migrations involving large datasets (100,000+ items) or custom formats, contact support@avala.ai for dedicated migration assistance.