REST API Referansı

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

Ultralytics Platform Api Genel Bakış

Hızlı Başlangıç
# List your datasets
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://platform.ultralytics.com/api/datasets
Etkileşimli API Dokümanları

Tam etkileşimli API referansını Ultralytics Platform API dokümanlarında keşfet.

API'ye 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çıklamaTemel İşlemler
Veri setleriEtiketli görüntü koleksiyonlarıCRUD, görüntüler, etiketler, dışa aktarma, sürümler, klonlama
ProjelerEğitim çalışma alanlarıCRUD, klonlama, simge
ModellerEğitilmiş 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, sağlık durumu
Dışa AktarmalarFormat dönüştürme işleriOluşturma, durum, indirme
EğitimBulut GPU eğitim işleriBaşlatma, durum, iptal etme
FaturalandırmaKrediler ve aboneliklerBakiye, yükleme, ödeme yöntemleri
EkiplerÇalışma alanı iş birliğiÜyeler, davetler, roller

Kimlik Doğrulama

Veri setleri, projeler, modeller, eğitim, dışa aktarmalar ve tahminler gibi kaynak API'leri, API anahtarı kimlik doğrulaması kullanır. Halka açık uç noktalar (halka açık veri setlerini, projeleri ve modelleri listeleme), anahtar olmadan anonim okuma erişimini destekler. Etkinlik, ayarlar, ekipler, faturalandırma ve GDPR akışları dahil olmak üzere hesap odaklı yollar, şu anda doğrulanmış bir tarayıcı oturumu gerektirir ve API anahtarı aracılığıyla kullanılamaz.

API Anahtarı Al

  1. Go to Settings > API Keys
  2. Click Create Key
  3. Oluşturulan anahtarı kopyala

Ayrıntılı talimatlar için API Anahtarları kısmına bak.

Yetkilendirme Başlığı

API anahtarını tüm isteklere dahil et:

Authorization: Bearer YOUR_API_KEY
API Anahtarı Formatı

API anahtarları, ul_ formatını ve ardından gelen 40 onaltılık karakteri kullanır. Anahtarını gizli tut -- asla sürüm kontrolüne yükleme veya halka açık şekilde paylaşma.

Örnek

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

Temel URL

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

https://platform.ultralytics.com/api

Hız Sınırları

API, suistimale karşı korumak ve meşru kullanımı kısıtlamadan devam ettirmek için API anahtarı başına hız sınırları (kayan pencere, Upstash Redis destekli) uygular. Anonim trafik, Vercel'in platform seviyesindeki suistimal kontrolleri ile ayrıca korunur.

Hız sınırına takıldığında, API tekrar deneme meta verileriyle birlikte 429 kodunu döndürür:

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

API Anahtarı Başına Sınırlar

Hız sınırları, çağrılan uç noktaya göre otomatik olarak uygulanır. Maliyetli işlemler, suistimali önlemek için daha sıkı sınırlara sahipken, standart CRUD işlemleri cömert bir varsayılan değeri paylaşır:

Uç NoktaSınırUygulama Alanı
Varsayılan100 istek/dkAşağıda listelenmeyen tüm uç noktalar (liste, al, oluştur, güncelle, sil)
Eğitim10 istek/dkBulut eğitim işlerini başlatma (POST /api/training/start)
Yükle10 istek/dkDosya yüklemeleri, imzalı URL'ler ve veri seti alımı
Tahmin Et (Predict)20 istek/dkPaylaşılan model çıkarımı (POST /api/models/{id}/predict)
Dışa Aktar20 istek/dkModel formatı dışa aktarmaları (POST /api/exports), veri seti NDJSON dışa aktarmaları ve sürüm oluşturma
İndirme30 istek/dkModel ağırlık dosyası indirmeleri (GET /api/models/{id}/download)
ÖzelSınırsızÖzel uç noktalar — kendi hizmetin, API sınırı yok

