arazzo: 1.0.1
info:
title: Viam Curate a Training Dataset
summary: Find binary data by filter, tag the matches, and add them to a dataset.
description: >-
Prepares captured images for ML training. The flow queries binary data items
with a filter, applies tags to the supplied binary ids, and adds those items
to a dataset that can later feed a training job. Each request body is inlined
so the curation can be executed directly against the Viam Data Client API.
version: 1.0.0
sourceDescriptions:
- name: binaryDataApi
url: ../openapi/viam-binary-data-api-openapi.yml
type: openapi
- name: datasetsApi
url: ../openapi/viam-datasets-api-openapi.yml
type: openapi
- name: tagsApi
url: ../openapi/viam-tags-api-openapi.yml
type: openapi
workflows:
- workflowId: curate-dataset
summary: Query binary data, tag the items, and add them to a dataset.
description: >-
Runs a binary-data filter query, adds tags to the supplied binary ids, and
adds the same items to the target dataset.
inputs:
type: object
required:
- apiKey
- filter
- binaryIds
- tags
- datasetId
properties:
apiKey:
type: string
description: Viam API key value sent in the key header.
filter:
type: object
description: Data request filter object used to scope the binary-data query.
binaryIds:
type: array
description: Binary id objects to tag and add to the dataset.
items:
type: object
tags:
type: array
description: String tags to apply to the matched binary data items.
items:
type: string
datasetId:
type: string
description: The dataset the binary items are added to.
steps:
- stepId: findBinary
description: Query binary data items matching the supplied filter (metadata only).
operationId: binaryDataByFilter
parameters:
- name: key
in: header
value: $inputs.apiKey
requestBody:
contentType: application/json
payload:
data_request: $inputs.filter
include_binary: false
count_only: false
successCriteria:
- condition: $statusCode == 200
- stepId: tagBinary
description: Apply the supplied tags to the supplied binary data items.
operationId: addTagsToBinaryDataByIDs
parameters:
- name: key
in: header
value: $inputs.apiKey
requestBody:
contentType: application/json
payload:
binary_ids: $inputs.binaryIds
tags: $inputs.tags
successCriteria:
- condition: $statusCode == 200
- stepId: addToDataset
description: Add the tagged binary data items to the target dataset.
operationId: addBinaryDataToDatasetByIDs
parameters:
- name: key
in: header
value: $inputs.apiKey
requestBody:
contentType: application/json
payload:
binary_ids: $inputs.binaryIds
dataset_id: $inputs.datasetId
successCriteria:
- condition: $statusCode == 200
outputs:
datasetId: $inputs.datasetId
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.