İçeriğe geç

REST API Referansı

Ultralytics Platform, veri kümelerine, modellere, eğitime ve dağıtımlara programatik erişim için kapsamlı bir REST API sağlar.

Ultralytics Api Genel Bakış

Hızlı Başlangıç

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

API Genel Bakış

API, temel platform kaynakları etrafında düzenlenmiştir:

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
KaynakAçıklamaAnahtar İşlemler
Veri KümeleriEtiketli resim koleksiyonlarıCRUD, resimler, etiketler, dışa aktarma, klonlama
ProjelerEğitim çalışma alanlarıCRUD, klon, simge
ModellerEğitimli kontrol noktalarıCRUD, tahmin, indirme, klonlama, dışa aktarma
DağıtımlarÖzel çıkarım uç noktalarıCRUD, başlatma/durdurma, metrikler, günlükler, durum
Dışa AktarmalarFormat dönüştürme işleriOluştur, durum, indir
EğitimBulut GPU işleriBaşlat, durum, iptal
FaturalandırmaKrediler ve aboneliklerBakiye, kontör yükleme, ödeme yöntemleri
TakımlarÇalışma alanı işbirliğiÜyeler, davetler, roller

Kimlik Doğrulama

Çoğu API isteği, API anahtarı aracılığıyla kimlik doğrulama gerektirir. Genel uç noktalar (genel veri kümelerini, projeleri ve modelleri listeleme), anahtar olmadan anonim okuma erişimini destekler.

API Anahtarını Al

  1. Git Settings > Profile (API Anahtarları bölümü)
  2. Tıklayın Create Key
  3. Oluşturulan anahtarı kopyalayın

Ayrıntılı talimatlar için API Anahtarları bölümüne bakın.

Yetkilendirme Başlığı

API anahtarınızı tüm isteklere dahil edin:

Authorization: Bearer ul_your_api_key_here

API Anahtar Formatı

API anahtarları şu biçimi kullanır ul_ ardından 40 hex karakteri gelir. Anahtarınızı gizli tutun - asla sürüm kontrolüne kaydetmeyin veya kamuya açık olarak paylaşmayın.

Örnek

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

headers = {"Authorization": "Bearer ul_abc123..."}
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 ul_abc123..." },
});
const data = await response.json();

Temel URL

Tüm API uç noktaları şunları kullanır:

https://platform.ultralytics.com/api

Hız Sınırları

