Link to this sectionInference#
Ultralytics Platform bietet eine Inference-API zum Testen trainierter Modelle. Nutze den browserbasierten Predict-Tab für eine schnelle Validierung oder die REST API für den programmatischen Zugriff.

Link to this sectionVorhersage-Tab#
Jedes Modell enthält einen Predict-Tab für browserbasierte Inference:
- Navigiere zu deinem Modell
- Klicke auf den Predict-Tab
- Lade ein Bild hoch, verwende ein Beispiel oder öffne deine Webcam
- Sieh dir die Vorhersagen sofort mit BBox-Overlays an

Link to this sectionEingabemethoden#
Das Predict-Panel unterstützt mehrere Eingabemethoden:
| Methode | Beschreibung |
|---|---|
| Bild-Upload | Per Drag-and-Drop oder Klick ein Bild hochladen |
| Beispielbilder | Klicke auf integrierte Beispiele (Dataset-Bilder oder Standardwerte) |
| Webcam-Aufnahme | Live-Kamera-Feed mit Einzelbildaufnahme |
graph LR
A[Upload Image] --> D[Auto-Inference]
B[Example Image] --> D
C[Webcam Capture] --> D
D --> E[Results + Overlays]
style D fill:#2196F3,color:#fff
style E fill:#4CAF50,color:#fffLink to this sectionBild hochladen#
Per Drag-and-Drop oder Klick hochladen:
- Unterstützte Formate: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
- Max. Größe: 10MB
- Auto-Inference: Ergebnisse erscheinen automatisch nach dem Hochladen
Das Predict-Panel führt die Inference automatisch aus, wenn du ein Bild hochlädst, ein Beispiel auswählst oder einen Webcam-Frame aufnimmst. Ein Button-Klick ist nicht erforderlich.
Link to this sectionBeispielbilder#
Das Predict-Panel zeigt Beispielbilder aus dem verknüpften Dataset deines Modells an. Wenn kein Dataset verknüpft ist, werden Standardbeispiele verwendet:
| Bild | Inhalt |
|---|---|
bus.jpg | Straßenszene mit Fahrzeugen |
zidane.jpg | Sportszene mit Personen |
Für OBB-Modelle werden stattdessen Luftaufnahmen von Booten und Flughäfen angezeigt.
Beispielbilder werden beim Laden der Seite vorab geladen, sodass das Anklicken eines Beispiels eine nahezu sofortige Inference ohne Download-Wartezeit auslöst.
Link to this sectionWebcam#
Klicke auf die Webcam-Karte, um einen Live-Kamera-Feed zu starten:
- Erteile die Kameraerlaubnis, wenn du dazu aufgefordert wirst
- Klicke auf die Videovorschau, um einen Frame aufzunehmen
- Die Inference läuft automatisch auf dem aufgenommenen Frame
- Klicke erneut, um die Webcam neu zu starten
Link to this sectionErgebnisse anzeigen#
Inference-Ergebnisse werden angezeigt:
- Bounding Boxes mit Klassennamen als SVG-Overlays
- Konfidenz-Scores für jede Detektion
- Klassenfarben aus der Farbpalette deines Datasets (oder der Ultralytics Standardpalette)
- Geschwindigkeitsaufschlüsselung: Preprocess, Inference, Postprocess und Netzwerkzeit

Das Ergebnisfeld zeigt:
| Feld | Beschreibung |
|---|---|
| Detektionsliste | Jede Detektion mit Klassenname und Konfidenz |
| Geschwindigkeitsstatistiken | Preprocess, Inference, Postprocess, Netzwerk (ms) |
| JSON-Antwort | Roh-API-Antwort in einem Codeblock |
Link to this sectionInference-Parameter#
Passe das Detektionsverhalten mit Parametern im ausklappbaren Bereich Parameters an:

