How This Helps
Enrichment runs AI models against your dataset media to unlock advanced capabilities — caption-based search, object detection, face detection, and semantic similarity. Each enrichment operation produces a new dataset copy with the model outputs applied, leaving the original unchanged.
Use
status_new for all status checks. The status field is being retired. See Retrieve Dataset Status.Prerequisites
- A Visual Layer Cloud account with API access.
- A valid JWT token. See Authentication.
- A dataset in
READYstatus with its ID (visible in the browser URL when viewing a dataset:https://app.visual-layer.com/dataset/<dataset_id>/data).
List Available Models
Retrieve the models available for enrichment on a dataset.Example
Response
Returns an array of model objects. Each object includes:| Field | Description |
|---|---|
id | The model ID to use when starting enrichment. |
name | The display name of the model. |
type | The enrichment type (for example, CAPTION_IMAGES, OBJECT_DETECTION). |
status | Active or Coming Soon. Only Active models can be applied. |
vendor | The model provider (VL or Nvidia). |
description | What the model does. |
dependencies | Other enrichment types that must be applied first, or null. |
Check Applied Enrichments
Retrieve the enrichment configuration currently applied to a dataset.Example
Response
status of NEW means no enrichments have been applied yet. An applied dataset shows the enrichment model IDs in dataset_enrichment_models.enrichment_models.
Start Enrichment
Apply one or more AI models to a dataset. Enrichment creates a new dataset copy with the model outputs applied — the original dataset is not modified.Request Body
id values from list_models as the model IDs, and the corresponding type values as the keys.
Example
Response
dataset_id of the new enriched copy. Poll the status endpoint for this new dataset until status_new reaches READY before running search or export operations on it.
The source dataset enters
READ ONLY status while enrichment runs. The enriched copy is a separate dataset — it has its own dataset_id and appears as a new entry in your dataset inventory.Python Example
Response Codes
See Error Handling for the error response format and Python handling patterns.| HTTP Code | Meaning |
|---|---|
| 200 | Request successful. |
| 401 | Unauthorized — check your JWT token. |
| 404 | Dataset not found or you do not have access. |
| 409 | Conflict — dataset is not in a state that allows enrichment. |
| 500 | Internal Server Error — contact support if this persists. |
Related Resources
Retrieve Dataset Status
Poll the enriched dataset until processing completes.
Semantic Search
Use caption and semantic embeddings generated by enrichment for search.