API, kötüye kullanıma karşı koruma sağlamak ve meşru kullanımı kısıtlamadan devam ettirmek için iki katmanlı bir hız sınırlama sistemi kullanır:

  • API anahtarı başına — Kimliği doğrulanmış isteklerde API anahtarı başına uygulanan sınırlar
  • IP başına — Tüm IP adresleri için dakikada 100 istek /api/* yollar (hem kimliği doğrulanmış hem de kimliği doğrulanmamış istekler için geçerlidir)

Kısıtlandığında, API şu yanıtı döndürür 429 yeniden deneme meta verileriyle:

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

API Anahtarı Sınırları

Hız sınırları, çağrılan uç noktaya göre otomatik olarak uygulanır. Kötüye kullanımı önlemek için pahalı işlemler daha sıkı sınırlara tabidir, ancak standart CRUD işlemleri cömert bir varsayılan değeri paylaşır:

Uç NoktaLimitUygulanabilir
Varsayılan100 istek/dakikaAşağıda listelenmeyen tüm uç noktalar (liste, alma, oluşturma, güncelleme, silme)
Eğitim10 istek/dakikaBulut eğitimi işlerine başlamak (POST /api/training/start)
Yükle10 istek/dakikaDosya yüklemeleri, imzalı URL'ler ve veri kümesi alımı
Tahmin et20 istek/dakikaPaylaşılan model çıkarım (POST /api/models/{id}/predict)
Dışa aktar20 istek/dakikaModel formatı dışa aktarımları (POST /api/exports) ve veri kümesi NDJSON dışa aktarımları
İndir30 istek/dakikaModel ağırlık dosyası indirmeleri (GET /api/models/{id}/download)
ÖzelSınırsızÖzel uç noktalar — kendi hizmetiniz, API sınırı yok

Her kategori, API anahtarı başına bağımsız bir sayaca sahiptir. Örneğin, 20 tahmin isteği yapmak, 100 istek/dakika varsayılan kotanızı etkilemez.

Özel Uç Noktalar (Sınırsız)

Özel uç noktalar olmak API anahtar hız sınırlarına tabi değildir. Bir modeli özel bir uç noktaya dağıttığınızda, o uç nokta URL'sine (örneğin, https://predict-abc123.run.app/predict) Platformdan herhangi bir hız sınırlaması olmaksızın doğrudan özel hizmetinize erişin. Hesaplama için ödeme yaptığınız için, uç noktanızın ölçeklendirme yapılandırmasına kadar sınırsız verim elde edersiniz.

İşlem Hızı Sınırları

Bir 429 durum kodu, bekle Retry-After (veya X-RateLimit-Reset) yeniden denemeden önce. Bkz. hız sınırı SSS üstel geri çekilme uygulaması için.

Yanıt Biçimi

Başarı Yanıtları

Yanıtlar, kaynağa özgü alanlarla JSON döndürür:

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

Hata Yanıtları

{
    "error": "Invalid dataset ID"
}
HTTP DurumuAnlam
200Başarı
201Oluşturulma Tarihi
400Geçersiz istek
401Kimlik doğrulama gerekli
403Yetersiz izinler
404Kaynak bulunamadı
409Çatışma (yinelenen)
429Hız sınırı aşıldı
500Sunucu hatası

Veri Kümeleri API'si

YOLO eğitmek için etiketli görüntü koleksiyonlarını yönetin.

Veri Kümelerini Listeleme

GET /api/datasets

Sorgu Parametreleri:

ParametreTürAçıklama
usernamestringKullanıcı adına göre filtrele
slugstringSlug ile tek bir veri kümesini getir
limitintSayfa başına öğe sayısı (varsayılan: 20, maksimum: 500)
ownerstringÇalışma alanı sahibi kullanıcı adı
curl -H "Authorization: Bearer $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")

Yanıt:

{
    "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"
}

Veri Kümesini Al

GET /api/datasets/{datasetId}

Meta veriler, sınıf adları ve bölünme sayıları dahil olmak üzere tam veri kümesi ayrıntılarını döndürür.

Veri Kümesi Oluştur

POST /api/datasets

Gövde:

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

Desteklenen Görevler

Geçerli task değerler: detect, segment, classify, pose, obb.

Veri Setini Güncelle

PATCH /api/datasets/{datasetId}

Gövde (kısmi güncelleme):

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

Veri Kümesini Sil

DELETE /api/datasets/{datasetId}

Veri kümesini yumuşak silme ( çöp kutusuna taşınır, 30 gün boyunca kurtarılabilir).

Veri Kümesini Klonla

POST /api/datasets/{datasetId}/clone

Tüm görüntüler ve etiketleri içeren veri kümesinin bir kopyasını oluşturur. Yalnızca genel veri kümeleri kopyalanabilir.

Gövde (tüm alanlar isteğe bağlı):

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

Veri Kümesini Dışa Aktar

GET /api/datasets/{datasetId}/export

Veri kümesi dışa aktarma dosyası için imzalı indirme URL'si içeren bir JSON yanıtı döndürür.

Yanıt:

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

Sınıf İstatistiklerini Al

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

Sınıf dağılımını, konum ısı haritasını ve boyut istatistiklerini döndürür. Sonuçlar 5 dakikaya kadar önbellekte saklanır.

Yanıt:

{
    "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
}

Veri Kümesi Üzerinde Eğitimli Modeller Alın

GET /api/datasets/{datasetId}/models

Bu veri seti kullanılarak eğitilmiş modelleri döndürür.

Yanıt:

{
    "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
}

Veri Setini Otomatik Olarak Açıklama Ekleme

POST /api/datasets/{datasetId}/predict

Veri kümesi görüntülerinde YOLO çalıştırarak otomatik olarak açıklamalar oluşturun. Seçilen modeli kullanarak açıklaması olmayan görüntüler için etiketleri tahmin eder.

Gövde:

AlanTürGerekliAçıklama
imageHashstringEvetEk açıklama yapılacak görüntünün hash değeri
modelIdstringHayırÇıkarım için kullanılacak model kimliği
confidencefloatHayırGüven eşiği (varsayılan: 0,25)
ioufloatHayırIoU (varsayılan: 0,45)

Veri Kümesi Alımı

POST /api/datasets/ingest

Görüntüleri ve etiketleri içeren yüklenen ZIP dosyalarını işlemek için bir veri kümesi alım işi oluşturun.

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

Veri Kümesi Görüntüleri

Görüntüleri Listele

GET /api/datasets/{datasetId}/images

Sorgu Parametreleri:

ParametreTürAçıklama
splitstringBölünmeye göre filtrele: train, val, test
offsetintSayfa numaralandırma ofseti (varsayılan: 0)
limitintSayfa başına öğe sayısı (varsayılan: 50, maksimum: 5000)
sortstringSıralama düzeni: newest, oldest, name-asc, name-desc, size-asc, size-desc, labels-asc, labels-desc
hasLabelstringEtiket durumuna göre filtrele (true veya false)
hasErrorstringHata durumuna göre filtrele (true veya false)
searchstringDosya adına veya görüntü hash'ine göre arama yapın
includeThumbnailsstringİmzalı küçük resim URL'lerini dahil et (varsayılan: true)
includeImageUrlsstringİmzalı tam resim URL'lerini dahil et (varsayılan: false)

İmzalı Görüntü URL'lerini Alın

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

Bir grup görüntü hash'i için imzalı URL'ler alın (tarayıcıda görüntülemek için).

Resmi Sil

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

Görüntü Etiketlerini Al

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

Belirli bir görüntü için açıklamaları ve sınıf adlarını döndürür.

Görüntü Etiketlerini Güncelle

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

Gövde:

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

Koordinat Biçimi

Sınırlayıcı kutular YOLO formatını kullanır: [x_center, y_center, width, height] tüm değerlerin 0 ile 1 arasında olduğu yer.

Toplu Görüntü İşlemleri

Bir veri kümesi içinde bölmeler (eğitim/değerlendirme/test) arasında görüntüleri taşıma:

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

Görüntüleri toplu olarak silme:

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

Projeler API'si

Modelleri gruplandıran eğitim çalışma alanlarını yönetin.

Projeleri Listele

GET /api/projects

Sorgu Parametreleri:

ParametreTürAçıklama
usernamestringKullanıcı adına göre filtrele
limitintSayfa başına öğe sayısı
ownerstringÇalışma alanı sahibi kullanıcı adı

Proje Al

GET /api/projects/{projectId}

Proje Oluştur

POST /api/projects
curl -X POST \
  -H "Authorization: Bearer $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"]

Projeyi Güncelle

PATCH /api/projects/{projectId}

Projeyi Sil

DELETE /api/projects/{projectId}

Projeyi geçici olarak siler ( çöp kutusuna taşır).

Klon Projesi

POST /api/projects/{projectId}/clone

Proje Simgesi

Proje simgesini yükle (görüntü dosyası içeren çok parçalı form):

POST /api/projects/{projectId}/icon

Proje simgesini kaldırın:

DELETE /api/projects/{projectId}/icon

Modeller API'si

Projeler içinde eğitilmiş model kontrol noktalarını yönetin.

Modelleri Listele

GET /api/models

Sorgu Parametreleri:

ParametreTürGerekliAçıklama
projectIdstringEvetProje Kimliği (gerekli)
fieldsstringHayırAlan seti: summary, charts
idsstringHayırVirgülle ayrılmış model kimlikleri
limitintHayırMaksimum sonuç sayısı (varsayılan 20, maksimum 100)

Tamamlanan Modeller Listesi

GET /api/models/completed

Eğitimi tamamlanmış modelleri döndürür (model seçicilerde ve dağıtımda kullanılmak üzere).

Model Al

GET /api/models/{modelId}

Model Oluştur

POST /api/models

JSON Gövdesi:

AlanTürGerekliAçıklama
projectIdstringEvetHedef proje kimliği
slugstringHayırURL slug (küçük harfli alfasayısal/tireler)
namestringHayırGörünen ad (maks. 100 karakter)
descriptionstringHayırModel açıklaması (maks. 1000 karakter)
taskstringHayırGörev türü (detect, segment, poz, obb, classify)

Model Dosya Yükleme

Model .pt Dosya yüklemeleri ayrı olarak işlenir. Platform kullanıcı arayüzünü kullanarak model dosyalarını bir projeye sürükleyip bırakın.

Modeli Güncelle

PATCH /api/models/{modelId}

Modeli Sil

DELETE /api/models/{modelId}

Model Dosyalarını İndir

GET /api/models/{modelId}/files

Model dosyaları için imzalı indirme URL'leri döndürür.

Klon Modeli

POST /api/models/{modelId}/clone

Genel bir modeli projelerinizden birine kopyalayın.

Gövde:

{
    "targetProjectSlug": "my-project",
    "modelName": "cloned-model",
    "description": "Cloned from public model",
    "owner": "team-username"
}
AlanTürGerekliAçıklama
targetProjectSlugstringEvetHedef proje slug
modelNamestringHayırKlonlanan modelin adı
descriptionstringHayırModel açıklaması
ownerstringHayırTakım kullanıcı adı (çalışma alanı klonlama için)

İzle İndir

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

Model indirme analizlerini takip edin.

Çıkarım Çalıştır

POST /api/models/{modelId}/predict

Çok Parçalı Form:

AlanTürAçıklama
filedosyasıGörüntü dosyası (JPEG, PNG, WebP)
conffloatGüven eşiği (varsayılan: 0,25)
ioufloatIoU (varsayılan: 0,7)
imgszintPiksel cinsinden görüntü boyutu (varsayılan: 640)
curl -X POST \
  -H "Authorization: Bearer $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"]

Yanıt:

{
    "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 Alın

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

Doğrudan tahmin istekleri için kısa süreli bir jeton alın. Jeton, istemci tarafı uygulamalardan daha düşük gecikmeli çıkarım için API proxy'sini atlar.

Isınma Modeli

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

Daha hızlı ilk çıkarım için modeli önceden yükleyin. İlk istekte gecikmeleri önlemek için tahminleri çalıştırmadan önce bunu çağırın.


Eğitim API'si

Bulut eğitim işlerini başlatın, izleyin ve iptal edin.

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]

Eğitime Başla

POST /api/training/start
curl -X POST \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "modelId": "MODEL_ID",
    "projectId": "PROJECT_ID",
    "gpuType": "rtx-4090",
    "trainArgs": {
      "model": "yolo11n.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": "yolo11n.pt",
            "data": "ul://username/datasets/my-dataset",
            "epochs": 100,
            "imgsz": 640,
            "batch": 16,
        },
    },
)

GPU

Mevcut GPU şunlardır: rtx-4090, a100-80gb-pcie, a100-80gb-sxm, h100-sxm, rtx-pro-6000ve diğerleri. Bkz. Bulut Eğitimi fiyatlandırma ile birlikte tam liste için.

Eğitim Durumunu Al

GET /api/models/{modelId}/training

Bir model için mevcut eğitim işi durumunu, ölçümleri ve ilerleme durumunu döndürür.

Eğitimi İptal Et

DELETE /api/models/{modelId}/training

Çalışan hesaplama örneğini sonlandırır ve işi iptal edilmiş olarak işaretler.


Dağıtımlar API'si

Özel çıkarım uç noktaları oluşturun ve yönetin.

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]

Dağıtımları Listele

GET /api/deployments

Sorgu Parametreleri:

ParametreTürAçıklama
modelIdstringModele göre filtrele
statusstringDuruma göre filtrele
limitintMaksimum sonuç sayısı (varsayılan: 20, maksimum: 100)
ownerstringÇalışma alanı sahibi kullanıcı adı

Dağıtım Oluştur

POST /api/deployments

Gövde:

{
    "modelId": "model_abc123",
    "name": "my-deployment",
    "region": "us-central1",
    "resources": {
        "cpu": 1,
        "memoryGi": 2,
        "minInstances": 0,
        "maxInstances": 1
    }
}
AlanTürGerekliAçıklama
modelIdstringEvetDağıtılacak model kimliği
namestringEvetDağıtım adı
regionstringEvetDağıtım bölgesi
resourcesnesneHayırKaynak yapılandırması (cpu, memoryGi, minInstances, maxInstances)

Belirtilen bölgede özel bir çıkarım uç noktası oluşturur. Uç noktaya, benzersiz bir URL aracılığıyla global olarak erişilebilir.

Bölge Seçimi

En düşük gecikme süresi için kullanıcılarınıza yakın bir bölge seçin. Platform kullanıcı arayüzü, mevcut 43 bölgenin tümü için gecikme süresi tahminlerini gösterir.

Dağıtım Al

GET /api/deployments/{deploymentId}

Dağıtımı Sil

DELETE /api/deployments/{deploymentId}

Dağıtımı Başlat

POST /api/deployments/{deploymentId}/start

Durdurulan dağıtımı yeniden başlatın.

Dağıtımı Durdur

POST /api/deployments/{deploymentId}/stop

Çalışan bir dağıtımı duraklatın (faturalandırmayı durdurur).

Sağlık Kontrolü

GET /api/deployments/{deploymentId}/health

Dağıtım uç noktasının sağlık durumunu döndürür.

Dağıtımda Çıkarım Çalıştırma

POST /api/deployments/{deploymentId}/predict

Çıkarım için bir görüntüyü doğrudan dağıtım uç noktasına gönderin. İşlevsel olarak model tahmini ile eşdeğerdir, ancak daha düşük gecikme süresi için özel uç nokta üzerinden yönlendirilir.

Çok Parçalı Form:

AlanTürAçıklama
filedosyasıGörüntü dosyası (JPEG, PNG, WebP)
conffloatGüven eşiği (varsayılan: 0,25)
ioufloatIoU (varsayılan: 0,7)
imgszintPiksel cinsinden görüntü boyutu (varsayılan: 640)

Metrikleri Al

GET /api/deployments/{deploymentId}/metrics

İade taleplerinin sayısını, gecikme süresini ve hata oranını sparkline verileriyle birlikte gösterir.

Sorgu Parametreleri:

ParametreTürAçıklama
rangestringZaman aralığı: 1h, 6h, 24h (varsayılan), 7d, 30d
sparklinestringAyarlamak true dashboard görünümü için optimize edilmiş sparkline verileri

Logları Al

GET /api/deployments/{deploymentId}/logs

Sorgu Parametreleri:

ParametreTürAçıklama
severitystringVirgülle ayrılmış filtre: DEBUG, INFO, WARNING, ERROR, CRITICAL
limitintGiriş sayısı (varsayılan: 50, maksimum: 200)
pageTokenstringÖnceki yanıtın sayfa numaralandırma belirteci

İzleme API'si

Toplam Metrikler

GET /api/monitoring

Tüm kullanıcı dağıtımları için toplu metrikleri döndürür: toplam istek sayısı, etkin dağıtımlar, hata oranı ve ortalama gecikme süresi.


Dışa Aktarım API'si

Modelleri kenar dağıtımı için optimize edilmiş biçimlere dönüştürün.

Dışa Aktarımları Listele

GET /api/exports

Sorgu Parametreleri:

ParametreTürAçıklama
modelIdstringModel Kimliği (gerekli)
statusstringDuruma göre filtrele
limitintMaksimum sonuç sayısı (varsayılan: 20, maksimum: 100)

Dışa Aktarım Oluştur

POST /api/exports

Gövde:

AlanTürGerekliAçıklama
modelIdstringEvetKaynak model kimliği
formatstringEvetDışa aktarma biçimi (aşağıdaki tabloya bakın)
gpuTypestringKoşulluGerekli olduğunda format şudur engine (TensorRT)
argsnesneHayırDışa aktarma argümanları (imgsz, half, dynamic, vb.)
curl -X POST \
  -H "Authorization: Bearer $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"]

Desteklenen Formatlar:

FormatDeğerKullanım Durumu
ONNXonnxÇapraz platform çıkarım
TorchScripttorchscriptPyTorch dağıtımı
OpenVINOopenvinoIntel
TensorRTengineNVIDIA GPU
CoreMLcoremlApple cihazları
TFLitetfliteMobil ve gömülü
TF SavedModelsaved_modelTensorFlow
TF GraphDefpbTensorFlow grafik
PaddlePaddlepaddleBaidu PaddlePaddle
NCNNncnnMobil sinir ağı
Edge TPUedgetpuGoogle cihazları
TF.jstfjsTarayıcı çıkarım
MNNmnnAlibaba mobil çıkarım
RKNNrknnRockchip NPU
IMXimxSony IMX500 sensör
AxeleraaxeleraAxelera AI hızlandırıcıları
ExecuTorchexecutorchMeta ExecuTorch çalışma zamanı

Dışa Aktarım Durumunu Al

GET /api/exports/{exportId}

Dışa Aktarımı İptal Et

DELETE /api/exports/{exportId}

İzleme İhracatı İndir

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

Etkinlik API'si

Hesabınızdaki etkinlikleri track edin ve yönetin.

Etkinliği Listele

GET /api/activity

Sorgu Parametreleri:

ParametreTürAçıklama
limitintSayfa boyutu (varsayılan: 20, maksimum: 100)
pageintSayfa numarası (varsayılan: 1)
archivedbooleantrue Arşiv sekmesi için, false Gelen Kutusu için
searchstringOlay alanlarında büyük/küçük harf duyarlı olmayan arama

Olayları Görüldü Olarak İşaretle

POST /api/activity/mark-seen

Gövde:

{
    "all": true
}

Veya belirli kimlikleri geçirin:

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

Olayları Arşivle

POST /api/activity/archive

Gövde:

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

Veya belirli kimlikleri geçirin:

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

Çöp Kutusu API'si

Geçici olarak silinmiş kaynakları yönetin (30 günlük saklama süresi).

Çöp Kutusunu Listele

GET /api/trash

Sorgu Parametreleri:

ParametreTürAçıklama
typestringFiltre: all, project, dataset, model
pageintSayfa numarası (varsayılan: 1)
limitintSayfa başına öğe sayısı (varsayılan: 50, maksimum: 200)
ownerstringÇalışma alanı sahibi kullanıcı adı

Öğeyi Geri Yükle

POST /api/trash

Gövde:

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

Öğeyi Kalıcı Olarak Sil

DELETE /api/trash

Gövde:

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

Geri dönüşü olmayan

Kalıcı silme işlemi geri alınamaz. Kaynak ve tüm ilişkili veriler silinecektir.

Çöp Kutusunu Boşalt

DELETE /api/trash/empty

Çöp kutusundaki tüm öğeleri kalıcı olarak siler.


Faturalandırma API'si

Kredileri, abonelikleri ve ödeme yöntemlerini yönetin.

Para Birimleri

Fatura tutarları sent cinsindendir (creditsCents) nerede 100 = $1.00.

Bakiye Al

GET /api/billing/balance

Sorgu Parametreleri:

ParametreTürAçıklama
ownerstringÇalışma alanı sahibi kullanıcı adı

Yanıt:

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

Kullanım Özetini Al

GET /api/billing/usage-summary

Plan ayrıntılarını, limitlerini ve kullanım metriklerini döndürür.

İşlemleri Al

GET /api/billing/transactions

İşlem geçmişini (en sonuncusu ilk olarak) döndürür.

Sorgu Parametreleri:

ParametreTürAçıklama
ownerstringÇalışma alanı sahibi kullanıcı adı

Ödeme Oturumu Oluştur

POST /api/billing/checkout-session

Gövde:

{
    "amount": 25,
    "owner": "team-username"
}
AlanTürGerekliAçıklama
amountsayıEvetDolar cinsinden tutar (5-1000 dolar)
ownerstringHayırÇalışma alanı kontör yüklemeleri için ekip kullanıcı adı (yönetici rolü gerektirir)

Kredi satın alımı için bir ödeme oturumu oluşturur.

Abonelik Ödemesi Oluştur

POST /api/billing/subscription-checkout

Pro abonelik yükseltmesi için bir ödeme oturumu oluşturur.

Gövde:

{
    "planId": "pro",
    "billingCycle": "monthly",
    "owner": "team-username"
}
AlanTürGerekliAçıklama
planIdstringEvetAbone olunacak plan (pro)
billingCyclestringHayırFaturalandırma döngüsü: monthly (varsayılan) veya yearly
ownerstringHayırÇalışma alanı yükseltmeleri için ekip kullanıcı adı (yönetici rolü gerektirir)

Portal Oturumu Oluştur

POST /api/billing/portal-session

Abonelik yönetimi için faturalandırma portalına URL döndürür.

Otomatik Yükleme

Bakiye bir eşiğin altına düştüğünde otomatik olarak kredi ekler.

Otomatik Yükleme Yapılandırmasını Al

GET /api/billing/auto-topup

Sorgu Parametreleri:

ParametreTürAçıklama
ownerstringÇalışma alanı sahibi kullanıcı adı

Otomatik Yükleme Yapılandırmasını Güncelle

PATCH /api/billing/auto-topup

Gövde:

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

Ödeme Yöntemleri

Ödeme Yöntemlerini Listele

GET /api/billing/payment-methods

Kurulum Amacı Oluştur

POST /api/billing/payment-methods/setup

Yeni bir ödeme yöntemi eklemek için bir istemci sırrı döndürür.

Varsayılan Ödeme Yöntemini Ayarla

POST /api/billing/payment-methods/default

Gövde:

{
    "paymentMethodId": "pm_123"
}

Fatura Bilgilerini Güncelle

PATCH /api/billing/payment-methods

Gövde:

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

Ödeme Yöntemini Sil

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

Depolama API'si

Depolama Bilgisi Al

GET /api/storage

Yanıt:

{
    "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"
            }
        ]
    }
}

Depolamayı Yeniden Hesapla

POST /api/storage

Depolama kullanımının yeniden hesaplanmasını tetikler.


Yükleme API'si

Doğrudan dosya yüklemeleri, iki aşamalı imzalı URL akışı kullanır.

İmzalı Yükleme URL'si Al

POST /api/upload/signed-url

Bir dosyayı doğrudan bulut depolamaya yüklemek için imzalı bir URL isteyin. İmzalı URL, büyük dosya aktarımları için API sunucusunu atlar.

Gövde:

{
    "assetType": "images",
    "assetId": "abc123",
    "filename": "my-image.jpg",
    "contentType": "image/jpeg",
    "totalBytes": 5242880
}
AlanTürAçıklama
assetTypestringVarlık türü: models, datasets, images, videos
assetIdstringHedef varlığın Kimliği
filenamestringOrijinal dosya adı
contentTypestringMIME türü
totalBytesintBayt cinsinden dosya boyutu

Yanıt:

{
    "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"
}

Yüklemeyi Tamamla

POST /api/upload/complete

Platformu, bir dosya yüklemesinin tamamlandığı konusunda bilgilendirin, böylece işlemeye başlayabilir.

Gövde:

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

API Anahtarları API'si

API Anahtarlarını Listele

GET /api/api-keys

API Anahtarı Oluştur

POST /api/api-keys

Gövde:

{
    "name": "training-server"
}

API Anahtarını Sil

DELETE /api/api-keys

Sorgu Parametreleri:

ParametreTürAçıklama
keyIdstringİptal edilecek API anahtarı Kimliği

Örnek:

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

Ekipler ve Üyeler API'si

Çalışma alanı işbirliğini ekipler, üyeler ve davetiyelerle yönetin.

Ekipleri Listele

GET /api/teams

Takım Oluştur

POST /api/teams/create

Gövde:

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

Üyeleri Listele

GET /api/members

Mevcut çalışma alanının üyelerini döndürür.

Üye Davet Et

POST /api/members

Gövde:

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

Üye Rolleri

Rolİzinler
viewerÇalışma alanı kaynaklarına salt okunur erişim
editorKaynakları oluştur, düzenle ve sil
adminÜye yönetimi dahil tam erişim

Kullanıcı arayüzündeki rol detayları için Ekipler bölümüne bakın.

Üye Rolünü Güncelle

PATCH /api/members/{userId}

Üyeyi Kaldır

DELETE /api/members/{userId}

Sahipliği Devret

POST /api/members/transfer-ownership

Davetiyeler

Daveti Kabul Et

POST /api/invites/accept

Davet Bilgisini Al

GET /api/invites/info

Sorgu Parametreleri:

ParametreTürAçıklama
tokenstringDavet jetonu

Daveti İptal Et

DELETE /api/invites/{inviteId}

Daveti Yeniden Gönder

POST /api/invites/{inviteId}/resend

API'yi Keşfet

Herkese Açık İçeriği Ara

GET /api/explore/search

Sorgu Parametreleri:

ParametreTürAçıklama
qstringArama sorgusu
typestringKaynak türü: all (varsayılan), projects, datasets
sortstringSıralama düzeni: stars (varsayılan), newest, oldest, name-asc, name-desc, count-desc, count-asc
offsetintSayfalama ofseti (varsayılan: 0). Sonuçlar sayfa başına 20 öğe döndürür.
GET /api/explore/sidebar

Keşfet kenar çubuğu için derlenmiş içerik döndürür.


Kullanıcı ve Ayarlar API'leri

Kullanıcı Adına Göre Kullanıcıyı Getir

GET /api/users

Sorgu Parametreleri:

ParametreTürAçıklama
usernamestringAranacak kullanıcı adı

Kullanıcıyı Takip Et veya Takibi Bırak

PATCH /api/users

Gövde:

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

Kullanıcı Adı Uygunluğunu Kontrol Et

GET /api/username/check

Sorgu Parametreleri:

ParametreTürAçıklama
usernamestringKontrol edilecek kullanıcı adı
suggestboolİsteğe bağlı: true alınırsa bir öneri eklemek için

Ayarlar

GET /api/settings
POST /api/settings

Kullanıcı profili ayarlarını (görünen ad, biyografi, sosyal bağlantılar vb.) al veya güncelle.

Profil Simgesi

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

Profil avatarını yükle veya kaldır.

Kullanıcı Katılımı

POST /api/onboarding

Kullanıcı katılım akışını tamamla (veri bölgesi, kullanıcı adı ayarla).


GDPR API'si

Veri dışa aktarımı ve silme için GDPR uyumluluk uç noktaları.

GDPR İş Durumunu Al

GET /api/gdpr

Sorgu Parametreleri:

ParametreTürAçıklama
jobIdstringKontrol edilecek GDPR iş kimliği

İş durumunu döndürür. Tamamlanmış dışa aktarma işleri için yanıt şunları içerir: downloadUrl.

Dışa Aktarma veya Silme Akışını Başlat

POST /api/gdpr

Gövde:

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

Ekip çalışma alanları için isteğe bağlı:

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

Geri Alınamaz Eylem

Hesap silme işlemi kalıcıdır ve geri alınamaz. Tüm veriler, modeller ve dağıtımlar silinecektir.


Hata Kodları

KodHTTP DurumuAçıklama
UNAUTHORIZED401Geçersiz veya eksik API anahtarı
FORBIDDEN403Yetersiz izinler
NOT_FOUND404Kaynak bulunamadı
VALIDATION_ERROR400Geçersiz istek verileri
RATE_LIMITED429Çok fazla istek
INTERNAL_ERROR500Sunucu hatası

Python Entegrasyonu

Daha kolay entegrasyon için, kimlik doğrulama, yüklemeler ve gerçek zamanlı metrik akışını otomatik olarak yöneten Ultralytics python paketini kullanın.

Kurulum

pip install ultralytics

Kurulumu doğrulayın:

yolo check

Paket Sürüm Gereksinimi

Platform entegrasyonu ultralytics>=8.4.14 sürümünü gerektirir. Daha düşük sürümler Platform ile ÇALIŞMAZ.

Kimlik Doğrulama

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

settings.api_key = "YOUR_API_KEY"

Platform Veri Kümelerini Kullanma

Referans veri kümeleri ile ul:// URI'ler:

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

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

URI Biçimi:

DesenAçıklama
ul://username/datasets/slugVeri Kümesi
ul://username/project-nameProje
ul://username/project/model-nameBelirli model
ul://ultralytics/yolo26/yolo26nResmi model

Platforma Yükleme

Sonuçları bir Platform projesine gönderin:

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

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

Neler senkronize edilir:

  • Eğitim metrikleri (gerçek zamanlı)
  • Nihai model ağırlıkları
  • Doğrulama grafikleri
  • Konsol çıktısı
  • Sistem metrikleri

API Örnekleri

Platformdan bir model yükleyin:

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

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

Çıkarım çalıştırın:

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

Modeli dışa aktarın:

# 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)

Doğrulama:

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

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

Webhook'lar

Web kancaları, HTTP POST geri çağrıları aracılığıyla sunucunuza Platform olaylarını bildirir:

OlayAçıklama
training.startedEğitim işi başlatıldı
training.epochEpoch tamamlandı
training.completedEğitim tamamlandı
training.failedEğitim başarısız oldu
export.completedDışa aktarmaya hazır

Kurumsal Özellik

Özel web kancası uç noktaları Kurumsal planlarda mevcuttur. python SDK'sı için eğitim web kancaları tüm planlarda otomatik olarak çalışır.


SSS

Büyük sonuçları nasıl sayfalandırırım?

Çoğu uç nokta bir limit parametre kullanarak istek başına kaç sonuç döndürüleceğini kontrol eder:

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

Etkinlik ve Çöp Kutusu uç noktaları ayrıca bir page parametre ile sayfa tabanlı sayfalama desteği sunar:

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

Keşfet Arama uç noktası şunu kullanır: offset yerine page, sabit 20 sayfa boyutuyla:

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

API'yi bir SDK olmadan kullanabilir miyim?

Evet, tüm işlevler REST aracılığıyla kullanılabilir. Python , gerçek zamanlı metrik akışı ve otomatik model yüklemeleri gibi özellikler ekleyen kullanışlı bir sarmalayıcıdır.

API istemci kütüphaneleri mevcut mu?

Şu anda, Ultralytics python paketini kullanın veya doğrudan HTTP istekleri yapın. Diğer diller için resmi istemci kütüphaneleri planlanmaktadır.

Hız sınırlarını nasıl yönetirim?

Şunu kullanın: Retry-After Doğru miktarda beklemek için 429 yanıtından gelen başlık:

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")

Model veya veri kümesi kimliğimi nasıl bulurum?

Kaynak kimlikleri, API aracılığıyla kaynak oluşturduğunuzda döndürülür. Bunları platform URL'sinde de bulabilirsiniz:

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

Ada göre arama yapmak veya projeye göre filtrelemek için liste uç noktalarını kullanın.



📅 1 ay önce oluşturuldu ✏️ 5 gün önce güncellendi
glenn-jochersergiuwaxmannLaughing-q

Yorumlar