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.
| Model | Input size | Task | Model ID | Test |
|---|---|---|---|---|
| YOLOv10n | 640 | Object Detection | yolov10n-640 | Test in browser |
| YOLOv10s | 640 | Object Detection | yolov10s-640 | Test in browser |
| YOLOv10m | 640 | Object Detection | yolov10m-640 | Test in browser |
| YOLOv10b | 640 | Object Detection | yolov10b-640 | Test in browser |
| YOLOv10l | 640 | Object Detection | yolov10l-640 | Test in browser |
| YOLOv10x | 640 | Object Detection | yolov10x-640 | Test in browser |
YOLOv10 API
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"Install the dependencies
Install the Inference SDK and supervision for decoding and drawing predictions:
pip install -U inference-sdk supervision opencv-pythonRun 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.comfor the Serverless Cloud API.http://localhost:9001for 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")