Her kategorinin API anahtarı başına bağımsız bir sayacı vardır. Örneğin, 20 tahmin isteği yapmak, 100 istek/dk olan varsayılan hakkını etkilemez.

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

Özel uç noktalar, API anahtarı hız sınırlarına tabi değildir. Bir modeli özel bir uç noktaya dağıttığında, o uç nokta URL'sine (örneğin, https://predict-abc123.run.app/predict) yapılan istekler doğrudan özel hizmetine gider ve Platform tarafından hız sınırlamasına tabi tutulmaz. İşlem gücü için ödeme yapıyorsun, bu nedenle paylaşılan API sınırları yerine özel hizmet yapılandırmandan elde ettiğin aktarım hızını alırsın.

Hız Sınırlarını Yönetme

429 durum kodunu aldığında, tekrar denemeden önce Retry-After (veya X-RateLimit-Reset kadar) bekle. Üstel geri çekilme (exponential backoff) uygulaması için hız sınırı SSS kısmına bak.

Yanıt Formatı

Başarılı Yanıtlar

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

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

Hata Yanıtları

{
    "error": "Dataset not found"
}
HTTP DurumuAnlamı
200Başarılı
201Oluşturuldu
400Geçersiz istek
401Kimlik doğrulama gerekli
403Yetersiz izinler
404Kaynak bulunamadı
409Çakışma (kopya)
429Hız sınırı aşıldı
500Sunucu hatası

Veri setleri API'si

YOLO modellerini eğitmek için etiketli görüntü veri setleri oluştur, göz at ve yönet. Veri setleri dokümantasyonuna bak.

Veri Setlerini Listele

GET /api/datasets

Sorgu Parametreleri:

ParametreTürAçıklama
usernamestringKullanıcı adına göre filtrele
slugstringBelirli bir veri kümesini slug değerine göre getir
limitintSayfa başına öğe sayısı (varsayılan: 20, maksimum: 500)
ownerstringÇalışma alanı sahibinin kullanıcı adı
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://platform.ultralytics.com/api/datasets?limit=10"

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 Getir

GET /api/datasets/{datasetId}

Meta veriler, sınıf adları ve ayrım sayıları dahil olmak üzere veri kümesinin tüm detayları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ğerleri: detect, segment, classify, pose, obb.

Veri Kümesini 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 yöntemiyle siler (çöp kutusuna trash taşınır, 30 gün boyunca geri alınabilir).

Veri Kümesini Klonla

POST /api/datasets/{datasetId}/clone

Veri kümesinin tüm resimleri ve etiketleriyle birlikte bir kopyasını oluşturur. Yalnızca herkese açık veri kümeleri klonlanabilir. Aktif bir platform tarayıcı oturumu gerektirir; API anahtarı ile kullanılamaz.

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

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

Veri Kümesini Dışa Aktar

GET /api/datasets/{datasetId}/export

En son veri kümesi dışa aktarımı için imzalı bir indirme URL'si içeren bir JSON yanıtı döndürür.

Sorgu Parametreleri:

