Overview
Collections are an optional way to group Inputs together. This is different to Projects, which are used for access control purposes. Collections still belong to a Project.Purpose of Collections
- To group inputs within a Project with some sort of relation
- To query a group of inputs collectively
Multi-file queries
Collections enable multi video or image search - querying a large set of Inputs at once. This is useful when your goal is to query or find something specific across a large video or imagery dataset, commonly referred to as the “needle in a haystack” task. It also enables reasoning across multiple files, compared to queries against a single Input. It is common to group Inputs from unique data sources or singular ingestion events.Lifecycle
- When you create a Collection, it is initially empty.
- Inputs can specify a Collection at creation to belong to.
- Inputs can be added or removed from a Collection.
- Inputs can belong to multiple Collections within the same project.
- A Collection must be empty before being able to delete it.
Access Control
Collections belong to a Project and all Users added to a Project have shared ownership over the Collection. Inputs can only be created or added in a Collection if they both belong to the same Project.Pagination and Filtering
When listing Collections, the API returns paginated results with support for filtering and sorting.Deletion
A Collection can only be deleted if it is empty. This means to delete a non-empty Collection, you must first either remove or delete all Inputs in the Collection. Deleting a Collection will also delete any associated Queries.Related Endpoints
Create Collection
Create a new collection
List Collections
View all collections in your accessible projects
Get Collection
Retrieve a Collection’s details
List Inputs in a Collection
List the Inputs that belong to a Collection
Add Input to Collection
Associate an existing Input to a Collection
Remove an Input from a Collection
Remove an existing Input from a Collection