YOLO-NAS

Use the YOLO-NAS object detection model through our Serverless Cloud API

YOLO-NAS is an object detection model from Deci, produced by neural architecture search. Roboflow serves COCO-pretrained YOLO-NAS checkpoints under short aliases, and you can upload your own weights to run a model you trained elsewhere.

Training YOLO-NAS is not supported on Roboflow. For a Roboflow-trained detector, see RF-DETR, YOLO26, or YOLO11.

YOLO-NAS pretrained aliases

Pass one of these IDs as model_id to run a COCO-pretrained checkpoint without training anything. The full list lives on the Pretrained Model Aliases page.

ModelInput sizeTaskModel IDTest
YOLO-NAS (small)640Object Detectionyolo-nas-s-640Test in browser
YOLO-NAS (medium)640Object Detectionyolo-nas-m-640Test in browser
YOLO-NAS (large)640Object Detectionyolo-nas-l-640Test in browser

YOLO-NAS API

1

Get your API Key

Create a Roboflow account, find your key on the Roboflow API settings page and make it available to your shell:

export ROBOFLOW_API_KEY="your-key-here"
2

Install the dependencies

Install the Inference SDK and supervision for decoding and drawing predictions:

pip install -U inference-sdk supervision opencv-python
3

Run the model

This example runs the pretrained yolo-nas-s-640 checkpoint. To serve your own weights, swap in your {workspace}/{model-slug} ID (see Versions, Trainings, and Models).

import os
import cv2
import supervision as sv
from inference_sdk import InferenceHTTPClient

image = sv.load_image_from_url("https://media.roboflow.com/inference/people-walking.jpg")

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key=os.environ["ROBOFLOW_API_KEY"],
)
results = client.infer(image, model_id="yolo-nas-s-640")

detections = sv.Detections.from_inference(results)

labels = [
    f"{name} {conf:.2f}"
    for name, conf in zip(detections.data["class_name"], detections.confidence)
]
annotated = sv.BoxAnnotator().annotate(image.copy(), detections)
annotated = sv.LabelAnnotator().annotate(annotated, detections, labels=labels)
cv2.imwrite("annotated.png", annotated)

Set api_url to match your deployment target:

  • https://serverless.roboflow.com for the Serverless Cloud API.
  • http://localhost:9001 for a local Inference server.
  • Your Dedicated Deployment URL for a private endpoint.

You can also load the checkpoint in-process with the inference package:

from inference import get_model

model = get_model(model_id="yolo-nas-s-640")
results = model.infer("https://media.roboflow.com/inference/people-walking.jpg")