Use with the REST API

The Serverless Hosted API V2 has one endpoint for all models and Workflows:

https://serverless.roboflow.com
Model Type
Serverless Hosted API V2
Hosted API V1

Object detection, Keypoint detection

https://serverless.roboflow.com

https://detect.roboflow.com

Instance Segmentation

https://serverless.roboflow.com

https://outline.roboflow.com

Classification

https://serverless.roboflow.com

https://classify.roboflow.com

Semantic Segmentation

Currently not supported

https://segment.roboflow.com

Foundation models (i.e. CLIP, OCR, YOLO-World)

https://serverless.roboflow.com

https://infer.roboflow.com

Make Requests with HTTP

Endpoint to run predefined workflow

post

Checks Roboflow API for workflow definition, once acquired - parses and executes injecting runtime parameters from request body

Path parameters
workspace_namestringRequired
workflow_idstringRequired
Body
api_keyany ofOptional

Roboflow API Key that will be passed to the model during initialization for artifact retrieval

stringOptional
or
nullOptional
excluded_fieldsany ofOptional

List of field that shall be excluded from the response (among those defined in workflow specification)

string[]Optional
or
nullOptional
enable_profilingbooleanOptional

Flag to request Workflow run profiling. Enables Workflow profiler only when server settings allow profiling traces to be exported to clients. Only applies for Workflows definitions saved on Roboflow platform.

Default: false
workflow_idany ofOptional

Optional identifier of workflow

stringOptional
or
nullOptional
use_cachebooleanOptional

Controls usage of cache for workflow definitions. Set this to False when you frequently modify definition saved in Roboflow app and want to fetch the newest version for the request.

Default: true
Responses
200
Successful Response
application/json
post
POST /{workspace_name}/workflows/{workflow_id} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 156

{
  "api_key": "text",
  "inputs": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "excluded_fields": [
    "text"
  ],
  "enable_profiling": false,
  "workflow_id": "text",
  "use_cache": true
}
{
  "outputs": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "profiler_trace": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ]
}

Make Requests with the Python SDK

If you are working in Python, the most convenient way to interact with the Serverless API is to use the Inference Python SDK.

To use the SDK, first install it:

pip install inference-sdk

To make a request to the Serverless Hosted API V2, use the following code:

from inference_sdk import InferenceHTTPClient

CLIENT = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key="API_KEY"
)

result = CLIENT.infer(your_image.jpg, model_id="model-id/1")

Above, specify your model ID and API key.

Last updated

Was this helpful?