ParametreTürAçıklama
vintegerSürüm numarası (1'den başlar). Atlanırsa, en son (önbelleğe alınmamış) dışa aktarımı döndürür.

Yanıt:

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

Veri Kümesi Sürümü Oluştur

POST /api/datasets/{datasetId}/export

Veri kümesinin numaralandırılmış yeni bir sürüm anlık görüntüsünü oluştur. Yalnızca sahip tarafından yapılabilir. Sürüm, mevcut resim sayısını, sınıf sayısını, açıklama sayısını ve ayrım dağılımını yakalar, ardından değiştirilemez bir NDJSON dışa aktarımı oluşturup depolar.

İstek Gövdesi:

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

Tüm alanlar isteğe bağlıdır. description alanı, sürüm için kullanıcı tarafından sağlanan bir etikettir.

Yanıt:

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

Sürüm Açıklamasını Güncelle

PATCH /api/datasets/{datasetId}/export

Mevcut bir sürümün açıklamasını güncelle. Yalnızca sahip tarafından yapılabilir.

İstek Gövdesi:

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

Yanıt:

{
    "ok": true
}

Sınıf İstatistiklerini Getir

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 önbelleğe alını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ğitilen Modelleri Getir

GET /api/datasets/{datasetId}/models

Bu veri kümesi kullanılarak eğitilen 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 Kümesini Otomatik Etiketle

POST /api/datasets/{datasetId}/predict

Etiketleri otomatik oluşturmak için veri kümesi resimlerinde YOLO çıkarımı çalıştır. Etiketlenmemiş resimler için etiket tahmini yapmak üzere seçilen bir modeli kullanır.

Gövde:

AlanTürGerekliAçıklama
imageHashstringEvetEtiketlenecek resmin özeti (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 eşiği (varsayılan: 0.45)

Veri Kümesi Alımı

POST /api/datasets/ingest

Resimler ve etiketler içeren ZIP veya TAR dosyalarını ( .tar.gz ve .tgz dahil) işlemek için bir veri kümesi alım işi oluştur.

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]

Veri Kümesi Resimleri

Resimleri Listele

GET /api/datasets/{datasetId}/images

Sorgu Parametreleri:

ParametreTürAçıklama
splitstringAyrıma göre filtrele: train, val, test
offsetintSayfalandı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, height-asc, height-desc, width-asc, width-desc, size-asc, size-desc, labels-asc, labels-desc (100 binden fazla resim içeren veri kümeleri için bazıları devre dışıdır)
hasLabelstringEtiket durumuna göre filtrele (true veya false)
hasErrorstringHata durumuna göre filtrele (true veya false)
searchstringDosya adına veya resim özetine (hash) göre ara
includeThumbnailsstringİmzalı küçük resim URL'lerini dahil et (varsayılan: true)
includeImageUrlsstringİmzalı tam resim URL'lerini dahil et (varsayılan: false)

İmzalı Resim URL'lerini Getir

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

Bir dizi resim özeti (hash) için imzalı URL'leri getir (tarayıcıda görüntülemek için).

Resmi Sil

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

Resim Etiketlerini Getir

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

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

Resim Etiketlerini Güncelle

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

Gövde:

{
    "labels": [
        { "classId": 0, "bbox": [0.5, 0.5, 0.2, 0.3] },
        { "classId": 1, "segments": [0.1, 0.2, 0.3, 0.2, 0.2, 0.4] }
    ]
}
Koordinat Biçimi

Etiket koordinatları 0 ile 1 arasında YOLO normalize edilmiş değerlerini kullanır. Sınırlayıcı kutular (BBox) [x_center, y_center, width, height] kullanır. Segmentasyon etiketleri, segments kullanır; bu, poligon köşelerinin düzleştirilmiş bir listesidir [x1, y1, x2, y2, ...].

Toplu Resim İşlemleri

Resimleri bir veri kümesi içindeki ayrımlar (train/val/test) arasında taşı:

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

Resimleri toplu sil:

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

Projeler API'si

Modellerini projeler halinde düzenle. Her model bir projeye aittir. Projeler belgelerine bak.

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ı sahibinin kullanıcı adı

Projeyi Getir

GET /api/projects/{projectId}

Proje Oluştur

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

Projeyi Güncelle

PATCH /api/projects/{projectId}

Projeyi Sil

DELETE /api/projects/{projectId}

Projeyi yumuşak silme yöntemiyle siler (çöp kutusuna trash taşınır).

Projeyi Klonla

POST /api/projects/{projectId}/clone

Herkese açık bir projeyi (tüm modelleriyle birlikte) çalışma alanına klonlar. Aktif bir platform tarayıcı oturumu gerektirir; API anahtarı ile kullanılamaz.

Proje Simgesi

Bir proje simgesi yükle (resim dosyası ile çok parçalı form):

POST /api/projects/{projectId}/icon

Proje simgesini kaldır:

DELETE /api/projects/{projectId}/icon

Her ikisi de aktif bir platform tarayıcı oturumu gerektirir — API anahtarı aracılığıyla kullanılamaz.


Modeller API

Eğitilmiş YOLO modellerini yönet; metrikleri görüntüle, ağırlıkları indir, çıkarım yap ve diğer formatlara aktar. Modeller dokümantasyonuna bak.

Modelleri Listele

GET /api/models

Sorgu Parametreleri:

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

Tamamlanan Modelleri Listele

GET /api/models/completed

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

Model Al

GET /api/models/{modelId}

Model Oluştur

POST /api/models

JSON Gövdesi:

AlanTürGerekliAçıklama
projectIdstringEvetHedef proje kimliği
slugstringHayırURL uzantısı (küçük harf, sayısal veya tire)
namestringHayırGörünen ad (maks 100 karakter)
descriptionstringHayırModel açıklaması (maks 1000 karakter)
taskstringHayırGörev türü (detect, segment, pose, obb, classify)
Model Dosyası Yükleme

Model .pt dosyası yüklemeleri ayrı olarak işlenir. Model dosyalarını bir projeye sürükleyip bırakmak için platform arayüzünü kullan.

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'lerini döndürür.

Modeli Klonla

POST /api/models/{modelId}/clone

Genel bir modeli projelerinden birine kopyala. Aktif bir platform tarayıcı oturumu gerektirir — API anahtarı ile kullanılamaz.

Gövde:

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

İndirmeyi İzle

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

Model indirme analizlerini izle.

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

POST /api/models/{modelId}/predict

Çok Parçalı Form:

AlanTürAçıklama
filedosyaGörsel dosyası (JPEG, PNG, WebP)
conffloatGüven eşiği (varsayılan: 0.25)
ioufloatIoU eşiği (varsayılan: 0.7)
imgszintPiksel cinsinden görsel boyutu (varsayılan: 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

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

Tahmin Belirteci Al

POST /api/models/{modelId}/predict/token
Yalnızca tarayıcı oturumu

Bu yol, doğrudan tarayıcı → tahmin-servisi çağrıları için kısa ömürlü çıkarım belirteçleri oluşturmak üzere uygulama içi Tahmin sekmesi tarafından kullanılır (daha düşük gecikme, API proxy yok). Aktif bir platform tarayıcı oturumu gerektirir ve API anahtarı aracılığıyla kullanılamaz. Programatik çıkarım için API anahtarınla POST /api/models/{modelId}/predict çağrısı yap.

Modeli Isındır

POST /api/models/{modelId}/predict/warmup
Yalnızca tarayıcı oturumu

Isındırma yolu, kullanıcının ilk çıkarımından önce bir modelin ağırlıklarını tahmin servisinde önceden yüklemek için Tahmin sekmesi tarafından kullanılır. Aktif bir platform tarayıcı oturumu gerektirir ve API anahtarı aracılığıyla kullanılamaz.


Eğitim API

Bulut GPU'larında (RTX 2000 Ada'dan B300'e kadar 24 GPU türü) YOLO eğitimini başlat ve ilerlemeyi gerçek zamanlı izle. Bulut Eğitimi dokümantasyonuna bak.

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ğitimi Başlat

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
GPU Türleri

Mevcut GPU türleri arasında rtx-4090, a100-80gb-pcie, a100-80gb-sxm, h100-sxm, rtx-pro-6000, b300 ve diğerleri bulunur. Fiyatlandırma dahil tam liste için Bulut Eğitimi kısmına bak.

Eğitim Durumunu Al

GET /api/models/{modelId}/training

Bir modelin mevcut eğitim işi durumunu, metriklerini ve ilerlemesini döndürür. Genel projeler anonim olarak erişilebilir; özel projeler aktif bir platform tarayıcı oturumu gerektirir (bu yol API anahtarı kimlik doğrulamasını kabul etmez).

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. Aktif bir platform tarayıcı oturumu gerektirir — API anahtarı ile kullanılamaz.


Dağıtım API

Modelleri sağlık kontrolleri ve izleme özellikleriyle özel çıkarım uç noktalarına dağıt. Yeni dağıtımlar varsayılan olarak sıfıra ölçekleme kullanır ve API isteğe bağlı bir resources nesnesini kabul eder. Uç Noktalar dokümantasyonuna bak.

Yola göre API anahtarı desteği

Yalnızca GET /api/deployments, POST /api/deployments, GET /api/deployments/{deploymentId} ve DELETE /api/deployments/{deploymentId} API anahtarı kimlik doğrulamasını destekler. predict, health, logs, metrics, start ve stop alt yolları aktif bir platform tarayıcı oturumu gerektirir — bunlar uygulama içi arayüz için kolaylık sağlayan proxy'lerdir. Programatik çıkarım için, dağıtımın kendi uç nokta URL'sini (ör. https://predict-abc123.run.app/predict) doğrudan API anahtarınla çağır. Özel uç noktalar hız sınırlamasına tabi değildir.

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ç (varsayılan: 20, maks: 100)
ownerstringÇalışma alanı sahibinin 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ç nokta, benzersiz bir URL aracılığıyla küresel olarak erişilebilirdir.

Varsayılan Kaynaklar

Dağıtım diyaloğu şu anda cpu=1, memoryGi=2, minInstances=0 ve maxInstances=1 şeklinde sabit varsayılanlar gönderir. API yolu bir resources nesnesini kabul eder ancak plan sınırları minInstances değerini 0 ve maxInstances değerini 1 ile sınırlar.

Bölge Seçimi

En düşük gecikme için kullanıcılarına yakın bir bölge seç. Platform arayüzü mevcut 43 bölgenin tamamı için gecikme 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

Durdurulmuş bir dağıtımı devam ettir.

Dağıtımı Durdur

POST /api/deployments/{deploymentId}/stop

Çalışan bir dağıtımı duraklat (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ır

POST /api/deployments/{deploymentId}/predict

Çıkarım için görseli doğrudan bir dağıtım uç noktasına gönder. İşlevsel olarak model tahminiyle eşdeğerdir ancak daha düşük gecikme için özel uç nokta üzerinden yönlendirilir.

Çok Parçalı Form:

AlanTürAçıklama
filedosyaGörsel dosyası (JPEG, PNG, WebP)
conffloatGüven eşiği (varsayılan: 0.25)
ioufloatIoU eşiği (varsayılan: 0.7)
imgszintPiksel cinsinden görsel boyutu (varsayılan: 640)

Metrikleri Al

GET /api/deployments/{deploymentId}/metrics

İstek sayılarını, gecikmeyi ve hata oranı metriklerini sparkline verileriyle döndürür.

Sorgu Parametreleri:

ParametreTürAçıklama
rangestringZaman aralığı: 1h, 6h, 24h (varsayılan), 7d, 30d
sparklinestringGösterge paneli görünümü için optimize edilmiş sparkline verisi istiyorsan true olarak ayarla

Günlükleri Al

GET /api/deployments/{deploymentId}/logs

Sorgu Parametreleri:

ParametreTürAçıklama
severitystringVirgülle ayrılmış filtre: DEBUG, INFO, WARNING, ERROR, CRITICAL
limitintGirdi sayısı (varsayılan: 50, maks: 200)
pageTokenstringÖnceki yanıttan gelen sayfalama belirteci

İzleme API'si

Yalnızca tarayıcı oturumu

GET /api/monitoring yalnızca kullanıcı arayüzü (UI) için bir yoldur ve aktif bir platform tarayıcı oturumu gerektirir. API anahtarı kimlik doğrulamasını kabul etmez. Dağıtım bazlı yollar (bunlar da yalnızca tarayıcı oturumu ile çalışır) aracılığıyla bireysel dağıtım metriklerini sorgula veya programatik erişim için dağıtılmış Cloud Run servisinde Cloud Monitoring dışa aktarımlarını kullan.

Toplu Metrikler

GET /api/monitoring

Tüm kullanıcı dağıtımları genelindeki toplu metrikleri döndürür: toplam istekler, aktif dağıtımlar, hata oranı ve ortalama gecikme süresi.


Dışa Aktarma API'si

Modelleri uç cihazda dağıtım için ONNX, TensorRT, CoreML ve TFLite gibi optimize edilmiş formatlara dönüştür. Dağıtım dokümantasyonuna bak.

Dışa Aktarımları Listele

GET /api/exports

Sorgu Parametreleri:

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

Dışa Aktarma Oluştur

POST /api/exports

Gövde:

AlanTürGerekliAçıklama
modelIdstringEvetKaynak model kimliği
formatstringEvetDışa aktarma formatı (aşağıdaki tabloya bak)
gpuTypestringKoşulluformat engine (TensorRT) olduğunda gereklidir
argsnesneHayırDışa aktarma argümanları (imgsz, half, dynamic vb.)
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

Desteklenen Formatlar:

FormatDeğerKullanım Durumu
ONNXonnxPlatformlar arası çıkarım
TorchScripttorchscriptPyTorch dağıtımı
OpenVINOopenvinoIntel donanımı
TensorRTengineNVIDIA GPU optimizasyonu
CoreMLcoremlApple cihazları
TFLitetfliteMobil ve gömülü sistemler
TF SavedModelsaved_modelTensorFlow Serving
TF GraphDefpbTensorFlow dondurulmuş grafik (frozen graph)
PaddlePaddlepaddleBaidu PaddlePaddle
NCNNncnnMobil sinir ağı
Edge TPUedgetpuGoogle Coral cihazları
TF.jstfjsTarayıcıda çı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 Aktarma Durumunu Al

GET /api/exports/{exportId}

Dışa Aktarmayı İptal Et

DELETE /api/exports/{exportId}

Dışa Aktarma İndirmesini Takip Et

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

Etkinlik API'si

Hesabındaki son eylemlerin (eğitim çalışmaları, yüklemeler ve daha fazlası) bir akışını görüntüle. Etkinlik dokümantasyonuna bak.

Yalnızca Tarayıcı Oturumu

Etkinlik yolları, platform kullanıcı arayüzünden gelen tarayıcı kimlik doğrulamalı isteklerle desteklenir. Genel bir API olarak açık değildir, API anahtarı kimlik doğrulamasını kabul etmez ve aşağıdaki yol şemaları yalnızca referans amaçlıdır. Etkinlikleri görüntülemek, işaretlemek veya arşivlemek için platform kullanıcı arayüzündeki Etkinlik akışını kullan.

Etkinlikleri Listele

GET /api/activity

Sorgu Parametreleri:

ParametreTürAçıklama
limitintSayfa boyutu (varsayılan: 20, maks: 100)
pageintSayfa numarası (varsayılan: 1)
archivedbooleanArşiv sekmesi için true, Gelen Kutusu için false
searchstringEtkinlik alanlarında büyük/küçük harfe duyarlı olmayan arama

Etkinlikleri Görüntülendi Olarak İşaretle

POST /api/activity/mark-seen

Gövde:

{
    "all": true
}

Veya belirli kimlikleri gönder:

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

Etkinlikleri Arşivle

POST /api/activity/archive

Gövde:

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

Veya belirli kimlikleri gönder:

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

Çöp Kutusu API'si

Silinmiş öğeleri görüntüle ve geri yükle. Öğeler 30 gün sonra kalıcı olarak silinir. Çöp Kutusu dokümantasyonuna bak.

Çö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 (varsayılan: 50, maks: 200)
ownerstringÇalışma alanı sahibinin 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 alınamaz

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

Çöp Kutusunu Boşalt

DELETE /api/trash/empty

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

Kimlik Doğrulama

DELETE /api/trash/empty doğrulanmış bir tarayıcı oturumu gerektirir ve API anahtarı ile kullanılamaz. Bunun yerine kullanıcı arayüzündeki Çöp Kutusunu Boşalt düğmesini kullan.


Faturalandırma API'si

Kredi bakiyeni kontrol et, kredi satın al, işlem geçmişini görüntüle ve otomatik yüklemeyi yapılandır. Faturalandırma dokümantasyonuna bak.

Para Birimi Birimleri

Billing amounts use cents (creditsCents) where 100 = $1.00.

Bakiyeyi Al

GET /api/billing/balance

Sorgu Parametreleri:

ParametreTürAçıklama
ownerstringÇalışma alanı sahibinin 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 detaylarını, limitleri ve kullanım metriklerini döndürür.

İşlemleri Al

GET /api/billing/transactions

İşlem geçmişini döndürür (en yenisi ilk sırada).

Sorgu Parametreleri:

ParametreTürAçıklama
ownerstringÇalışma alanı sahibinin 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)
ownerstringHayırÇalışma alanı 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)

Aboneliği İptal Et veya Sürdür

DELETE /api/billing/subscription-checkout

Varsayılan olarak bir Pro aboneliğini dönem sonunda iptal eder. Faturalandırma dönemi bitmeden önce planlanmış bir iptali sürdürmek için {"resume": true} gönder.

Gövde:

{
    "resume": true
}

Otomatik Yükleme

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

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

GET /api/billing/auto-topup

Sorgu Parametreleri:

ParametreTürAçıklama
ownerstringÇalışma alanı sahibinin 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 gizli anahtarı döndürür.

Varsayılan Ödeme Yöntemini Ayarla

POST /api/billing/payment-methods/default

Gövde:

{
    "paymentMethodId": "pm_123"
}

Faturalandırma 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 kullanım dökümünü kategoriye (veri setleri, modeller, dışa aktarımlar) göre kontrol et ve en büyük öğelerini gör.

Yalnızca tarayıcı oturumu

Depolama rotaları aktif bir platform tarayıcı oturumu gerektirir ve API anahtarı ile erişilemez. Etkileşimli dökümler için arayüzdeki Ayarlar > Profil sayfasını kullan.

Depolama Bilgilerini 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"
            }
        ]
    }
}

