Zum Inhalt springen

REST API-Referenz

Ultralytics Platform bietet eine umfassende REST API für den programmatischen Zugriff auf Datensätze, Modelle, Trainings und Bereitstellungen.

Übersicht über die Ultralytics -API

Schnellstart

# List your datasets
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://platform.ultralytics.com/api/datasets

Interaktive API-Dokumentation

Entdecken Sie die vollständige interaktive API-Referenz in der API-DokumentationUltralytics .

API-Übersicht

Die API ist um die Kernressourcen der Plattform herum organisiert:

graph LR
    A[API Key] --> B[Datasets]
    A --> C[Projects]
    A --> D[Models]
    A --> E[Deployments]
    B -->|train on| D
    C -->|contains| D
    D -->|deploy to| E
    D -->|export| F[Exports]
    B -->|auto-annotate| B
RessourceBeschreibungWichtige Vorgänge
DatensätzeBeschriftete BildersammlungenCRUD, Bilder, Labels, Export, Versionen, Klonen
ProjekteSchulungsarbeitsplätzeCRUD, Klonen, Symbol
ModelleGeschulte KontrollpunkteCRUD, Vorhersagen, Herunterladen, Klonen, Export
BereitstellungenDedizierte Inferenz-EndpunkteCRUD, Start/Stopp, Metriken, Protokolle, Zustand
ExporteFormatkonvertierungsaufträgeErstellen, Status, Herunterladen
TrainingCloud-GPU-TrainingsaufträgeStart, Status, Abbrechen
AbrechnungGuthaben und AbonnementsGuthaben, Aufladen, Zahlungsmethoden
TeamsZusammenarbeit im ArbeitsbereichMitglieder, Einladungen, Rollen

Authentifizierung

Die meisten API-Anfragen erfordern eine Authentifizierung über einen API-Schlüssel. Öffentliche Endpunkte (Auflistung öffentlicher Datensätze, Projekte und Modelle) unterstützen den anonymen Lesezugriff ohne Schlüssel.

API-Schlüssel abrufen

  1. Gehen Sie zu Settings > Profile (Abschnitt API-Schlüssel)
  2. Klicken Sie Create Key
  3. Kopieren Sie den generierten Schlüssel

Detaillierte Anweisungen finden Sie unter API-Schlüssel.

Autorisierungs-Header

Fügen Sie Ihren API-Schlüssel in alle Anfragen ein:

Authorization: Bearer YOUR_API_KEY

API-Schlüsselformat

API-Schlüssel verwenden das Format ul_ gefolgt von 40 Hexadezimalzeichen. Behalte deinen Schlüssel geheim – gib ihn niemals in die Versionskontrolle ein und teile ihn nicht öffentlich mit anderen.

Beispiel

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://platform.ultralytics.com/api/datasets
import requests

headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get(
    "https://platform.ultralytics.com/api/datasets",
    headers=headers,
)
data = response.json()
const response = await fetch("https://platform.ultralytics.com/api/datasets", {
  headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const data = await response.json();

Basis-URL

Alle API-Endpunkte verwenden:

https://platform.ultralytics.com/api

Ratenbegrenzungen

Die API verwendet ein zweistufiges System zur Begrenzung der Rate, um vor Missbrauch zu schützen und gleichzeitig die legitime Nutzung uneingeschränkt zu ermöglichen:

  • Pro API-Schlüssel — Limits werden pro API-Schlüssel für authentifizierte Anfragen durchgesetzt
  • Pro IP — 100 Anfragen/Minute pro IP-Adresse auf allen /api/* Pfade (gilt sowohl für authentifizierte als auch für nicht authentifizierte Anfragen)

Bei Drosselung gibt die API Folgendes zurück 429 mit Wiederholungsmetadaten:

Retry-After: 12
X-RateLimit-Reset: 2026-02-21T12:34:56.000Z

Pro API-Schlüssel-Limits

Ratenbeschränkungen werden automatisch basierend auf dem aufgerufenen Endpunkt angewendet. Aufwändige Vorgänge unterliegen strengeren Beschränkungen, um Missbrauch zu verhindern, während für Standard-CRUD-Vorgänge großzügige Standardwerte gelten:

EndpunktLimitGilt für
Standard100 Anfragen/Min.Alle unten nicht aufgeführten Endpunkte (list, get, create, update, delete)
Training10 Anfragen/Min.Start von Cloud-Schulungsjobs (POST /api/training/start)
Hochladen10 Anfragen/Min.Datei-Uploads, signierte URLs und Datensatz-Erfassung
Vorhersagen20 Anfragen/Min.Gemeinsame Modellinferenz (POST /api/models/{id}/predict)
Export20 Anfragen/Min.Export von Modellformaten (POST /api/exports), NDJSON-Exporte von Datensätzen und Versionserstellung
Herunterladen30 Anfragen/Min.Modellgewicht-Datei-Downloads (GET /api/models/{id}/download)
DediziertUnbegrenztDedizierte Endpunkte — Ihr eigener Dienst, keine API-Limits

Jede Kategorie hat einen unabhängigen Zähler pro API-Schlüssel. Zum Beispiel wirken sich 20 predict-Anfragen nicht auf Ihr Standardkontingent von 100 Anfragen/Min aus.

Dedizierte Endpunkte (Unbegrenzt)

Dedizierte Endpunkte sind nicht den API-Schlüssel-Ratenbeschränkungen unterworfen. Wenn Sie ein Modell auf einem dedizierten Endpunkt bereitstellen, werden Anfragen an diese Endpunkt-URL (z. B., https://predict-abc123.run.app/predict) gehen direkt an Ihren dedizierten Dienst ohne Ratenbegrenzung von der Plattform. Sie zahlen für die Rechenleistung, daher erhalten Sie unbegrenzten Durchsatz bis zur Skalierungskonfiguration Ihres Endpunkts.

Handhabung von Ratenbeschränkungen

Wenn Sie eine 429 Statuscode, warten auf Retry-After (oder bis X-RateLimit-Reset) bevor Sie es erneut versuchen. Siehe die Häufig gestellte Fragen zum Rate Limit für eine exponentielle Backoff-Implementierung.

Antwortformat

Erfolgsreaktionen

Die Antworten geben JSON mit ressourcenspezifischen Feldern zurück:

{
    "datasets": [...],
    "total": 100
}

Fehlerantworten

{
    "error": "Dataset not found"
}
HTTP-StatusBedeutung
200Erfolg
201Erstellt
400Ungültige Anfrage
401Authentifizierung erforderlich
403Unzureichende Berechtigungen
404Ressource nicht gefunden
409Konflikt (Duplikat)
429Ratenlimit überschritten
500Serverfehler

Datensätze API

Beschriftete Bilddatensätze für das Training von YOLO-Modellen erstellen, durchsuchen und verwalten. Siehe Datensatz-Dokumentation.

Datensätze auflisten

GET /api/datasets

Abfrageparameter:

ParameterTypBeschreibung
usernamestringNach Benutzername filtern
slugstringEinzelnen Datensatz anhand des Slugs abrufen
limitintElemente pro Seite (Standard: 20, maximal: 500)
ownerstringBenutzername des Arbeitsbereichsinhabers
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://platform.ultralytics.com/api/datasets?limit=10"
import requests

resp = requests.get(
    "https://platform.ultralytics.com/api/datasets",
    headers={"Authorization": f"Bearer {API_KEY}"},
    params={"limit": 10},
)
for ds in resp.json()["datasets"]:
    print(f"{ds['name']}: {ds['imageCount']} images")

Antwort:

{
    "datasets": [
        {
            "_id": "dataset_abc123",
            "name": "my-dataset",
            "slug": "my-dataset",
            "task": "detect",
            "imageCount": 1000,
            "classCount": 10,
            "classNames": ["person", "car"],
            "visibility": "private",
            "username": "johndoe",
            "starCount": 3,
            "isStarred": false,
            "sampleImages": [
                {
                    "url": "https://storage.example.com/...",
                    "width": 1920,
                    "height": 1080,
                    "labels": [{ "classId": 0, "bbox": [0.5, 0.4, 0.3, 0.6] }]
                }
            ],
            "createdAt": "2024-01-15T10:00:00Z",
            "updatedAt": "2024-01-16T08:30:00Z"
        }
    ],
    "total": 1,
    "region": "us"
}

Datensatz abrufen

GET /api/datasets/{datasetId}

Gibt alle Details zum Datensatz zurück, einschließlich Metadaten, Klassennamen und Aufteilungszahlen.

Datensatz erstellen

POST /api/datasets

Body:

{
    "slug": "my-dataset",
    "name": "My Dataset",
    "task": "detect",
    "description": "A custom detection dataset",
    "visibility": "private",
    "classNames": ["person", "car"]
}

Unterstützte Aufgaben

Gültig task Werte: detect, segment, classify, pose, obb.

Datensatz aktualisieren

PATCH /api/datasets/{datasetId}

Body (teilweise Aktualisierung):

{
    "name": "Updated Name",
    "description": "New description",
    "visibility": "public"
}

Datensatz löschen

DELETE /api/datasets/{datasetId}

Löscht den Datensatz vorläufig (wird in den Papierkorb verschoben und kann 30 Tage lang wiederhergestellt werden).

Datensatz klonen

POST /api/datasets/{datasetId}/clone

Erstellt eine Kopie des Datensatzes mit allen Bildern und Beschriftungen. Nur öffentliche Datensätze können geklont werden.

Body (alle Felder optional):

{
    "name": "cloned-dataset",
    "description": "My cloned dataset",
    "visibility": "private",
    "owner": "team-username"
}

Datensatz exportieren

GET /api/datasets/{datasetId}/export

Gibt eine JSON-Antwort mit einer signierten Download-URL für den neuesten Datenexport zurück.

Abfrageparameter:

ParameterTypBeschreibung
vganze ZahlVersionsnummer (1-indiziert). Wenn nicht angegeben, wird der neueste (nicht zwischengespeicherte) Export zurückgegeben.

Antwort:

{
    "downloadUrl": "https://storage.example.com/export.ndjson?signed=...",
    "cached": true
}

Datensatzversion erstellen

POST /api/datasets/{datasetId}/export

Erstellen Sie einen neuen nummerierten Versions-Snapshot des Datensatzes. Nur für den Eigentümer. Die Version erfasst die aktuelle Bildanzahl, Klassenanzahl, Annotationsanzahl und Split-Verteilung und generiert und speichert dann einen unveränderlichen NDJSON-Export.

Anfrage-Textkörper:

{
    "description": "Added 500 training images"
}

Alle Felder sind optional. Die description Das Feld ist eine vom Benutzer angegebene Bezeichnung für die Version.

Antwort:

{
    "version": 3,
    "downloadUrl": "https://storage.example.com/v3.ndjson?signed=..."
}

Update-Version Beschreibung

PATCH /api/datasets/{datasetId}/export

Die Beschreibung einer bestehenden Version aktualisieren. Nur für Eigentümer.

Anfrage-Textkörper:

{
    "version": 2,
    "description": "Fixed mislabeled classes"
}

Antwort:

{
    "ok": true
}

Klassenstatistik abrufen

GET /api/datasets/{datasetId}/class-stats

Gibt die Klassenverteilung, die Standort-Heatmap und die Dimensionsstatistiken zurück. Die Ergebnisse werden bis zu 5 Minuten lang zwischengespeichert.

Antwort:

{
    "classes": [{ "classId": 0, "count": 1500, "imageCount": 450 }],
    "imageStats": {
        "widthHistogram": [{ "bin": 640, "count": 120 }],
        "heightHistogram": [{ "bin": 480, "count": 95 }],
        "pointsHistogram": [{ "bin": 4, "count": 200 }]
    },
    "locationHeatmap": {
        "bins": [
            [5, 10],
            [8, 3]
        ],
        "maxCount": 50
    },
    "dimensionHeatmap": {
        "bins": [
            [2, 5],
            [3, 1]
        ],
        "maxCount": 12,
        "minWidth": 10,
        "maxWidth": 1920,
        "minHeight": 10,
        "maxHeight": 1080
    },
    "classNames": ["person", "car", "dog"],
    "cached": true,
    "sampled": false,
    "sampleSize": 1000
}

Modelle anhand von Datensätzen trainieren

GET /api/datasets/{datasetId}/models

Gibt Modelle zurück, die mit diesem Datensatz trainiert wurden.

Antwort:

{
    "models": [
        {
            "_id": "model_abc123",
            "name": "experiment-1",
            "slug": "experiment-1",
            "status": "completed",
            "task": "detect",
            "epochs": 100,
            "bestEpoch": 87,
            "projectId": "project_xyz",
            "projectSlug": "my-project",
            "projectIconColor": "#3b82f6",
            "projectIconLetter": "M",
            "username": "johndoe",
            "startedAt": "2024-01-14T22:00:00Z",
            "completedAt": "2024-01-15T10:00:00Z",
            "createdAt": "2024-01-14T21:55:00Z",
            "metrics": {
                "mAP50": 0.85,
                "mAP50-95": 0.72,
                "precision": 0.88,
                "recall": 0.81
            }
        }
    ],
    "count": 1
}

Automatische Datensatz-Annotation

POST /api/datasets/{datasetId}/predict

Führen Sie YOLO für Bilder im Datensatz durch, um Annotationen automatisch zu generieren. Verwendet ein ausgewähltes Modell, um Labels für nicht annotierte Bilder vorherzusagen.

Body:

FeldTypErforderlichBeschreibung
imageHashstringJaHashwert des zu kommentierenden Bildes
modelIdstringNeinFür die Inferenz zu verwendende Modell-ID
confidencefloatNeinKonfidenzschwelle (Standard: 0.25)
ioufloatNeinIoU (Standard: 0,45)

Datensatzaufnahme

POST /api/datasets/ingest

Erstellen Sie einen Job zur Datensatzaufnahme, um hochgeladene ZIP- oder TAR-Dateien zu verarbeiten, einschließlich .tar.gz und .tgz, die Bilder und Labels enthalten.

graph LR
    A[Upload Archive] --> B[POST /api/datasets/ingest]
    B --> C[Process Archive]
    C --> D[Extract images]
    C --> E[Parse labels]
    C --> F[Generate thumbnails]
    D & E & F --> G[Dataset ready]

Datensatzbilder

Bilderliste

GET /api/datasets/{datasetId}/images

Abfrageparameter:

ParameterTypBeschreibung
splitstringNach Aufteilung filtern: train, val, test
offsetintSeitenumbruch-Offset (Standard: 0)
limitintElemente pro Seite (Standard: 50, maximal: 5000)
sortstringSortierreihenfolge: newest, oldest, name-asc, name-desc, size-asc, size-desc, labels-asc, labels-desc
hasLabelstringNach Label-Status filtern (true oder false)
hasErrorstringNach Fehlerstatus filtern (true oder false)
searchstringSuche nach Dateiname oder Bild-Hash
includeThumbnailsstringSignierte Miniaturbild-URLs einfügen (Standard: true)
includeImageUrlsstringVollständige Bild-URLs mit Signatur einfügen (Standard: false)

Signierte Bild-URLs abrufen

POST /api/datasets/{datasetId}/images/urls

Erhalten Sie signierte URLs für eine Reihe von Bild-Hashes (zur Anzeige im Browser).

Bild löschen

DELETE /api/datasets/{datasetId}/images/{hash}

Bildbeschriftungen abrufen

GET /api/datasets/{datasetId}/images/{hash}/labels

Gibt Anmerkungen und Klassennamen für ein bestimmtes Bild zurück.

Bildbeschriftungen aktualisieren

PUT /api/datasets/{datasetId}/images/{hash}/labels

Body:

{
    "labels": [{ "classId": 0, "bbox": [0.5, 0.5, 0.2, 0.3] }]
}

Koordinatenformat

Begrenzungsrahmen verwenden das YOLO-normalisierte Format: [x_center, y_center, width, height] wobei alle Werte zwischen 0 und 1 liegen.

Massenbildoperationen

Verschieben Sie Bilder zwischen Teilungen (Train/Val/Test) innerhalb eines Datensatzes:

PATCH /api/datasets/{datasetId}/images/bulk

Bilder in großen Mengen löschen:

DELETE /api/datasets/{datasetId}/images/bulk

Projekte API

Ordnen Sie Ihre Modelle in Projekten. Jedes Modell gehört zu einem Projekt. Siehe Dokumentation zu Projekten.

Projekte auflisten

GET /api/projects

Abfrageparameter:

ParameterTypBeschreibung
usernamestringNach Benutzername filtern
limitintElemente pro Seite
ownerstringBenutzername des Arbeitsbereichsinhabers

Projekt abrufen

GET /api/projects/{projectId}

Projekt erstellen

POST /api/projects
curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "my-project", "slug": "my-project", "description": "Detection experiments"}' \
  https://platform.ultralytics.com/api/projects
resp = requests.post(
    "https://platform.ultralytics.com/api/projects",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={"name": "my-project", "slug": "my-project", "description": "Detection experiments"},
)
project_id = resp.json()["projectId"]

Projekt aktualisieren

PATCH /api/projects/{projectId}

Projekt löschen

DELETE /api/projects/{projectId}

Das Projekt wird vorläufig gelöscht (in den Papierkorb verschoben).

Projekt klonen

POST /api/projects/{projectId}/clone

Projekt-Symbol

Projekt-Symbol hochladen (mehrteiliges Formular mit Bilddatei):

POST /api/projects/{projectId}/icon

Entfernen Sie das Projektsymbol:

DELETE /api/projects/{projectId}/icon

Modelle API

Verwalten Sie trainierte YOLO – Metriken anzeigen, Gewichte herunterladen, Inferenz ausführen und in andere Formate exportieren. Siehe Dokumentation zu Modellen.

Modelle auflisten

GET /api/models

Abfrageparameter:

ParameterTypErforderlichBeschreibung
projectIdstringJaProjekt-ID (erforderlich)
fieldsstringNeinFeldsatz: summary, charts
idsstringNeinKommagetrennte Modell-IDs
limitintNeinMaximale Ergebnisse (Standard 20, maximal 100)

Liste der abgeschlossenen Modelle

GET /api/models/completed

Gibt Modelle zurück, deren Training abgeschlossen ist (zur Verwendung in Modellselektoren und bei der Bereitstellung).

Modell abrufen

GET /api/models/{modelId}

Modell erstellen

POST /api/models

JSON-Hauptteil:

FeldTypErforderlichBeschreibung
projectIdstringJaZielprojekt-ID
slugstringNeinURL-Slug (kleine Buchstaben, Zahlen, Bindestriche)
namestringNeinAnzeigename (max. 100 Zeichen)
descriptionstringNeinModellbeschreibung (max. 1000 Zeichen)
taskstringNeinAufgabentyp (detect, segment, Pose, obb, classify)

Modelldatei hochladen

Modell .pt Datei-Uploads werden separat behandelt. Verwenden Sie die Plattform-Benutzeroberfläche, um Modelldateien per Drag & Drop in ein Projekt zu ziehen.

Modell aktualisieren

PATCH /api/models/{modelId}

Modell löschen

DELETE /api/models/{modelId}

Modell-Dateien herunterladen

GET /api/models/{modelId}/files

Gibt signierte Download-URLs für Modelldateien zurück.

Modell klonen

POST /api/models/{modelId}/clone

Klonen Sie ein öffentliches Modell in eines Ihrer Projekte.

Body:

{
    "targetProjectSlug": "my-project",
    "modelName": "cloned-model",
    "description": "Cloned from public model",
    "owner": "team-username"
}
FeldTypErforderlichBeschreibung
targetProjectSlugstringJaZielprojekt-Slug
modelNamestringNeinName für das geklonte Modell
descriptionstringNeinModellbeschreibung
ownerstringNeinTeam-Benutzername (für das Klonen von Arbeitsbereichen)

Track herunterladen

POST /api/models/{modelId}/track-download

Analyse der Downloads von Track-Modellen.

Inferenz ausführen

POST /api/models/{modelId}/predict

Multipart-Formular:

FeldTypBeschreibung
fileDatei definiertBilddatei (JPEG, PNG, WebP)
conffloatKonfidenzschwelle (Standard: 0.25)
ioufloatIoU (Standard: 0,7)
imgszintBildgröße in Pixeln (Standard: 640)
curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@image.jpg" \
  -F "conf=0.5" \
  https://platform.ultralytics.com/api/models/MODEL_ID/predict
with open("image.jpg", "rb") as f:
    resp = requests.post(
        f"https://platform.ultralytics.com/api/models/{model_id}/predict",
        headers={"Authorization": f"Bearer {API_KEY}"},
        files={"file": f},
        data={"conf": 0.5},
    )
results = resp.json()["images"][0]["results"]

Antwort:

{
    "images": [
        {
            "shape": [1080, 1920],
            "results": [
                {
                    "class": 0,
                    "name": "person",
                    "confidence": 0.92,
                    "box": { "x1": 100, "y1": 50, "x2": 300, "y2": 400 }
                }
            ]
        }
    ],
    "metadata": {
        "imageCount": 1
    }
}

Predict-Token erhalten

POST /api/models/{modelId}/predict/token

Erhalten Sie ein kurzlebiges Token für direkte Vorhersageanfragen. Das Token umgeht den API-Proxy für eine Inferenz mit geringerer Latenz aus clientseitigen Anwendungen.

Aufwärmmodell

POST /api/models/{modelId}/predict/warmup

Laden Sie ein Modell vorab, um die erste Inferenz zu beschleunigen. Rufen Sie dies vor der Ausführung von Vorhersagen auf, um Verzögerungen bei der ersten Anfrage zu vermeiden.


Training API

Starten Sie YOLO auf Cloud-GPUs (RTX 4090, A100, H100) und verfolgen Sie den Fortschritt in Echtzeit. Weitere Informationen finden Sie in der Dokumentation zum Cloud-Training.

graph LR
    A[POST /training/start] --> B[Job Created]
    B --> C{Training}
    C -->|progress| D[GET /models/id/training]
    C -->|cancel| E[DELETE /models/id/training]
    C -->|complete| F[Model Ready]
    F --> G[Deploy or Export]

Training starten

POST /api/training/start
curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "modelId": "MODEL_ID",
    "projectId": "PROJECT_ID",
    "gpuType": "rtx-4090",
    "trainArgs": {
      "model": "yolo26n.pt",
      "data": "ul://username/datasets/my-dataset",
      "epochs": 100,
      "imgsz": 640,
      "batch": 16
    }
  }' \
  https://platform.ultralytics.com/api/training/start
resp = requests.post(
    "https://platform.ultralytics.com/api/training/start",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "modelId": "MODEL_ID",
        "projectId": "PROJECT_ID",
        "gpuType": "rtx-4090",
        "trainArgs": {
            "model": "yolo26n.pt",
            "data": "ul://username/datasets/my-dataset",
            "epochs": 100,
            "imgsz": 640,
            "batch": 16,
        },
    },
)

GPU

Verfügbare GPU-Typen umfassen rtx-4090, a100-80gb-pcie, a100-80gb-sxm, h100-sxm, rtx-pro-6000, und andere. Siehe Cloud-Training für die vollständige Liste mit Preisen.

Trainingsstatus abrufen

GET /api/models/{modelId}/training

Gibt den aktuellen Status, die Metriken und den Fortschritt des Trainingsauftrags für ein Modell zurück.

Training abbrechen

DELETE /api/models/{modelId}/training

Beendet die ausgeführte Recheninstanz und markiert den Auftrag als abgebrochen.


Bereitstellungen API

Modelle auf dedizierte Inferenz-Endpunkte mit Auto-Skalierung, Health Checks und Monitoring bereitstellen. Siehe Endpunkt-Dokumentation.

graph LR
    A[Create] --> B[Deploying]
    B --> C[Ready]
    C -->|stop| D[Stopped]
    D -->|start| C
    C -->|delete| E[Deleted]
    D -->|delete| E
    C -->|predict| F[Inference Results]

Bereitstellungen auflisten

GET /api/deployments

Abfrageparameter:

ParameterTypBeschreibung
modelIdstringNach Modell filtern
statusstringNach Status filtern
limitintMaximale Ergebnisse (Standard: 20, maximal: 100)
ownerstringBenutzername des Arbeitsbereichsinhabers

Bereitstellung erstellen

POST /api/deployments

Body:

{
    "modelId": "model_abc123",
    "name": "my-deployment",
    "region": "us-central1",
    "resources": {
        "cpu": 1,
        "memoryGi": 2,
        "minInstances": 0,
        "maxInstances": 1
    }
}
FeldTypErforderlichBeschreibung
modelIdstringJaModell-ID zum Bereitstellen
namestringJaBereitstellungsname
regionstringJaBereitstellungsregion
resourcesObjektNeinRessourcenkonfiguration (cpu, Speicher, minInstances, maxInstances)

Erstellt einen dedizierten Inferenz-Endpunkt in der angegebenen Region. Der Endpunkt ist über eine eindeutige URL global zugänglich.

Regionsauswahl

Wählen Sie eine Region in der Nähe Ihrer Benutzer für die geringste Latenz. Die Plattform-Benutzeroberfläche zeigt Latenzschätzungen für alle 43 verfügbaren Regionen an.

Bereitstellung abrufen

GET /api/deployments/{deploymentId}

Bereitstellung löschen

DELETE /api/deployments/{deploymentId}

Bereitstellung starten

POST /api/deployments/{deploymentId}/start

Eine angehaltene Bereitstellung fortsetzen.

Bereitstellung stoppen

POST /api/deployments/{deploymentId}/stop

Eine laufende Bereitstellung pausieren (stoppt die Abrechnung).

Zustandsprüfung

GET /api/deployments/{deploymentId}/health

Gibt den Gesundheitszustand des Bereitstellungsendpunkts zurück.

Inferenz bei Bereitstellung ausführen

POST /api/deployments/{deploymentId}/predict

Senden Sie ein Bild direkt an einen Bereitstellungsendpunkt zur Inferenz. Funktional gleichwertig mit der Modellvorhersage, jedoch über den dedizierten Endpunkt geleitet, um die Latenz zu verringern.

Multipart-Formular:

FeldTypBeschreibung
fileDatei definiertBilddatei (JPEG, PNG, WebP)
conffloatKonfidenzschwelle (Standard: 0.25)
ioufloatIoU (Standard: 0,7)
imgszintBildgröße in Pixeln (Standard: 640)

Metriken abrufen

GET /api/deployments/{deploymentId}/metrics

Gibt Metriken zu Anfragen, Latenz und Fehlerquote mit Sparkline-Daten zurück.

Abfrageparameter:

ParameterTypBeschreibung
rangestringZeitbereich: 1h, 6h, 24h (Standard), 7d, 30d
sparklinestringEinstellen auf true für optimierte Sparkline-Daten für die Dashboard-Ansicht

Protokolle abrufen

GET /api/deployments/{deploymentId}/logs

Abfrageparameter:

ParameterTypBeschreibung
severitystringKommagetrennter Filter: DEBUG, INFO, WARNING, ERROR, CRITICAL
limitintAnzahl der Einträge (Standard: 50, maximal: 200)
pageTokenstringPaginierungstoken aus vorheriger Antwort

Überwachungs-API

Aggregierte Metriken

GET /api/monitoring

Gibt aggregierte Metriken für alle Benutzerbereitstellungen zurück: Gesamtanzahl der Anfragen, aktive Bereitstellungen, Fehlerquote und durchschnittliche Latenz.


Export API

Modelle in optimierte Formate wie ONNX, TensorRT, CoreML und TFLite für die Edge-Bereitstellung konvertieren. Siehe Bereitstellungsdokumentation.

Exporte auflisten

GET /api/exports

Abfrageparameter:

ParameterTypBeschreibung
modelIdstringModell-ID (erforderlich)
statusstringNach Status filtern
limitintMaximale Ergebnisse (Standard: 20, maximal: 100)

Export erstellen

POST /api/exports

Body:

FeldTypErforderlichBeschreibung
modelIdstringJaQuellmodell-ID
formatstringJaExportformat (siehe Tabelle unten)
gpuTypestringBedingtErforderlich, wenn format ist engine (TensorRT)
argsObjektNeinExportargumente (imgsz, half, dynamic, etc.)
curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"modelId": "MODEL_ID", "format": "onnx"}' \
  https://platform.ultralytics.com/api/exports
resp = requests.post(
    "https://platform.ultralytics.com/api/exports",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={"modelId": "MODEL_ID", "format": "onnx"},
)
export_id = resp.json()["exportId"]

Unterstützte Formate:

FormatWertAnwendungsfall
ONNXonnxPlattformübergreifende Inferenz
TorchScripttorchscriptPyTorch-Bereitstellung
OpenVINOopenvinoIntel-Hardware
TensorRTengineNVIDIA GPU
CoreMLcoremlApple-Geräte
TFLitetfliteMobil und eingebettet
TF SavedModelsaved_modelTensorFlow
TF GraphDefpbTensorFlow -Graph
PaddlePaddlepaddleBaidu PaddlePaddle
NCNNncnnMobiles neuronales Netzwerk
Edge TPUedgetpuGoogle Coral-Geräte
TF.jstfjsBrowser-Inferenz
MNNmnnAlibaba mobile Inferenz
RKNNrknnRockchip NPU
IMXimxSony IMX500 Sensor
AxeleraaxeleraAxelera AI-Beschleuniger
ExecuTorchexecutorchMeta ExecuTorch-Laufzeitumgebung

Exportstatus abrufen

GET /api/exports/{exportId}

Export abbrechen

DELETE /api/exports/{exportId}

Track-Export herunterladen

POST /api/exports/{exportId}/track-download

Aktivitäts-API

Zeige einen Feed mit den jüngsten Aktivitäten in deinem Konto an – Trainingsläufe, Uploads und mehr. Siehe Dokumentation zu „Aktivitäten“.

Aktivitäten auflisten

GET /api/activity

Abfrageparameter:

ParameterTypBeschreibung
limitintSeitengröße (Standard: 20, maximal: 100)
pageintSeitennummer (Standard: 1)
archivedBooleantrue für die Registerkarte „Archiv“, false für den Posteingang
searchstringGroß- und Kleinschreibung ignorierende Suche in Ereignisfeldern

Ereignisse als gesehen markieren

POST /api/activity/mark-seen

Body:

{
    "all": true
}

Oder bestimmte IDs übergeben:

{
    "eventIds": ["EVENT_ID_1", "EVENT_ID_2"]
}

Ereignisse archivieren

POST /api/activity/archive

Body:

{
    "all": true,
    "archive": true
}

Oder bestimmte IDs übergeben:

{
    "eventIds": ["EVENT_ID_1", "EVENT_ID_2"],
    "archive": false
}

Papierkorb-API

Gelöschte Elemente anzeigen und wiederherstellen. Nach 30 Tagen werden die Elemente endgültig gelöscht. Siehe Dokumentation zum Papierkorb.

Papierkorb auflisten

GET /api/trash

Abfrageparameter:

ParameterTypBeschreibung
typestringFilter: all, project, dataset, model
pageintSeitennummer (Standard: 1)
limitintElemente pro Seite (Standard: 50, maximal: 200)
ownerstringBenutzername des Arbeitsbereichsinhabers

Element wiederherstellen

POST /api/trash

Body:

{
    "id": "item_abc123",
    "type": "dataset"
}

Element dauerhaft löschen

DELETE /api/trash

Body:

{
    "id": "item_abc123",
    "type": "dataset"
}

Unumkehrbar

Die endgültige Löschung kann nicht rückgängig gemacht werden. Die Ressource und alle zugehörigen Daten werden entfernt.

Papierkorb leeren

DELETE /api/trash/empty

Löscht alle Elemente im Papierkorb dauerhaft.


Abrechnungs-API

Überprüfen Sie Ihr Guthaben, kaufen Sie Guthaben, sehen Sie den Transaktionsverlauf ein und konfigurieren Sie die automatische Aufladung. Siehe Abrechnungsdokumentation.

Währungseinheiten

Rechnungsbeträge werden in Cent angegeben (creditsCents) wo 100 = $1.00.

Guthaben abrufen

GET /api/billing/balance

Abfrageparameter:

ParameterTypBeschreibung
ownerstringBenutzername des Arbeitsbereichsinhabers

Antwort:

{
    "creditsCents": 2500,
    "plan": "free",
    "cashBalance": 25,
    "creditBalance": 0,
    "reservedAmount": 0,
    "totalBalance": 25
}

Nutzungsübersicht abrufen

GET /api/billing/usage-summary

Gibt Details zu Plänen, Limits und Nutzungsmetriken zurück.

Transaktionen abrufen

GET /api/billing/transactions

Gibt die Transaktionshistorie zurück (die aktuellste zuerst).

Abfrageparameter:

ParameterTypBeschreibung
ownerstringBenutzername des Arbeitsbereichsinhabers

Checkout-Sitzung erstellen

POST /api/billing/checkout-session

Body:

{
    "amount": 25,
    "owner": "team-username"
}
FeldTypErforderlichBeschreibung
amountAnzahlJaBetrag in Dollar ($5-$1000)
ownerstringNeinTeam-Benutzername für Arbeitsbereich-Aufladungen (erfordert Administratorrolle)

Erstellt eine Checkout-Sitzung für den Kreditkauf.

Abonnement-Checkout erstellen

POST /api/billing/subscription-checkout

Erstellt eine Checkout-Sitzung für das Upgrade auf ein Pro-Abonnement.

Body:

{
    "planId": "pro",
    "billingCycle": "monthly",
    "owner": "team-username"
}
FeldTypErforderlichBeschreibung
planIdstringJaPlanen Sie, sich anzumelden (pro)
billingCyclestringNeinAbrechnungszyklus: monthly (Standard) oder yearly
ownerstringNeinTeam-Benutzername für Workspace-Upgrades (erfordert Administratorrolle)

Portal-Sitzung erstellen

POST /api/billing/portal-session

Gibt die URL zum Abrechnungsportal für die Abonnementverwaltung zurück.

Automatische Aufladung

Guthaben automatisch hinzufügen, wenn der Saldo unter einen Schwellenwert fällt.

Automatische Aufladung konfigurieren

GET /api/billing/auto-topup

Abfrageparameter:

ParameterTypBeschreibung
ownerstringBenutzername des Arbeitsbereichsinhabers

Konfiguration für automatische Aufladung aktualisieren

PATCH /api/billing/auto-topup

Body:

{
    "enabled": true,
    "thresholdCents": 500,
    "amountCents": 2500
}

Zahlungsmethoden

Zahlungsmethoden auflisten

GET /api/billing/payment-methods

Setup Intent erstellen

POST /api/billing/payment-methods/setup

Gibt einen geheimen Client-Schlüssel zum Hinzufügen einer neuen Zahlungsmethode zurück.

Standardzahlungsmethode festlegen

POST /api/billing/payment-methods/default

Body:

{
    "paymentMethodId": "pm_123"
}

Zahlungsdaten aktualisieren

PATCH /api/billing/payment-methods

Body:

{
    "name": "Jane Doe",
    "address": {
        "line1": "123 Main St",
        "city": "San Francisco",
        "state": "CA",
        "postal_code": "94105",
        "country": "US"
    }
}

Zahlungsmethode löschen

DELETE /api/billing/payment-methods/{id}

Speicher-API

Überprüfen Sie Ihre Speichernutzungsaufschlüsselung nach Kategorie (Datensätze, Modelle, Exporte) und sehen Sie Ihre größten Elemente.

Speicherinformationen abrufen

GET /api/storage

Antwort:

{
    "tier": "free",
    "usage": {
        "storage": {
            "current": 1073741824,
            "limit": 107374182400,
            "percent": 1.0
        }
    },
    "region": "us",
    "username": "johndoe",
    "updatedAt": "2024-01-15T10:00:00Z",
    "breakdown": {
        "byCategory": {
            "datasets": { "bytes": 536870912, "count": 2 },
            "models": { "bytes": 268435456, "count": 4 },
            "exports": { "bytes": 268435456, "count": 3 }
        },
        "topItems": [
            {
                "_id": "dataset_abc123",
                "name": "my-dataset",
                "slug": "my-dataset",
                "sizeBytes": 536870912,
                "type": "dataset"
            },
            {
                "_id": "model_def456",
                "name": "experiment-1",
                "slug": "experiment-1",
                "sizeBytes": 134217728,
                "type": "model",
                "parentName": "My Project",
                "parentSlug": "my-project"
            }
        ]
    }
}

Speicher neu berechnen

POST /api/storage

Löst eine Neuberechnung der Speichernutzung aus.


API hochladen

Laden Sie Dateien mithilfe signierter URLs direkt in den Cloud-Speicher hoch, um schnelle und zuverlässige Übertragungen zu gewährleisten. Der Vorgang erfolgt in zwei Schritten: Rufen Sie zunächst eine signierte URL ab und laden Sie dann die Datei hoch. Weitere Informationen finden Sie in der Dokumentation zu „Data“.

Signierte Upload-URL abrufen

POST /api/upload/signed-url

Fordern Sie eine signierte URL an, um eine Datei direkt in den Cloud-Speicher hochzuladen. Die signierte URL umgeht den API-Server für große Dateiübertragungen.

Body:

{
    "assetType": "images",
    "assetId": "abc123",
    "filename": "my-image.jpg",
    "contentType": "image/jpeg",
    "totalBytes": 5242880
}
FeldTypBeschreibung
assetTypestringAsset-Typ: models, datasets, images, videos
assetIdstringID des Zielvermögenswerts
filenamestringOriginal-Dateiname
contentTypestringMIME-Typ
totalBytesintDateigröße in Byte

Antwort:

{
    "sessionId": "session_abc123",
    "uploadUrl": "https://storage.example.com/...",
    "objectPath": "images/abc123/my-image.jpg",
    "downloadUrl": "https://cdn.example.com/...",
    "expiresAt": "2026-02-22T12:00:00Z"
}

Upload abschließen

POST /api/upload/complete

Benachrichtigen Sie die Plattform, dass der Datei-Upload abgeschlossen ist, damit sie mit der Verarbeitung beginnen kann.

Body:

{
    "datasetId": "abc123",
    "objectPath": "datasets/abc123/images/my-image.jpg",
    "filename": "my-image.jpg",
    "contentType": "image/jpeg",
    "size": 5242880
}

API-Schlüssel-API

Verwalten Sie Ihre API-Schlüssel für den programmgesteuerten Zugriff. Siehe Dokumentation zu API-Schlüsseln.

API-Schlüssel auflisten

GET /api/api-keys

API-Schlüssel erstellen

POST /api/api-keys

Body:

{
    "name": "training-server"
}

API-Schlüssel löschen

DELETE /api/api-keys

Abfrageparameter:

ParameterTypBeschreibung
keyIdstringAPI-Schlüssel-ID zum Widerruf

Beispiel:

curl -X DELETE \
  -H "Authorization: Bearer YOUR_API_KEY" \
  "https://platform.ultralytics.com/api/api-keys?keyId=KEY_ID"

Teams & Mitglieder API

Team-Workspaces erstellen, Mitglieder einladen und Rollen für die Zusammenarbeit verwalten. Siehe Teams-Dokumentation.

Teams auflisten

GET /api/teams

Team erstellen

POST /api/teams/create

Body:

{
    "username": "my-team",
    "fullName": "My Team"
}

Mitgliederliste

GET /api/members

Gibt die Mitglieder des aktuellen Arbeitsbereichs zurück.

Mitglied einladen

POST /api/members

Body:

{
    "email": "user@example.com",
    "role": "editor"
}

Mitgliederrollen

RolleBerechtigungen
viewerSchreibgeschützter Zugriff auf Arbeitsbereichsressourcen
editorRessourcen erstellen, bearbeiten und löschen
adminVoller Zugriff einschließlich Mitgliederverwaltung

Siehe Teams für Details zu den Rollen in der Benutzeroberfläche.

Mitgliedsrolle aktualisieren

PATCH /api/members/{userId}

Mitglied entfernen

DELETE /api/members/{userId}

Eigentumsübertragung

POST /api/members/transfer-ownership

Einladungen

Einladung annehmen

POST /api/invites/accept

Einladungsinformationen erhalten

GET /api/invites/info

Abfrageparameter:

ParameterTypBeschreibung
tokenstringEinladungstoken

Einladung widerrufen

DELETE /api/invites/{inviteId}

Einladung erneut senden

POST /api/invites/{inviteId}/resend

API erkunden

Durchsuchen und entdecken Sie öffentliche Datensätze und Projekte, die von der Community geteilt werden. Siehe Dokumentation zu „Explore“.

Öffentliche Inhalte suchen

GET /api/explore/search

Abfrageparameter:

ParameterTypBeschreibung
qstringSuchanfrage
typestringRessourcentyp: all (Standard), projects, datasets
sortstringSortierreihenfolge: stars (Standard), newest, oldest, name-asc, name-desc, count-desc, count-asc
offsetintPaginierungsversatz (Standard: 0). Die Ergebnisse geben 20 Elemente pro Seite zurück.
GET /api/explore/sidebar

Gibt kuratierte Inhalte für die Seitenleiste „Entdecken“ zurück.


Benutzer- und Einstellungs-APIs

Verwalten Sie Ihr Profil, Ihre API-Schlüssel, Ihre Speichernutzung und Ihre Datenschutzeinstellungen. Siehe Dokumentation zu den Einstellungen.

Benutzer nach Benutzername suchen

GET /api/users

Abfrageparameter:

ParameterTypBeschreibung
usernamestringBenutzername zum Nachschlagen

Benutzer folgen oder entfolgen

PATCH /api/users

Body:

{
    "username": "target-user",
    "followed": true
}

Verfügbarkeit des Benutzernamens prüfen

GET /api/username/check

Abfrageparameter:

ParameterTypBeschreibung
usernamestringZu überprüfender Benutzername
suggestboolOptional: true einen Vorschlag hinzufügen, falls angenommen

Einstellungen

GET /api/settings
POST /api/settings

Benutzerprofileinstellungen abrufen oder aktualisieren (Anzeigename, Biografie, Links zu sozialen Netzwerken usw.).

Profil-Symbol

POST /api/settings/icon
DELETE /api/settings/icon

Profil-Avatar hochladen oder entfernen.

Einarbeitung

POST /api/onboarding

Onboarding-Prozess abschließen (Datenregion, Benutzername festlegen).


DSGVO-API

Fordern Sie einen Export all Ihrer Daten an oder löschen Sie Ihr Konto endgültig. Siehe Dokumentation zu den Einstellungen.

GDPR-Jobstatus abrufen

GET /api/gdpr

Abfrageparameter:

ParameterTypBeschreibung
jobIdstringGDPR-Auftrags-ID zur Überprüfung

Gibt den Auftragsstatus zurück. Bei abgeschlossenen Exportaufträgen enthält die Antwort einen downloadUrl.

Export starten oder Ablauf löschen

POST /api/gdpr

Body:

{
    "action": "export"
}
{
    "action": "delete",
    "confirmationWord": "DELETE"
}

Optional für Team-Arbeitsbereiche:

{
    "action": "delete",
    "confirmationWord": "DELETE",
    "teamUsername": "my-team"
}

Irreversible Aktion

Die Kontolöschung ist dauerhaft und kann nicht rückgängig gemacht werden. Alle Daten, Modelle und Bereitstellungen werden gelöscht.


Fehlercodes

CodeHTTP-StatusBeschreibung
UNAUTHORIZED401Ungültiger oder fehlender API-Schlüssel
FORBIDDEN403Unzureichende Berechtigungen
NOT_FOUND404Ressource nicht gefunden
VALIDATION_ERROR400Ungültige Anfragedaten
RATE_LIMITED429Zu viele Anfragen
INTERNAL_ERROR500Serverfehler

Python

Verwenden Sie für eine einfachere Integration das Ultralytics Python , das die Authentifizierung, Uploads und das Streaming von Echtzeitmetriken automatisch übernimmt.

Installation & Einrichtung

pip install ultralytics

Installation überprüfen:

yolo check

Anforderung an die Paketversion

Für die Plattformintegration ist ultralytics>=8.4.14 erforderlich. Niedrigere Versionen funktionieren NICHT mit der Plattform.

Authentifizierung

yolo settings api_key=YOUR_API_KEY
export ULTRALYTICS_API_KEY=YOUR_API_KEY
from ultralytics import settings

settings.api_key = "YOUR_API_KEY"

Nutzung von Plattform-Datensätzen

Referenzdatensätze mit ul:// URIs:

from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# Train on your Platform dataset
model.train(
    data="ul://your-username/datasets/your-dataset",
    epochs=100,
    imgsz=640,
)

URI-Format:

MusterBeschreibung
ul://username/datasets/slugDatensatz
ul://username/project-nameProjekt
ul://username/project/model-nameSpezifisches Modell
ul://ultralytics/yolo26/yolo26nOffizielles Modell

Auf die Plattform übertragen

Ergebnisse an ein Plattformprojekt senden:

from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# Results automatically sync to Platform
model.train(
    data="coco8.yaml",
    epochs=100,
    project="your-username/my-project",
    name="experiment-1",
)

Was synchronisiert wird:

  • Trainingsmetriken (Echtzeit)
  • Gewichte des endgültigen Modells
  • Validierungsdiagramme
  • Konsolenausgabe
  • Systemmetriken

API-Beispiele

Laden Sie ein Modell von der Plattform:

# Your own model
model = YOLO("ul://username/project/model-name")

# Official model
model = YOLO("ul://ultralytics/yolo26/yolo26n")

Inferenz ausführen:

results = model("image.jpg")

# Access results
for r in results:
    boxes = r.boxes  # Detection boxes
    masks = r.masks  # Segmentation masks
    keypoints = r.keypoints  # Pose keypoints
    probs = r.probs  # Classification probabilities

Exportmodell:

# Export to ONNX
model.export(format="onnx", imgsz=640, half=True)

# Export to TensorRT
model.export(format="engine", imgsz=640, half=True)

# Export to CoreML
model.export(format="coreml", imgsz=640)

Validierung:

metrics = model.val(data="ul://username/datasets/my-dataset")

print(f"mAP50: {metrics.box.map50}")
print(f"mAP50-95: {metrics.box.map}")

Webhooks

Webhooks benachrichtigen Ihren Server über Plattformereignisse mittels HTTP-POST-Callbacks:

EreignisBeschreibung
training.startedTrainingsjob gestartet
training.epochEpoche abgeschlossen
training.completedTraining abgeschlossen
training.failedTraining fehlgeschlagen
export.completedExport bereit

Verfügbarkeit des Tarifs

Alle Pläne: Trainings-Webhooks über das Python SDK (Echtzeit-Metriken, Abschlussbenachrichtigungen) funktionieren automatisch bei jedem Plan -- keine Konfiguration erforderlich.

Nur für Enterprise: Benutzerdefinierte Webhook-Endpunkte, die HTTP-POST-Rückrufe an Ihre eigene Server-URL senden, erfordern einen Enterprise-Plan. Kontaktieren Sie den Vertrieb für Details.


FAQ

Wie paginiere ich große Ergebnisse?

Die meisten Endpunkte verwenden ein limit Parameter zur Steuerung der Anzahl der pro Anfrage zurückgegebenen Ergebnisse:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://platform.ultralytics.com/api/datasets?limit=50"

Die Endpunkte „Activity“ und „Trash“ unterstützen ebenfalls ein page Parameter für seitenbasierte Paginierung:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://platform.ultralytics.com/api/activity?page=2&limit=20"

Der Endpunkt „Explore Search“ verwendet offset anstelle von page, mit einer festen Seitengröße von 20:

curl "https://platform.ultralytics.com/api/explore/search?type=datasets&offset=20&sort=stars"

Kann ich die API ohne ein SDK nutzen?

Ja, alle Funktionen sind über REST verfügbar. Das Python ist ein praktischer Wrapper, der Funktionen wie das Streaming von Metriken in Echtzeit und automatische Modell-Uploads bietet. Unter platform.ultralytics.com/api/docs können Sie außerdem alle Endpunkte interaktiv erkunden.

Gibt es API-Client-Bibliotheken?

Derzeit verwenden Sie das Ultralytics Python-Paket oder stellen direkte HTTP-Anfragen. Offizielle Client-Bibliotheken für andere Sprachen sind geplant.

Wie gehe ich mit Ratenbegrenzungen um?

Verwenden Sie den Retry-After Header aus der 429-Antwort, um die richtige Zeit zu warten:

import time

import requests


def api_request_with_retry(url, headers, max_retries=3):
    for attempt in range(max_retries):
        response = requests.get(url, headers=headers)
        if response.status_code != 429:
            return response
        wait = int(response.headers.get("Retry-After", 2**attempt))
        time.sleep(wait)
    raise Exception("Rate limit exceeded")

Wie finde ich meine Modell- oder Datensatz-ID?

Ressourcen-IDs werden zurückgegeben, wenn Sie Ressourcen über die API erstellen. Sie finden sie auch in der Plattform-URL:

https://platform.ultralytics.com/username/project/model-name
                                  ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^
                                  username project   model

Verwenden Sie die Listenendpunkte, um nach Namen zu suchen oder nach Projekten zu filtern.



📅 Erstellt vor 2 Monaten ✏️ Aktualisiert vor 4 Tagen
glenn-jochermykolaxboikosergiuwaxmannLaughing-q

Kommentare