Skip to main content

Overview

A project in Labellerr combines datasets with annotation guidelines to create a structured workflow for your team. This guide covers everything you need to create projects programmatically using the SDK.

Project Creation Requirements

To create a project, you need three components:
  1. Dataset(s) - One or more datasets containing your files
  2. Annotation Template - Questions and labels defining your annotation schema
  3. Project Configuration - Settings for rotations, AI features, and workflow rules
All components use validated schemas to catch errors before making API calls.

Supported Data Types

  • image - .jpg, .jpeg, .png, .bmp, .tiff
  • video - .mp4
  • audio - .mp3, .wav
  • document - .pdf
  • text - .txt

Quick Start

Here’s the minimal code to create a project:

Step-by-Step Guide

Step 1: Prepare Your Dataset

You can either create a new dataset or use an existing one.

Step 2: Create Annotation Template

Define the questions your annotators will answer.

Step 3: Configure & Create Project

Now combine your dataset and template to create the project.

Common Scenarios

Using Multiple Datasets

Attach multiple datasets to a single project for larger annotation workflows:
Homogeneous Data RequirementAll datasets attached to a single project must be of the same data type (e.g., all image, all video, etc.). You cannot mix different data types in the same project.

Multiple Annotation Rotations

For high-quality annotations, require multiple annotators per file:

Video Project with Keyframes

For video annotation projects:

Schema Reference

CreateProjectParams

Project Configuration Parameters

The data_type must match the data type of all attached datasets.

RotationConfig

Rotation Configuration

Defines how many times each file goes through annotation and review cycles.Constructor:
Examples:
Higher rotation counts improve annotation quality but increase project time and cost. Balance based on your accuracy requirements.
Free User Rotation LimitationsFor users on the Free Plan, rotation configuration is limited to the basic workflow:Available Configuration:
  • RotationConfig(1, 1, 1) - Only 1:1:1 rotation is available
This means:
  • ✅ 1 annotator per file
  • ✅ 1 reviewer per file
  • ✅ 1 client reviewer per file
Upgrade for Advanced Rotations:
  • RotationConfig(3, 2, 1) - Requires paid plan
  • RotationConfig(2, 2, 1) - Requires paid plan
  • Any configuration with values > 1 - Requires paid plan
To unlock higher rotation counts and improve annotation quality through multiple annotators/reviewers, please upgrade your plan.

QuestionType Enum

Available Question Types

Choose the appropriate question type for your annotation needs.
New to annotation types? Learn more about each annotation type with visual examples in our Annotation Types Guide.
Object-Based Questions (Drawing):Classification Questions (Selection):Example Usage:

Import Users from Another Project

Copy the user list (with roles/permissions) from one project to another in the same workspace-existing users are not duplicated.
  • Same-workspace only; roles/permissions are preserved.
  • If a user already exists in the target project, they are not duplicated.

Complete End-to-End Example

Here’s a production-ready example with error handling:

Troubleshooting

Error: Dataset {dataset_id} has no filesCause: The dataset was created but files haven’t finished uploading or processing.Solution:
  • Always call dataset.status() before creating a project to ensure dataset is ready
  • This method polls until dataset processing is complete
  • Verify folder path is correct and contains files
  • Check dataset.files_count to confirm files were uploaded
Error: Data type conflicts between project, dataset, and templateSolution:
  • Ensure all components use the same data type:
Cause: Missing required fields in questions (color for objects, options for classifications)Solution:
  • Object types require color field
  • Classification types require options list
  • Use required=True for mandatory questions
Solution:
  • Verify API key and secret are correct
  • Check key hasn’t expired
  • Ensure you have permissions to create projects

Create Dataset

Learn how to create and manage datasets

Annotation Questions

Detailed guide on crafting annotation questions

Upload Pre-annotations

Import existing annotations into your project

Export Annotations

Export completed annotations in various formats

Video Operations

Special operations for video projects

Getting Started

SDK installation and initialization guide

Need Help?

For technical support or questions about project creation, contact us at support@tensormatics.com