Skip to main content
Tasks are the core annotation units in CVAT. Each task contains uploaded data (images or videos) that will be annotated according to the project’s label schema.

Task Lifecycle

A task progresses through several stages:
  1. Creation: Task is created with configuration
  2. Data upload: Images/videos are uploaded to the task
  3. Job generation: Task is split into jobs for annotators
  4. Annotation: Annotators label the data
  5. Validation: Quality review and corrections
  6. Acceptance: Final approval
  7. Completion: Task marked as complete

Creating a Task

Using the Web UI

  1. Navigate to Projects → Select your project
  2. Click Create a new task
  3. Configure task settings:
    • Name: Descriptive task name
    • Subset: Optional subset identifier (e.g., “train”, “val”, “test”)
    • Advanced configuration:
      • Overlap: Number of frames overlapping between jobs
      • Segment size: Frames per job (0 = single job)
      • Image quality: Compressed frame quality (0-100)
      • Data chunk size: Frames per chunk for streaming
  4. Upload data (see Uploading Data)
  5. Click Submit

Using the REST API

Create a task with POST /api/tasks:
Response (201 Created):

Using the Python SDK

Using the CLI

Uploading Data

Local Files

Upload images or videos from your computer: Using the SDK:
Using the API:

Server Files

Use files from a mounted share:

Remote Files (URLs)

Provide URLs to download:

Cloud Storage

Use files from cloud storage:

Data Upload Parameters

Job Management

Understanding Jobs

When data is uploaded, CVAT automatically splits the task into jobs based on segment_size. Jobs are assigned to annotators for parallel work. Job types:
  • annotation: Standard annotation job
  • ground_truth: Ground truth validation job
  • consensus_replica: Consensus annotation job

Viewing Jobs

Assigning Jobs

Using the API:
Using the SDK:

Job States and Stages

Stages (workflow phase):
  • annotation: Initial annotation phase
  • validation: Review and quality check phase
  • acceptance: Final approval phase
States (completion status):
  • new: Not started
  • in progress: Work in progress
  • completed: Finished
  • rejected: Needs rework

Task States

Tasks inherit their status from constituent jobs:
  • annotation: Jobs are being annotated
  • validation: Jobs are in validation/review
  • completed: All jobs completed
Deprecated status field is computed from stage and state:

Validation Modes

CVAT supports different validation configurations:

Ground Truth Validation

Create a ground truth job for quality assessment:
Frame selection methods:
  • random_uniform: Random frames across entire task
  • random_per_job: Random frames from each job
  • manual: Manually specified frame list

Honeypot Validation

Create tasks with hidden validation frames:

Consensus Annotation

Enable multiple annotators for the same data:
This creates 3x jobs, allowing agreement analysis.

Updating Tasks

Update Task Properties

Update Task Labels (Standalone Tasks)

For tasks not in a project:
Tasks in a project inherit labels from the project. Update labels at the project level.

Deleting Tasks

Best Practices

  • Set segment_size to 100-500 frames per job
  • Use overlap (5-10 frames) for video tasks to ensure continuity
  • Smaller jobs = easier task management and recovery
  • Consider annotator capacity when sizing jobs
  • Use chunk_size=72 (default) for optimal streaming
  • Set image_quality based on needs: 70-85 for most tasks
  • Use frame_filter="step=N" to reduce video frames
  • Enable use_cache for faster repeated access
  • Use subset field for train/val/test splits
  • Assign descriptive names with batch/date info
  • Group related tasks in projects
  • Assign tasks to appropriate team members
  • Check jobs.completed count regularly
  • Review job states and stages
  • Use quality reports to track annotation quality
  • Set up validation workflows early

Next Steps

Quality Control

Set up validation and quality metrics

Annotation Guide

Learn about annotation tools and workflows

Export Annotations

Export annotated data in various formats

API Reference

Complete task API documentation