Yükleme API'si

Hızlı ve güvenilir transferler için imzalı URL'leri kullanarak dosyaları doğrudan bulut depolamaya yükle. İki adımlı bir akış kullanır: imzalı bir URL al ve ardından dosyayı yükle. Veri belgelerine göz at.

İmzalı Yükleme URL'si Al

POST /api/upload/signed-url

Doğrudan bulut depolamaya dosya yüklemek için imzalı bir URL talep et. İmzalı URL, büyük dosya transferleri 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

Platforma dosya yüklemesinin tamamlandığını bildir, böylece işleme 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

Programatik erişim için API anahtarlarını yönet. API Anahtarları belgelerine göz at.

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 YOUR_API_KEY" \
  "https://platform.ultralytics.com/api/api-keys?keyId=KEY_ID"

Ekipler ve Üyeler API'si

Ekip çalışma alanları oluştur, üyeleri davet et ve iş birliği için rolleri yönet. Ekipler belgelerine göz at.

Ekipleri Listele

GET /api/teams

Ekip 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
editorKaynak oluşturma, düzenleme ve silme
adminÜyeleri, faturalandırmayı ve tüm kaynakları yönet (yalnızca ekip sahibi tarafından atanabilir)

Ekip owner'ı oluşturucudur ve davet edilemez. Sahiplik, POST /api/members/transfer-ownership aracılığıyla ayrı olarak devredilir. Tam rol ayrıntıları için Ekipler sayfasına göz at.

