YOLOv12

Use the YOLOv12 object detection model through our Serverless Hosted API

We support YOLOv12 object detection inferencing via our Serverless Hosted API. YOLOv12 is supported in five sizes (n, s, m, l, x) for the object detection task.

For self-hosted deployment, see Roboflow Inference.

YOLOv12 input size is set when you train your model on Roboflow (typical values: 640x640 or 1280x1280).

YOLOv12 does not ship with pretrained COCO aliases on the Serverless Hosted API. To use YOLOv12, train your own model on Roboflow and call it using your model URL in the form your-project/version.

Code sample

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

pip install inference-sdk supervision

Run detection against your trained YOLOv12 model, then decode the response with sv.Detections.from_inference, draw bounding boxes and labels, and save the annotated image. Pass your Roboflow API Key via the API_KEY environment variable, and replace the model_id with your own project/version.

import os
import urllib.request

import cv2
import supervision as sv
from inference_sdk import InferenceHTTPClient

image_url = "https://storage.googleapis.com/com-roboflow-marketing/notebooks/examples/cars-highway.png"
image_path = "cars-highway.png"
urllib.request.urlretrieve(image_url, image_path)

image = cv2.imread(image_path)

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key=os.getenv("API_KEY"),
)
result = client.infer(image, model_id="your-project/1")

detections = sv.Detections.from_inference(result)

labels = [
    f"{class_name} {confidence:.2f}"
    for class_name, confidence
    in zip(detections.data.get("class_name", []), detections.confidence)
]

box_annotator = sv.BoxAnnotator()
label_annotator = sv.LabelAnnotator()

annotated = box_annotator.annotate(scene=image.copy(), detections=detections)
annotated = label_annotator.annotate(scene=annotated, detections=detections, labels=labels)

cv2.imwrite("annotated.png", annotated)

Set api_url to match your deployment target:

  • https://serverless.roboflow.com for the Serverless Hosted API.

  • http://localhost:9001 for a local Inference server.

  • Your Dedicated Deployment URL for a private endpoint.

Last updated

Was this helpful?