images_search
Search for images inside a project.
annotations_save
Save an annotation for an existing image.
annotation_batches_list
List upload batches in a project.
Returns a list of batches with id, name, image count, and upload info.
annotation_batches_get
Get details about a specific batch.
Returns batch details including image count and status.
annotation_jobs_create
Create an annotation job to assign a batch of images to a labeler.
Returns the created job details including id, name, and status.
versions_generate
Create a new dataset version with optional preprocessing and augmentation.
IMPORTANT: Before calling this tool, you MUST ask the user which
preprocessing and augmentation options they want to apply. Present them
with the available options listed below and let them choose. Do not
assume defaults — explicitly confirm their choices before generating.
IMPORTANT: This operation can take several minutes for large datasets.
You MUST spawn a sub-agent to run this tool in the background.
Returns the generated version number, image count, and split sizes.
versions_get
Get info about a dataset version including splits and model metrics.
Returns version details with id, name, images, splits, preprocessing,
augmentation, and model info if trained.
versions_export
Check or trigger a dataset export for a version.
models_list
List trained models associated with a project.
models_get
Get details for a trained model.
models_infer
Run hosted inference on an image using a trained model.
Returns JSON predictions only. For visualized/annotated images,
use workflow_specs_run with a visualization block instead.
models_train
Start training a model on a dataset version.
IMPORTANT: A dataset version must exist before training. Use the
versions_generate tool first to create one with the desired
preprocessing and augmentation settings.
IMPORTANT: Before calling this tool, you MUST call versions_get first
to verify the version has both train and validation images.
This tool returns immediately. Training runs in the background on
Roboflow servers.
Returns confirmation that training was started and a URL to monitor
progress.
models_get_training_status
Get the training progress and metrics for a dataset version.
Use this tool to check on a training job started with models_train.
Returns training status, progress (current/total epochs), latest
metrics (mAP, loss), and the URL to view training in the dashboard.
workflows_list
List saved workflows in the current workspace.
workflows_get
Get details for a saved workflow.
workflows_create
Create and save a new Workflow in the workspace.
IMPORTANT: Always validate the config with workflow_specs_validate
before creating the workflow.
The config is the same JSON format used by workflow_specs_run and
workflow_specs_validate. Once saved, the workflow can be executed
by ID via workflows_run.
Returns the created workflow including its document ID. Save
this ID — it is required for workflows_update.
workflows_update
Update an existing saved Workflow's name and definition.
IMPORTANT: Always validate the config with workflow_specs_validate
before updating the workflow.
Use workflows_get to retrieve the current workflow first, then
modify the config as needed.
workflow_blocks_list
List all available Workflow blocks with a short summary of each.
Use this tool to discover which blocks can be used when building a
Workflow definition. To get the full schema (properties, required
fields, etc.) of a specific block, call ``workflow_blocks_get_schema``
with the block's ``manifest`` name.
Returns a list of blocks, each with manifest (schema key), name,
block_type, and short_description.
workflow_blocks_get_schema
Get the full schema of a specific Workflow block.
Returns all properties, required fields, and descriptions for a
block identified by its manifest name (as returned by
``workflow_blocks_list``).
workflow_specs_validate
Validate a Workflow JSON definition without executing it.
Use this tool to check whether a workflow definition is syntactically
and semantically correct before saving or running it. The definition
should follow the standard Workflow format with version, inputs,
steps, and outputs.
IMPORTANT: Always validate a workflow definition before running it.
Example workflow definition — detects objects, enlarges bounding
boxes, crops, runs a second detection filtering for dogs, and
classifies the breed only when exactly one dog is found:
.. code-block:: json
{
"version": "1.0",
"inputs": [
{"type": "WorkflowImage", "name": "image"}
],
"steps": [
{
"type": "ObjectDetectionModel",
"name": "first_detection",
"image": "$inputs.image",
"model_id": "yolov8n-640"
},
{
"type": "DetectionsTransformation",
"name": "enlarging_boxes",
"predictions": "$steps.first_detection.predictions",
"operations": [
{"type": "DetectionsOffset", "offset_x": 50, "offset_y": 50}
]
},
{
"type": "Crop",
"name": "first_crop",
"image": "$inputs.image",
"predictions": "$steps.enlarging_boxes.predictions"
},
{
"type": "ObjectDetectionModel",
"name": "second_detection",
"image": "$steps.first_crop.crops",
"model_id": "yolov8n-640",
"class_filter": ["dog"]
},
{
"type": "ContinueIf",
"name": "continue_if",
"condition_statement": {
"type": "StatementGroup",
"statements": [
{
"type": "BinaryStatement",
"left_operand": {
"type": "DynamicOperand",
"operand_name": "prediction",
"operations": [{"type": "SequenceLength"}]
},
"comparator": {"type": "(Number) =="},
"right_operand": {
"type": "StaticOperand",
"value": 1
}
}
]
},
"evaluation_parameters": {
"prediction": "$steps.second_detection.predictions"
},
"next_steps": ["$steps.classification"]
},
{
"type": "ClassificationModel",
"name": "classification",
"image": "$steps.first_crop.crops",
"model_id": "dog-breed-xpaq6/1"
}
],
"outputs": [
{
"type": "JsonField",
"name": "dog_classification",
"selector": "$steps.classification.predictions"
}
]
}
Key patterns shown above:
- ``$inputs.<name>`` references a workflow input.
- ``$steps.<step_name>.<output>`` references another step's output.
- ``ContinueIf`` enables conditional branching based on runtime
values.
- Steps can chain: detect → transform → crop → detect → classify.
Returns validation status. A valid workflow returns
``{"status": "ok"}``. An invalid one returns error details.
workflows_run
Execute a saved Workflow on one or more images.
Runs a previously created Workflow against the provided images on
the Roboflow serverless infrastructure.
IMPORTANT: If processing more than 10 images, spawn a sub-agent to
run this tool in the background so the user is not blocked.
Returns workflow outputs as defined by the workflow's output blocks.
workflow_specs_run
Execute a Workflow from an inline JSON definition.
Unlike ``run_workflow`` which runs a previously saved workflow by ID,
this tool accepts a full workflow JSON spec and executes it directly.
This is useful for testing workflows before saving them.
IMPORTANT: Always call ``workflow_specs_validate`` first to check the
definition is valid before running it.
IMPORTANT: If processing more than 10 images, spawn a sub-agent to
run this tool in the background so the user is not blocked.
Returns workflow outputs as defined by the workflow's output blocks.
universe_search
Search Roboflow Universe for datasets or models.
The query supports operators mixed with free-text:
- Add 'model' to only return datasets with trained models
- 'class:helmet,person' filters by class names
- 'images>500' filters by image count (also >=, <, <=)
- 'sort:stars' sorts results (stars, images, downloads, views, updated)
- 'object detection' filters by project type
- 'updated:30d' filters by recency
Example: 'fire smoke class:fire,smoke images>200 model sort:stars'
meta_feedback_send
Report a bug, missing feature, UX friction, or documentation issue.
Call this proactively when you encounter errors using Roboflow tools,
when the user expresses frustration, when a tool is missing for the
task at hand, or when a parameter is poorly documented.
Returns confirmation that the feedback was recorded.