Üye Rolünü Güncelle

PATCH /api/members/{userId}

Üyeyi Kaldır

DELETE /api/members/{userId}

Sahipliği Devret

POST /api/members/transfer-ownership

Davetler

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

Keşfet API'si

Topluluk tarafından paylaşılan herkese açık veri setlerini ve projeleri ara ve göz at. Keşfet belgelerine göz at.

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.

Kenar Çubuğu Verileri

GET /api/explore/sidebar

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


Kullanıcı ve Ayarlar API'leri

Profilini, API anahtarlarını, depolama kullanımını ve veri gizliliği ayarlarını yönet. Ayarlar belgelerine göz at.

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

GET /api/users

Sorgu Parametreleri:

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

Kullanıcıyı Takip Et veya Takipten Çık

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ı: Kullanıcı adı alınmışsa bir öneri içermek için true

Ayarlar

GET /api/settings
POST /api/settings

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

Profil Simgesi

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

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

İşe Alım

POST /api/onboarding

İşe alım sürecini tamamla (veri bölgesi, kullanıcı adı ayarla).


GDPR API'si

Tüm verilerinin dışa aktarılmasını talep et veya hesabını kalıcı olarak sil. Ayarlar belgelerine göz at.

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, bir downloadUrl içerir.

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 Dönülemez İşlem

