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.

# List your datasets
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://platform.ultralytics.com/api/datasetsTam 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| Kaynak | Açıklama | Temel İşlemler |
|---|---|---|
| Veri setleri | Etiketli görüntü koleksiyonları | CRUD, görüntüler, etiketler, dışa aktarma, sürümler, klonlama |
| Projeler | Eğitim çalışma alanları | CRUD, klonlama, simge |
| Modeller | Eğ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 Aktarmalar | Format dönüştürme işleri | Oluşturma, durum, indirme |
| Eğitim | Bulut GPU eğitim işleri | Başlatma, durum, iptal etme |
| Faturalandırma | Krediler ve abonelikler | Bakiye, 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
- Go to
Settings>API Keys - Click
Create Key - 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_KEYAPI 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/datasetsTemel 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.000ZAPI 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ç Nokta | Sınır | Uygulama Alanı |
|---|---|---|
| Varsayılan | 100 istek/dk | Aşağıda listelenmeyen tüm uç noktalar (liste, al, oluştur, güncelle, sil) |
| Eğitim | 10 istek/dk | Bulut eğitim işlerini başlatma (POST /api/training/start) |
| Yükle | 10 istek/dk | Dosya yüklemeleri, imzalı URL'ler ve veri seti alımı |
| Tahmin Et (Predict) | 20 istek/dk | Paylaşılan model çıkarımı (POST /api/models/{id}/predict) |
| Dışa Aktar | 20 istek/dk | Model formatı dışa aktarmaları (POST /api/exports), veri seti NDJSON dışa aktarmaları ve sürüm oluşturma |
| İndirme | 30 istek/dk | Model ağırlık dosyası indirmeleri (GET /api/models/{id}/download) |
| Özel | Sı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.
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 Durumu | Anlamı |
|---|---|
200 | Başarılı |
201 | Oluşturuldu |
400 | Geçersiz istek |
401 | Kimlik doğrulama gerekli |
403 | Yetersiz izinler |
404 | Kaynak bulunamadı |
409 | Çakışma (kopya) |
429 | Hız sınırı aşıldı |
500 | Sunucu 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/datasetsSorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
username | string | Kullanıcı adına göre filtrele |
slug | string | Belirli bir veri kümesini slug değerine göre getir |
limit | int | Sayfa başına öğe sayısı (varsayılan: 20, maksimum: 500) |
owner | string | Ç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/datasetsGövde:
{
"slug": "my-dataset",
"name": "My Dataset",
"task": "detect",
"description": "A custom detection dataset",
"visibility": "private",
"classNames": ["person", "car"]
}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}/cloneVeri 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}/exportEn 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:
| Parametre | Tür | Açıklama |
|---|---|---|
v | integer | Sü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}/exportVeri 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}/exportMevcut 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-statsSı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}/modelsBu 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}/predictEtiketleri 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:
| Alan | Tür | Gerekli | Açıklama |
|---|---|---|---|
imageHash | string | Evet | Etiketlenecek resmin özeti (hash değeri) |
modelId | string | Hayır | Çıkarım için kullanılacak model kimliği |
confidence | float | Hayır | Güven eşiği (varsayılan: 0.25) |
iou | float | Hayır | IoU eşiği (varsayılan: 0.45) |
Veri Kümesi Alımı
POST /api/datasets/ingestResimler 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}/imagesSorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
split | string | Ayrıma göre filtrele: train, val, test |
offset | int | Sayfalandırma ofseti (varsayılan: 0) |
limit | int | Sayfa başına öğe sayısı (varsayılan: 50, maksimum: 5000) |
sort | string | Sı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) |
hasLabel | string | Etiket durumuna göre filtrele (true veya false) |
hasError | string | Hata durumuna göre filtrele (true veya false) |
search | string | Dosya adına veya resim özetine (hash) göre ara |
includeThumbnails | string | İmzalı küçük resim URL'lerini dahil et (varsayılan: true) |
includeImageUrls | string | İmzalı tam resim URL'lerini dahil et (varsayılan: false) |
İmzalı Resim URL'lerini Getir
POST /api/datasets/{datasetId}/images/urlsBir 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}/labelsBelirli 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}/labelsGö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] }
]
}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/bulkResimleri toplu sil:
DELETE /api/datasets/{datasetId}/images/bulkProjeler API'si
Modellerini projeler halinde düzenle. Her model bir projeye aittir. Projeler belgelerine bak.
Projeleri Listele
GET /api/projectsSorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
username | string | Kullanıcı adına göre filtrele |
limit | int | Sayfa başına öğe sayısı |
owner | string | Çalışma alanı sahibinin kullanıcı adı |
Projeyi Getir
GET /api/projects/{projectId}Proje Oluştur
POST /api/projectscurl -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/projectsProjeyi 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}/cloneHerkese 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}/iconProje simgesini kaldır:
DELETE /api/projects/{projectId}/iconHer 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/modelsSorgu Parametreleri:
| Parametre | Tür | Gerekli | Açıklama |
|---|---|---|---|
projectId | string | Evet | Proje Kimliği (gerekli) |
fields | string | Hayır | Alan kümesi: summary, charts |
ids | string | Hayır | Virgülle ayrılmış model kimlikleri |
limit | int | Hayır | Maksimum sonuç (varsayılan 20, maks 100) |
Tamamlanan Modelleri Listele
GET /api/models/completedEğ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/modelsJSON Gövdesi:
| Alan | Tür | Gerekli | Açıklama |
|---|---|---|---|
projectId | string | Evet | Hedef proje kimliği |
slug | string | Hayır | URL uzantısı (küçük harf, sayısal veya tire) |
name | string | Hayır | Görünen ad (maks 100 karakter) |
description | string | Hayır | Model açıklaması (maks 1000 karakter) |
task | string | Hayır | Görev türü (detect, segment, pose, obb, classify) |
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}/filesModel dosyaları için imzalı indirme URL'lerini döndürür.
Modeli Klonla
POST /api/models/{modelId}/cloneGenel 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"
}| Alan | Tür | Gerekli | Açıklama |
|---|---|---|---|
targetProjectSlug | string | Evet | Hedef proje uzantısı |
modelName | string | Hayır | Kopyalanan model için ad |
description | string | Hayır | Model açıklaması |
owner | string | Hayır | Takım kullanıcı adı (çalışma alanı kopyalama için) |
İndirmeyi İzle
POST /api/models/{modelId}/track-downloadModel indirme analizlerini izle.
Çıkarım Çalıştır
POST /api/models/{modelId}/predictÇok Parçalı Form:
| Alan | Tür | Açıklama |
|---|---|---|
file | dosya | Görsel dosyası (JPEG, PNG, WebP) |
conf | float | Güven eşiği (varsayılan: 0.25) |
iou | float | IoU eşiği (varsayılan: 0.7) |
imgsz | int | Piksel 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/predictYanı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/tokenBu 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/warmupIsı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/startcurl -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/startMevcut 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}/trainingBir 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.
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/deploymentsSorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
modelId | string | Modele göre filtrele |
status | string | Duruma göre filtrele |
limit | int | Maksimum sonuç (varsayılan: 20, maks: 100) |
owner | string | Çalışma alanı sahibinin kullanıcı adı |
Dağıtım Oluştur
POST /api/deploymentsGövde:
{
"modelId": "model_abc123",
"name": "my-deployment",
"region": "us-central1",
"resources": {
"cpu": 1,
"memoryGi": 2,
"minInstances": 0,
"maxInstances": 1
}
}| Alan | Tür | Gerekli | Açıklama |
|---|---|---|---|
modelId | string | Evet | Dağıtılacak Model Kimliği |
name | string | Evet | Dağıtım adı |
region | string | Evet | Dağıtım bölgesi |
resources | nesne | Hayır | Kaynak 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.
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.
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}/startDurdurulmuş 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}/healthDağı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:
| Alan | Tür | Açıklama |
|---|---|---|
file | dosya | Görsel dosyası (JPEG, PNG, WebP) |
conf | float | Güven eşiği (varsayılan: 0.25) |
iou | float | IoU eşiği (varsayılan: 0.7) |
imgsz | int | Piksel 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:
| Parametre | Tür | Açıklama |
|---|---|---|
range | string | Zaman aralığı: 1h, 6h, 24h (varsayılan), 7d, 30d |
sparkline | string | Gösterge paneli görünümü için optimize edilmiş sparkline verisi istiyorsan true olarak ayarla |
Günlükleri Al
GET /api/deployments/{deploymentId}/logsSorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
severity | string | Virgülle ayrılmış filtre: DEBUG, INFO, WARNING, ERROR, CRITICAL |
limit | int | Girdi sayısı (varsayılan: 50, maks: 200) |
pageToken | string | Önceki yanıttan gelen sayfalama belirteci |
İzleme API'si
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/monitoringTü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/exportsSorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
modelId | string | Model Kimliği (gerekli) |
status | string | Duruma göre filtrele |
limit | int | Maksimum sonuç (varsayılan: 20, maks: 100) |
Dışa Aktarma Oluştur
POST /api/exportsGövde:
| Alan | Tür | Gerekli | Açıklama |
|---|---|---|---|
modelId | string | Evet | Kaynak model kimliği |
format | string | Evet | Dışa aktarma formatı (aşağıdaki tabloya bak) |
gpuType | string | Koşullu | format engine (TensorRT) olduğunda gereklidir |
args | nesne | Hayır | Dış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/exportsDesteklenen Formatlar:
| Format | Değer | Kullanım Durumu |
|---|---|---|
| ONNX | onnx | Platformlar arası çıkarım |
| TorchScript | torchscript | PyTorch dağıtımı |
| OpenVINO | openvino | Intel donanımı |
| TensorRT | engine | NVIDIA GPU optimizasyonu |
| CoreML | coreml | Apple cihazları |
| TFLite | tflite | Mobil ve gömülü sistemler |
| TF SavedModel | saved_model | TensorFlow Serving |
| TF GraphDef | pb | TensorFlow dondurulmuş grafik (frozen graph) |
| PaddlePaddle | paddle | Baidu PaddlePaddle |
| NCNN | ncnn | Mobil sinir ağı |
| Edge TPU | edgetpu | Google Coral cihazları |
| TF.js | tfjs | Tarayıcıda çıkarım |
| MNN | mnn | Alibaba mobil çıkarımı |
| RKNN | rknn | Rockchip NPU |
| IMX | imx | Sony IMX500 sensörü |
| Axelera | axelera | Axelera AI hızlandırıcıları |
| ExecuTorch | executorch | Meta 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-downloadEtkinlik 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.
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/activitySorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
limit | int | Sayfa boyutu (varsayılan: 20, maks: 100) |
page | int | Sayfa numarası (varsayılan: 1) |
archived | boolean | Arşiv sekmesi için true, Gelen Kutusu için false |
search | string | Etkinlik alanlarında büyük/küçük harfe duyarlı olmayan arama |
Etkinlikleri Görüntülendi Olarak İşaretle
POST /api/activity/mark-seenGövde:
{
"all": true
}Veya belirli kimlikleri gönder:
{
"eventIds": ["EVENT_ID_1", "EVENT_ID_2"]
}Etkinlikleri Arşivle
POST /api/activity/archiveGö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/trashSorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
type | string | Filtre: all, project, dataset, model |
page | int | Sayfa numarası (varsayılan: 1) |
limit | int | Sayfa başına öğe (varsayılan: 50, maks: 200) |
owner | string | Çalışma alanı sahibinin kullanıcı adı |
Öğeyi Geri Yükle
POST /api/trashGövde:
{
"id": "item_abc123",
"type": "dataset"
}Öğeyi Kalıcı Olarak Sil
DELETE /api/trashGövde:
{
"id": "item_abc123",
"type": "dataset"
}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.
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.
Billing amounts use cents (creditsCents) where 100 = $1.00.
Bakiyeyi Al
GET /api/billing/balanceSorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
owner | string | Ç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-summaryPlan 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:
| Parametre | Tür | Açıklama |
|---|---|---|
owner | string | Çalışma alanı sahibinin kullanıcı adı |
Ödeme Oturumu Oluştur
POST /api/billing/checkout-sessionGövde:
{
"amount": 25,
"owner": "team-username"
}| Alan | Tür | Gerekli | Açıklama |
|---|---|---|---|
amount | sayı | Evet | Dolar cinsinden tutar ($5-$1000) |
owner | string | Hayı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-checkoutPro abonelik yükseltmesi için bir ödeme oturumu oluşturur.
Gövde:
{
"planId": "pro",
"billingCycle": "monthly",
"owner": "team-username"
}| Alan | Tür | Gerekli | Açıklama |
|---|---|---|---|
planId | string | Evet | Abone olunacak plan (pro) |
billingCycle | string | Hayır | Faturalandırma döngüsü: monthly (varsayılan) veya yearly |
owner | string | Hayı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-checkoutVarsayı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-topupSorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
owner | string | Çalışma alanı sahibinin kullanıcı adı |
Otomatik Yükleme Yapılandırmasını Güncelle
PATCH /api/billing/auto-topupGövde:
{
"enabled": true,
"thresholdCents": 500,
"amountCents": 2500
}Ödeme Yöntemleri
Ödeme Yöntemlerini Listele
GET /api/billing/payment-methodsKurulum Amacı Oluştur
POST /api/billing/payment-methods/setupYeni 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/defaultGövde:
{
"paymentMethodId": "pm_123"
}Faturalandırma Bilgilerini Güncelle
PATCH /api/billing/payment-methodsGö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.
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/storageYanı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-urlDoğ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
}| Alan | Tür | Açıklama |
|---|---|---|
assetType | string | Varlık türü: models, datasets, images, videos |
assetId | string | Hedef varlığın kimliği |
filename | string | Orijinal dosya adı |
contentType | string | MIME türü |
totalBytes | int | Bayt 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/completePlatforma 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-keysAPI Anahtarı Oluştur
POST /api/api-keysGövde:
{
"name": "training-server"
}API Anahtarını Sil
DELETE /api/api-keysSorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
keyId | string | İ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/teamsEkip Oluştur
POST /api/teams/createGövde:
{
"username": "my-team",
"fullName": "My Team"
}Üyeleri Listele
GET /api/membersMevcut çalışma alanının üyelerini döndürür.
Üye Davet Et
POST /api/membersGövde:
{
"email": "user@example.com",
"role": "editor"
}| Rol | İzinler |
|---|---|
viewer | Çalışma alanı kaynaklarına salt okunur erişim |
editor | Kaynak 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-ownershipDavetler
Daveti Kabul Et
POST /api/invites/acceptDavet Bilgisini Al
GET /api/invites/infoSorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
token | string | Davet jetonu |
Daveti İptal Et
DELETE /api/invites/{inviteId}Daveti Yeniden Gönder
POST /api/invites/{inviteId}/resendKeş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/searchSorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
q | string | Arama sorgusu |
type | string | Kaynak türü: all (varsayılan), projects, datasets |
sort | string | Sıralama düzeni: stars (varsayılan), newest, oldest, name-asc, name-desc, count-desc, count-asc |
offset | int | Sayfalama ofseti (varsayılan: 0). Sonuçlar sayfa başına 20 öğe döndürür. |
Kenar Çubuğu Verileri
GET /api/explore/sidebarKeş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/usersSorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
username | string | Aranacak kullanıcı adı |
Kullanıcıyı Takip Et veya Takipten Çık
PATCH /api/usersGövde:
{
"username": "target-user",
"followed": true
}Kullanıcı Adı Uygunluğunu Kontrol Et
GET /api/username/checkSorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
username | string | Kontrol edilecek kullanıcı adı |
suggest | bool | İsteğe bağlı: Kullanıcı adı alınmışsa bir öneri içermek için true |
Ayarlar
GET /api/settings
POST /api/settingsKullanı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/iconProfil 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/gdprSorgu Parametreleri:
| Parametre | Tür | Açıklama |
|---|---|---|
jobId | string | Kontrol 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/gdprGövde:
{
"action": "export"
}{
"action": "delete",
"confirmationWord": "DELETE"
}Ekip çalışma alanları için isteğe bağlı:
{
"action": "delete",
"confirmationWord": "DELETE",
"teamUsername": "my-team"
}Hesap silme kalıcıdır ve geri alınamaz. Tüm veriler, modeller ve dağıtımlar silinecektir.
Hata Kodları
| Kod | HTTP Durumu | Açıklama |
|---|---|---|
UNAUTHORIZED | 401 | Geçersiz veya eksik API anahtarı |
FORBIDDEN | 403 | Yetersiz izinler |
NOT_FOUND | 404 | Kaynak bulunamadı |
VALIDATION_ERROR | 400 | Geçersiz istek verisi |
RATE_LIMITED | 429 | Çok fazla istek |
INTERNAL_ERROR | 500 | Sunucu 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 ultralyticsKurulumu doğrula:
yolo checkPlatform 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_KEYPlatform 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ı:
| Desen | Açıklama |
|---|---|
ul://username/datasets/slug | Veri Kümesi |
ul://username/project-name | Proje |
ul://username/project/model-name | Belirli model |
ul://ultralytics/yolo26/yolo26n | Resmi 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 probabilitiesModeli 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.
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.