YOLOv10

Use the YOLOv10 object detection model through our Serverless Cloud API

YOLOv10 is an object detection model that removes non-maximum suppression from the inference path, lowering latency. Roboflow serves COCO-pretrained YOLOv10 checkpoints under short aliases, and you can upload your own weights to run a model you trained elsewhere.

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

YOLOv10 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
YOLOv10n640Object Detectionyolov10n-640Test in browser
YOLOv10s640Object Detectionyolov10s-640Test in browser
YOLOv10m640Object Detectionyolov10m-640Test in browser
YOLOv10b640Object Detectionyolov10b-640Test in browser
YOLOv10l640Object Detectionyolov10l-640Test in browser
YOLOv10x640Object Detectionyolov10x-640Test in browser

YOLOv10 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 yolov10n-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="yolov10n-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="yolov10n-640")
results = model.infer("https://media.roboflow.com/inference/people-walking.jpg")