Hesap silme 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 verisi
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.

Kurulum & Ayarlar

pip install ultralytics

Kurulumu doğrula:

yolo check
Paket Sürümü Gereksinimi

Platform entegrasyonu ultralytics>=8.4.35 gerektirir. Daha düşük sürümler Platform ile çalışmaz.

Kimlik Doğrulama

yolo settings api_key=YOUR_API_KEY

Platform Veri Kümelerini Kullanma

Veri kümelerini ul:// URI'leri ile referans göster:

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ı:

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

Platform'a Gönderme

Sonuçları bir Platform projesine gönder:

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

Neler eşitlenir:

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

API Örnekleri

Platform'dan bir model yükle:

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

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

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

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:

# 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/datasets/my-dataset")

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

Web kancaları

Platform, ultralytics Python SDK'sından (bulut GPU'larda veya uzak/yerel makinelerde çalışan) Platform'a gerçek zamanlı eğitim metriklerini — epoch bazında kayıp, mAP, sistem istatistikleri ve tamamlama durumu — akıtmak için dahili web kancaları kullanır. Bu web kancaları, eğitim işi başına sağlanan HMAC webhookSecret ile doğrulanır ve kullanıcı uygulamaları tarafından tüketilmesi amaçlanmamıştır.

Kendi tarafında çalışma