| Parameter | Bereich | Standard | Beschreibung |
|---|---|---|---|
| Konfidenz | 0.01 – 1.0 | 0.25 | Minimaler Konfidenz-Schwellenwert |
| IoU | 0.0 – 0.95 | 0,7 | NMS IoU-Schwellenwert |
| Bildgröße | 320, 640, 1280 (UI-Umschalter) | 640 | Eingabe-Größenänderungsdimension (API akzeptiert jeden Wert von 32 – 1280) |
Das Ändern eines Parameters führt automatisch zu einer erneuten Inference auf dem aktuellen Bild mit einem 500ms-Debounce. Ein erneutes Hochladen ist nicht erforderlich.
Link to this sectionKonfidenz-Schwellenwert#
Filtere Vorhersagen nach Konfidenz:
- Höher (0.5+): Weniger, aber sicherere Vorhersagen
- Niedriger (0.1-0.25): Mehr Vorhersagen, etwas Rauschen
- Standard (0.25): Ausgewogen für die meisten Anwendungsfälle
Link to this sectionIoU-Schwellenwert#
Steuere Non-Maximum Suppression:
- Höher (0.7+): Erlaubt mehr überlappende Boxen
- Niedriger (0.3-0.5): Führt nahe beieinander liegende Detektionen aggressiver zusammen
- Standard (0.7): Ausgewogenes NMS-Verhalten für die meisten Anwendungsfälle
Link to this sectionDeployment-Predict#
Jeder laufende dedizierte Endpunkt enthält einen Predict-Tab direkt auf seiner Deployment-Karte. Dies nutzt den eigenen Inference-Service des Deployments anstelle des geteilten Predict-Services, sodass du deinen bereitgestellten Endpunkt aus dem Browser heraus testen kannst.
Link to this sectionREST API#
Greife programmatisch auf die Inference zu:
Link to this sectionAuthentifizierung#
Füge deinen API-Schlüssel in Anfragen ein:
Authorization: Bearer YOUR_API_KEYUm Inference aus deinen eigenen Skripten, Notebooks oder Apps auszuführen, füge einen API-Schlüssel hinzu. Generiere einen unter Settings > API Keys.
Link to this sectionEndpunkt#
POST https://platform.ultralytics.com/api/models/{modelId}/predictLink to this sectionAnfrage#
import requests
url = "https://platform.ultralytics.com/api/models/MODEL_ID/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("image.jpg", "rb")}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}
response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
Link to this sectionAnfrage-Parameter#
| Parameter | Typ | Standard | Bereich | Beschreibung |
|---|---|---|---|---|
file | Datei | - | - | Bild- oder Videodatei (erforderlich, sofern source nicht gesetzt) |
conf | float | 0.25 | 0.01 – 1.0 | Minimaler Konfidenz-Schwellenwert |
iou | float | 0,7 | 0.0 – 0.95 | NMS IoU-Schwellenwert |
imgsz | int | 640 | 32 – 1280 | Eingabebildgröße in Pixeln |
normalize | bool | false | - | BBox-Koordinaten als 0 – 1 zurückgeben |
decimals | int | 5 | 0 – 10 | Dezimalpräzision für Koordinatenwerte |
source | string | - | - | Bild-URL oder base64-String (Alternative zu file) |
Link to this sectionAntwort#
{
"images": [
{
"shape": [1080, 1920],
"results": [
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": { "x1": 100, "y1": 50, "x2": 300, "y2": 400 }
},
{
"class": 2,
"name": "car",
"confidence": 0.87,
"box": { "x1": 400, "y1": 200, "x2": 600, "y2": 350 }
}
],
"speed": {
"preprocess": 1.2,
"inference": 12.5,
"postprocess": 2.3
}
}
],
"metadata": {
"imageCount": 1,
"functionTimeCall": 0.018,
"model": "model.pt",
"version": {
"ultralytics": "8.x.x",
"torch": "2.6.0",
"torchvision": "0.21.0",
"python": "3.13.0"
}
}
}
Link to this sectionAntwortfelder#
| Feld | Typ | Beschreibung |
|---|---|---|
images | array | Liste der verarbeiteten Bilder |
images[].shape | array | Bildabmessungen [Höhe, Breite] |
images[].results | array | Liste der Erkennungen |
images[].results[].class | int | Klassen-Index (Ganzzahl-ID) |
images[].results[].name | string | Klassenname |
images[].results[].confidence | float | Erkennungskonfidenz (0-1) |
images[].results[].box | Objekt | Koordinaten der Bounding Box |
images[].speed | Objekt | Verarbeitungszeiten in Millisekunden |
metadata | Objekt | Anfrage-Metadaten und Versionsinformationen |
Link to this sectionAufgabenspezifische Antworten#
Das Antwortformat variiert je nach Aufgabe:
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}Link to this sectionAbrechnung#
Geteilte Inferenz (der Predict-Tab und der /api/models/{id}/predict Endpunkt) ist bei allen Tarifen ohne zusätzliche Kosten enthalten. Es gibt keine Kosten pro Anfrage für geteilte Inferenz.
Für Produktions-Workloads, die einen höheren Durchsatz erfordern, stelle einen dedizierten Endpunkt bereit.
Link to this sectionRatenbegrenzungen#
Geteilte Inferenz ist auf 20 Anfragen/Min pro API-Key begrenzt. Bei einer Drosselung gibt die API 429 mit einem Retry-After Header zurück. Siehe die vollständige Rate-Limit-Referenz für alle Endpunkt-Kategorien.
Stelle einen dedizierten Endpunkt bereit für unbegrenzte Inferenz ohne Ratenbegrenzungen, vorhersehbaren Durchsatz und konsistente Antworten mit geringer Latenz. Für lokale Inferenz siehe den Predict Modus-Leitfaden.
Link to this sectionFehlerbehandlung#
Häufige Fehlerantworten:
| Code | Nachricht | Lösung |
|---|---|---|
| 400 | Ungültiges Bild | Dateiformat prüfen |
| 401 | Nicht autorisiert | API-Key verifizieren |
| 404 | Modell nicht gefunden | Modell-ID prüfen |
| 429 | Ratenbegrenzung erreicht | Warte kurz und versuche es erneut oder verwende einen dedizierten Endpunkt für unbegrenzten Durchsatz |
| 500 | Serverfehler | Anfrage wiederholen |
| 503 | Dienst nicht verfügbar | Der Predict-Dienst startet gerade oder ist nicht erreichbar; warte kurz und versuche es erneut |
Link to this sectionFAQ#
Link to this sectionKann ich Inferenz auf Videos ausführen?#
Beide Inferenzmethoden akzeptieren Videodateien:
- Dedizierte Endpunkte akzeptieren Videodateien direkt. Unterstützte Formate (bis 100 MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. Jeder Frame wird einzeln verarbeitet und die Ergebnisse werden pro Frame zurückgegeben. Siehe dedizierte Endpunkte für Details.
- Geteilte Inferenz (
/api/models/{id}/predict) verwendet denselben Predict-Dienst und akzeptiert dieselben Videoformate. Der Predict-Tab im Browser der UI lädt jedoch nur Bilder hoch – nutze die REST API direkt oder einen dedizierten Endpunkt für Video-Workflows. Der geteilte Endpunkt ist zudem auf 20 Anfragen/Min begrenzt, daher sind dedizierte Endpunkte die bessere Wahl für intensive Video-Workloads.
Link to this sectionWie erhalte ich das annotierte Bild?#
Die API gibt JSON-Vorhersagen zurück. Zur Visualisierung:
- Verwende die Vorhersagen, um Boxen lokal zu zeichnen
- Verwende die Ultralytics
plot()Methode:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")Siehe die Predict Modus-Dokumentation für die vollständige Ergebnis-API und Visualisierungsoptionen.
Link to this sectionWas ist die maximale Bildgröße?#
- Upload-Limit: 10 MB
- Empfohlen: < 5 MB für schnelle Inferenz
- Automatische Skalierung: Bilder werden auf den ausgewählten
Image SizeParameter skaliert
Große Bilder werden automatisch unter Beibehaltung des Seitenverhältnisses skaliert.
Link to this sectionKann ich Batch-Inferenz ausführen?#
Die aktuelle API verarbeitet ein Bild pro Anfrage. Für Batches:
- Sende gleichzeitige Anfragen
- Verwende einen dedizierten Endpunkt für höheren Durchsatz
- Ziehe lokale Inferenz für große Batches in Betracht
import concurrent.futures
import requests
url = "https://predict-abc123.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
images = ["img1.jpg", "img2.jpg", "img3.jpg"]
def predict(image_path):
with open(image_path, "rb") as f:
return requests.post(url, headers=headers, files={"file": f}).json()
with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:
results = list(executor.map(predict, images))