Creating a New Project

Project Overview

A project in Labellerr organizes your datasets and their annotations. Use the following method to create a project:

Limitations:

  • Maximum of 2,500 files per folder.
  • Total folder size should not exceed 2.5 GB.

Acceptable value:

  • option_type
    • 'input', 'radio', 'boolean', 'select', 'dropdown', 'stt', 'imc', 'BoundingBox', 'polygon', 'dot', 'audio'

Data Types and Supported Formats

The Labellerr SDK supports various data types and file formats for your annotation projects:

Supported Data Types and Extensions

Data TypeDescriptionSupported Extensions
imageImage files for visual annotation.jpg, .jpeg, .png, .bmp, .tiff
videoVideo content for temporal annotation.mp4
audioAudio files for sound annotation.mp3, .wav
documentDocument files for text analysis.pdf
textPlain text files for text annotation.txt
When using the SDK methods, specify the data type as one of: 'image', 'video', 'audio', 'document', or 'text'.When using the initiate_create_project() function, you must provide either:
  • annotation_guide (as a dictionary), or
  • annotation_template_id (as a string)
Important: At least one of these two fields is required. If both are missing, the project creation will fail.

Example: Creating a Project with an Existing Template

Project Creation with Template
from labellerr.client import LabellerrClient
from labellerr.exceptions import LabellerrError

# Initialize the client with your API credentials
client = LabellerrClient(api_key, api_secret)
project_payload = {
    'client_id': client_id,
    'dataset_name': 'New_dataset',
    'dataset_description': 'A sample dataset for image classification',
    'data_type': 'image',
    'created_by': email,
    'project_name': 'Image Classification Project',
    'annotation_template_id':"existing annotaion_template_id",
    'rotation_config': {
        'annotation_rotation_count': 1,
        'review_rotation_count': 1,
        'client_review_rotation_count': 1
    },
    'autolabel': False,
    'folder_to_upload': 'path/to/your/dataset'
}
try:
    result = client.initiate_create_project(project_payload)
    print(f"Project created successfully. Project ID: {result['project_id']['response']['project_id']}")
except LabellerrError as e:
    print(f"Project creation failed: {str(e)}")

Example: Creating a Project with Inline Annotation Questions

You can also add classification questions and annotation questions while creating the project.
Project Creation with Inline Annotation Guide
from labellerr.client import LabellerrClient
from labellerr.exceptions import LabellerrError

# Initialize the client with your API credentials
client = LabellerrClient(api_key, api_secret)
project_payload = {
    'client_id': client_id,
    'dataset_name': 'New_dataset',
    'dataset_description': 'A sample dataset for image classification',
    'data_type': 'image',
    'created_by': email,
    'project_name': 'Image Classification Project',
    'annotation_guide': [
        {
            "question_number": 1,
            "question": "What is the main object in the image?",
            "question_id": "533bb0c8-fb2b-4394-a8e1-5042a944802f",
            "option_type": "dropdown",
            "required": True,
            "options": [
                {"option_name": "Car"},
                {"option_name": "Building"},
                {"option_name": "Person"}
            ]
        }
    ],
    'rotation_config': {
        'annotation_rotation_count': 1,
        'review_rotation_count': 1,
        'client_review_rotation_count': 1
    },
    'autolabel': False,
    'folder_to_upload': 'path/to/your/dataset'
}
try:
    result = client.initiate_create_project(project_payload)
    print(f"Project created successfully. Project ID: {result['project_id']['response']['project_id']}")
except LabellerrError as e:
    print(f"Project creation failed: {str(e)}")

Glossary

Project Payload Fields

Variable/KeyTypeDescriptionExample Value
client_idStringUnique identifier for the client or organization creating the projectclient_123
dataset_nameStringName of the dataset being createdNew_dataset
dataset_descriptionStringDescription explaining the dataset’s purpose and contentsA sample dataset for image classification
data_typeStringType of data in the datasetimage
created_byStringEmail address of the project creatoruser@example.com
project_nameStringDisplay name for the annotation projectImage Classification Project
annotation_template_idStringID of existing annotation template defining label structuretemplate_456
autolabelBooleanEnable/disable automatic AI pre-labelingfalse
folder_to_uploadStringLocal file path to dataset folderpath/to/your/dataset
annotation_rotation_countIntegerNumber of times data item need to be annotated1
review_rotation_countIntegerNumber of times annotated item need to be reviewed1
client_review_rotation_countIntegerNumber of times client reviewers need to be done.1