> For the complete documentation index, see [llms.txt](https://docs.unitlab.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.unitlab.ai/documentation/annotations/video-annotation.md).

# Video Annotation

Video annotation adds time, identity, and change to visual labeling. Unitlab combines frame-level geometry, full or directional auto-tracking, interpolation, synchronized audio, dynamic properties, and a complete timeline so teams can review what happened, when it happened, and which object remained the same.

{% hint style="info" %}
**Use this guide when:** you are building object-tracking, action, event, behavior, scene, or multimodal video datasets.
{% endhint %}

## See video annotation in action

The demo shows frame-aware visual annotation and AI assistance. Use the timeline—not playback alone—to inspect track continuity and temporal labels.

{% embed url="<https://homepage-files.s3.us-east-2.amazonaws.com/hero-videos/hero/auto-labeling-2.mp4>" %}

[Open the demo in a new tab](https://homepage-files.s3.us-east-2.amazonaws.com/hero-videos/hero/auto-labeling-2.mp4).

## Before you begin

1. Create or select a project whose data and ontology match this modality.
2. Confirm the project instructions define the unit of annotation, boundary or timing policy, required properties, and review route.
3. Open the project and enter the assigned item from the project data view or queue. The Workbench loads the modality-native editor inside the shared Unitlab shell.

See [Annotation Workbench](/documentation/annotations/annotation-workbench.md) for navigation, saving, item state, comments, issues, and workflow actions.

## Understand the video work surface

The video Workbench combines the visual canvas with playback controls, frame navigation, an annotation timeline, ontology controls, and item workflow actions. Geometry can be created on an exact frame, propagated with tracking or interpolation, and corrected at keyframes. Audio can remain synchronized to the video when sound is part of the decision.

![Three cyclist frames aligned to an exact keyframe timeline](/files/YUAPNOkZxH48yNYStvqf)

*Frame-accurate labeling keeps the visual state and the timeline state aligned.*

## Supported annotation model

| Annotation type                           | Use it for                                               |
| ----------------------------------------- | -------------------------------------------------------- |
| **Tracked box, polygon, mask, or cuboid** | Object localization that persists across frames.         |
| **Keypoint or skeleton track**            | Pose or landmark motion over time.                       |
| **Line or polyline**                      | Temporal paths and elongated structures.                 |
| **Temporal classification or event**      | An action, scene, state, or interval on the timeline.    |
| **Dynamic class property**                | A property of one tracked object that changes over time. |
| **Dynamic Item Property**                 | A whole-video state or event that changes over time.     |
| **Relation**                              | A governed connection between tracked objects.           |
| **Static Item Property**                  | A fact that applies to the complete sequence.            |

Tracking predicts object state across frames; interpolation fills geometry between explicit keyframes. They solve different problems and both require timeline review.

## Full, forward, backward, and multi-object tracking

Create a reliable seed annotation, then run the tracking direction that matches the visible interval. Full tracking covers both directions around the seed; forward or backward tracking limits the prediction range. Auto-Track All can propagate multiple selected objects together. Correct identity switches, drift, missed reappearances, and shape errors at the first frame where they occur.

![A van and cyclist selected and tracked together across video frames](/files/LoZ274Zk3xL0iRyw1GMm)

*Multi-object tracking accelerates propagation while the annotator remains responsible for identity and geometry.*

## Dynamic properties and Item Properties

Use dynamic class properties when the state belongs to one tracked object—for example vehicle motion or visibility. Use dynamic Item Properties when the state describes the complete video—for example scene condition or global event. Create explicit temporal segments and review their start and end frames. A property value outside its intended time range is a label error even when the geometry is correct.

## Timeline review for long sequences

Use the overview timeline to find tracks, keyframes, temporal segments, gaps, and dense regions. Zoom into a local interval for exact correction, then return to the full sequence to confirm continuity. Long videos should be reviewed at transition points, object entrances and exits, occlusion, shot changes, and every property boundary.

![Video moments connected to tracks, states, keyframes, and a shared playhead](/files/RHnKcRJrKnXjUI6nvDII)

*The timeline is the authoritative map of track continuity, temporal state, and review coverage.*

## Annotate one production item

{% stepper %}
{% step %}

#### 1. Find the first reliable frame

Navigate to a frame where the target is visible and unambiguous. Confirm the ontology class and the intended identity rule.
{% endstep %}

{% step %}

#### 2. Create the seed geometry

Draw the required box, polygon, mask, cuboid, keypoints, or skeleton and complete any properties that apply at the seed.
{% endstep %}

{% step %}

#### 3. Choose propagation

Use full, forward, or backward auto-tracking for model-based propagation, or add explicit keyframes and interpolation when controlled geometric transition is the correct method.
{% endstep %}

{% step %}

#### 4. Correct the first failure

Scrub the timeline and stop at the first drift, identity switch, occlusion error, or missed reappearance. Correct there before continuing so later predictions do not inherit the mistake.
{% endstep %}

{% step %}

#### 5. Add temporal meaning

Create dynamic class properties, dynamic Item Properties, events, or classifications with exact start and end frames. Add object relations where the ontology requires them.
{% endstep %}

{% step %}

#### 6. Review and route

Inspect the full timeline, key transitions, synchronized audio, required values, and final object identity; then save and use the configured stage action.
{% endstep %}
{% endstepper %}

## Quality review

| Review focus         | What to check                                                                      |
| -------------------- | ---------------------------------------------------------------------------------- |
| **Identity**         | One track must represent one real object; split or repair identity switches.       |
| **Frame boundaries** | Check the exact first and last valid frames for every track and event.             |
| **Geometry drift**   | Review changes in scale, pose, occlusion, motion blur, and camera movement.        |
| **Temporal values**  | Confirm dynamic properties and Item Properties change only on the intended frames. |
| **Audio context**    | When audio informs the label, review playback and waveform context together.       |

{% hint style="warning" %}
A saved annotation is not automatically a production-ready annotation. Required values, boundary or timing policy, cross-item consistency, and the configured review stage still apply.
{% endhint %}

## Move from labels to governed data

Video outputs should preserve track identity, keyframes, temporal ranges, dynamic properties, relations, and the source frame rate or timestamp basis. Route model-assisted results through the same review stage as manual work and version material changes to tracking or ontology policy.

![Integrated Unitlab workflow connecting model assistance, annotation, review, and quality assurance](/files/yPoYNby78Kd9mxWTVqxy)

*Use workflows to keep model output, human correction, review, and approval in one traceable operating path.*

## Next steps

* Use [Detect Anything (SAM 1–SAM 3)](/documentation/auto-labeling/detect-anything-sam-1-sam-3.md) to calibrate interactive and batch assistance.
* Use [Multimodal overview](/documentation/multimodal-annotations/multimodal-overview.md) when related files or views must stay in one task.
* Curate difficult cases and review cohorts in [Data curation](/documentation/data/data-curation.md).
* Read the current [video annotation product overview](https://unitlab.ai/en/video-annotation) for the feature overview and current media.