Tüm planlar: ultralytics SDK aracılığıyla eğitim ilerlemesi (gerçek zamanlı metrikler, tamamlama bildirimleri) her planda otomatik olarak çalışır — eğitim sırasında project=username/my-project name=my-run ayarını yapman yeterlidir; SDK olayları Platform'a geri aktarır. Kullanıcı tarafında web kancası kaydı gerekmez.

Kullanıcıya yönelik web kancası abonelikleri (kontrol ettiğin bir URL'ye POST geri aramaları) Enterprise yol haritasındadır ve şu anda mevcut değildir. Bu süre zarfında, durum için GET /api/models/{modelId}/training uç noktasını sorgula veya arayüzdeki etkinlik akışını kullan.


SSS

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

Çoğu uç nokta, istek başına kaç sonucun döndürüleceğini kontrol etmek için bir limit parametresi kullanır:

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

Etkinlik (Activity) ve Çöp Kutusu (Trash) uç noktaları, sayfa tabanlı sayfalandırma için bir page parametresini de destekler:

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

The Explore Search endpoint uses offset instead of page, with a fixed page size of 20:

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

API'yi SDK olmadan kullanabilir miyim?

Evet, tüm işlevler REST aracılığıyla kullanılabilir. Python SDK, gerçek zamanlı metrik akışı ve otomatik model yüklemeleri gibi özellikler ekleyen kullanışlı bir sarmalayıcıdır. Ayrıca tüm uç noktaları platform.ultralytics.com/api/docs adresinden etkileşimli olarak inceleyebilirsin.

API istemci kütüphaneleri var mı?

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

Hız sınırlarını (rate limits) nasıl yönetirim?

Doğru süre kadar beklemek için 429 yanıtından gelen Retry-After başlığını kullan:

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ğunda döndürülür. Bunları Platform URL'sinde de bulabilirsin:

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

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

Yorumlar