Meet YOLO26: next-gen vision AI.

Link to this sectionREST API 레퍼런스#

Ultralytics Platform은 데이터셋, 모델, 학습 및 배포에 대한 프로그래밍 방식의 액세스를 위해 포괄적인 REST API를 제공합니다.

Ultralytics Platform Api 개요

빠른 시작
# List your datasets
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://platform.ultralytics.com/api/datasets
대화형 API 문서

Ultralytics Platform API 문서에서 전체 대화형 API 레퍼런스를 살펴보십시오.

Link to this sectionAPI 개요#

본 API는 핵심 플랫폼 리소스를 중심으로 구성되어 있습니다:

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
리소스설명주요 작업
데이터셋레이블이 지정된 이미지 컬렉션CRUD, 이미지, 레이블, 내보내기, 버전, 복제
프로젝트학습 워크스페이스CRUD, 복제, 아이콘
모델학습된 체크포인트CRUD, 예측, 다운로드, 복제, 내보내기
배포전용 추론 엔드포인트CRUD, 시작/중지, 메트릭, 로그, 상태
내보내기형식 변환 작업생성, 상태, 다운로드
학습클라우드 GPU 학습 작업시작, 상태, 취소
결제크레딧 및 구독잔액, 충전, 결제 수단
워크스페이스 협업멤버, 초대, 역할

Link to this section인증#

데이터셋, 프로젝트, 모델, 학습, 내보내기 및 예측과 같은 리소스 API는 API 키 인증을 사용합니다. 공개 엔드포인트(공개 데이터셋, 프로젝트 및 모델 나열)는 키 없이 익명 읽기 액세스를 지원합니다. 활동, 설정, 팀, 결제 및 GDPR 흐름을 포함한 계정 관련 경로는 현재 인증된 브라우저 세션이 필요하며 API 키를 통해서는 사용할 수 없습니다.

Link to this sectionAPI 키 가져오기#

  1. Settings > API Keys로 이동하십시오.
  2. Create Key를 클릭하십시오.
  3. 생성된 키를 복사합니다.

자세한 지침은 API 키를 참조하십시오.

Link to this section인증 헤더#

모든 요청에 API 키를 포함하십시오:

Authorization: Bearer YOUR_API_KEY
API 키 형식

API 키는 ul_ 뒤에 40자의 16진수 문자가 오는 형식을 사용합니다. 키를 비밀로 유지하십시오. 버전 제어 시스템에 커밋하거나 공개적으로 공유해서는 안 됩니다.

Link to this section예시#

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

Link to this section기본 URL#

모든 API 엔드포인트는 다음을 사용합니다:

https://platform.ultralytics.com/api

Link to this section속도 제한(Rate Limits)#

본 API는 남용으로부터 보호하면서 합법적인 사용을 제한하지 않기 위해 (Upstash Redis 기반 슬라이딩 윈도우 방식의) API 키당 속도 제한을 시행합니다. 익명 트래픽은 Vercel 플랫폼 수준의 남용 방지 제어를 통해 추가로 보호됩니다.

제한 속도에 도달하면 API는 재시도 메타데이터와 함께 429 상태 코드를 반환합니다:

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

Link to this sectionAPI 키별 제한#

속도 제한은 호출되는 엔드포인트에 따라 자동으로 적용됩니다. 비용이 많이 드는 작업은 남용 방지를 위해 더 엄격한 제한이 적용되며, 표준 CRUD 작업은 다음과 같은 관대한 기본값을 공유합니다:

엔드포인트제한적용 대상
기본값분당 100회 요청아래 나열되지 않은 모든 엔드포인트(목록 조회, 가져오기, 생성, 업데이트, 삭제)
학습분당 10회 요청클라우드 학습 작업 시작 (POST /api/training/start)
업로드분당 10회 요청파일 업로드, 서명된 URL, 데이터셋 수집
예측분당 20회 요청공유 모델 추론 (POST /api/models/{id}/predict)
내보내기분당 20회 요청모델 형식 내보내기 (POST /api/exports), 데이터셋 NDJSON 내보내기 및 버전 생성
다운로드분당 30회 요청모델 가중치 파일 다운로드 (GET /api/models/{id}/files)
전용무제한전용 엔드포인트 — 자체 서비스, API 제한 없음

각 범주는 API 키당 독립적인 카운터를 가집니다. 예를 들어, 20회의 예측 요청을 수행해도 분당 100회 요청인 기본 허용량에는 영향을 주지 않습니다.

Link to this section전용 엔드포인트 (무제한)#

전용 엔드포인트API 키 속도 제한의 적용을 받지 않습니다. 모델을 전용 엔드포인트에 배포하면 해당 엔드포인트 URL(예: https://predict-abc123.run.app/predict)로의 요청은 플랫폼의 속도 제한 없이 귀하의 전용 서비스로 직접 전달됩니다. 컴퓨팅 자원에 대해 비용을 지불하시므로, 공유 API 제한이 아닌 귀하의 전용 서비스 구성에 따른 처리량을 얻게 됩니다.

속도 제한 처리

429 상태 코드를 받으면 재시도하기 전에 Retry-After 헤더 값을 기다리거나 (또는 X-RateLimit-Reset 시간까지) 대기하십시오. 지수 백오프 구현 방법은 속도 제한 FAQ를 참조하십시오.

Link to this section응답 형식#

Link to this section성공 응답#

응답은 리소스별 필드를 포함하는 JSON을 반환합니다:

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

Link to this section오류 응답#

{
    "error": "Dataset not found"
}
HTTP 상태의미
200성공
201생성됨
400잘못된 요청
401인증 필요
403권한 부족
404리소스 찾을 수 없음
409충돌 (중복)
429요청 한도 초과
500서버 오류

Link to this section데이터셋 API#

YOLO 모델 학습을 위한 라벨링된 이미지 데이터셋을 생성, 검색 및 관리합니다. 데이터셋 문서를 참조하십시오.

Link to this section데이터셋 목록 조회#

GET /api/datasets

쿼리 매개변수:

파라미터유형설명
username문자열(string)사용자 이름으로 필터링
slug문자열(string)슬러그(slug)로 단일 데이터셋 가져오기
limit정수(int)페이지당 항목 수 (기본값: 1000, 최대값: 1000)
owner문자열(string)워크스페이스 소유자 사용자 이름
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://platform.ultralytics.com/api/datasets?limit=10"

응답:

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

Link to this section데이터셋 가져오기#

GET /api/datasets/{datasetId}

메타데이터, 클래스 이름 및 분할 개수를 포함한 전체 데이터셋 세부 정보를 반환합니다.

Link to this section데이터셋 생성#

POST /api/datasets

본문:

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

유효한 task 값: detect, segment, semantic, classify, pose, obb.

Link to this section데이터셋 업데이트#

PATCH /api/datasets/{datasetId}

본문 (부분 업데이트):

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

Link to this section데이터셋 아이콘#

데이터셋 아이콘 업로드(이미지 파일이 포함된 multipart form):

POST /api/datasets/{datasetId}/icon

데이터셋 아이콘 삭제:

DELETE /api/datasets/{datasetId}/icon

둘 다 활성화된 플랫폼 브라우저 세션이 필요하며, API 키로는 사용할 수 없습니다.

Link to this section데이터셋 삭제#

DELETE /api/datasets/{datasetId}

데이터셋을 소프트 삭제합니다 (휴지통으로 이동되며 30일 동안 복구 가능).

Link to this section데이터셋 복제#

POST /api/datasets/{datasetId}/clone

모든 이미지와 라벨을 포함하여 데이터셋의 복사본을 생성합니다. 공개, 소유 또는 편집 가능한 워크스페이스 데이터셋만 복제할 수 있습니다. 활성 플랫폼 브라우저 세션이 필요하며, API 키를 통해서는 사용할 수 없습니다.

본문 (모든 필드는 선택 사항):

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

Link to this section데이터셋 내보내기#

GET /api/datasets/{datasetId}/export

최신 데이터셋 내보내기에 대한 서명된 다운로드 URL이 포함된 JSON 응답을 반환합니다.

쿼리 매개변수:

파라미터유형설명
v정수버전 번호 (1부터 시작). 생략 시 최신(캐시되지 않은) 내보내기를 반환합니다.

응답:

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

Link to this section데이터셋 버전 생성#

POST /api/datasets/{datasetId}/export

데이터셋의 번호가 지정된 새 버전 스냅샷을 생성합니다. 소유자 전용입니다. 버전은 현재 이미지 수, 클래스 수, 어노테이션 수 및 분할 분포를 캡처한 다음 변경 불가능한 NDJSON 내보내기를 생성하고 저장합니다.

요청 본문:

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

모든 필드는 선택 사항입니다. description 필드는 사용자가 제공한 버전 라벨입니다.

응답:

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

Link to this section버전 설명 업데이트#

PATCH /api/datasets/{datasetId}/export

기존 버전의 설명을 업데이트합니다. 소유자 전용입니다.

요청 본문:

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

응답:

{
    "ok": true
}

Link to this section클래스 통계 가져오기#

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

클래스 분포, 위치 히트맵 및 차원 통계를 반환합니다. 결과는 최대 5분까지 캐시됩니다.

응답:

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

Link to this section클래스 관리#

클래스 병합(소스 클래스에서 대상 클래스로 어노테이션을 재할당한 후 소스 클래스 삭제):

POST /api/datasets/{datasetId}/classes/merge

클래스 삭제:

POST /api/datasets/{datasetId}/classes/delete

Link to this section데이터 분할 재배포#

POST /api/datasets/{datasetId}/splits/redistribute

학습/검증/테스트 분할 간 이미지를 재할당합니다. 세 가지 작업 모두 활성 플랫폼 브라우저 세션이 필요하며, API 키를 통해서는 사용할 수 없습니다.

Link to this section데이터셋 임베딩#

GET /api/datasets/{datasetId}/embeddings
POST /api/datasets/{datasetId}/embeddings
DELETE /api/datasets/{datasetId}/embeddings

GET은 현재 UMAP 분석 요약 및 활성 작업 상태를 반환합니다. POST는 임베딩 분석 작업을 대기열에 추가하며, DELETE는 활성 작업을 취소합니다.

Link to this section이미지 클러스터링#

GET /api/datasets/{datasetId}/images/clustering

클러스터링 산점도 뷰를 위한 UMAP 2D 레이아웃 및 이미지별 메타데이터를 반환합니다(페이징 및 속도 제한 적용).

Link to this section데이터셋으로 학습된 모델 가져오기#

GET /api/datasets/{datasetId}/models

이 데이터셋을 사용하여 학습된 모델들을 반환합니다.

응답:

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

Link to this section데이터셋 자동 어노테이션#

POST /api/datasets/{datasetId}/predict

데이터셋 이미지에서 YOLO 추론을 실행하여 어노테이션을 자동 생성합니다. 선택한 모델을 사용하여 라벨이 지정되지 않은 이미지의 라벨을 예측합니다.

본문:

필드유형필수설명
imageHash문자열(string)어노테이션할 이미지의 해시
modelId문자열(string)아니요추론에 사용할 모델이며, ul:// URI 형식을 따릅니다(예: ul://username/project/model). 생략 시 데이터셋의 작업별 기본 모델이 사용됩니다.
confidence부동 소수점(float)아니요신뢰도 임계값 (기본값: 0.25)
iou부동 소수점(float)아니요IoU 임계값 (기본값: 0.7)

Link to this section데이터셋 수집(Ingest)#

POST /api/datasets/ingest

이미지와 라벨이 포함된 .tar.gz.tgz를 포함한 업로드된 ZIP 또는 TAR 파일을 처리하기 위한 데이터셋 수집 작업을 생성합니다.

요청 본문에는 sessionId(업로드된 아카이브의 업로드 세션) 또는 sourceUrl(원격 ZIP, TAR, TAR.GZ, TGZ 또는 NDJSON URL) 중 하나가 반드시 포함되어야 하며, 아카이브의 분할 구조를 재정의하기 위한 선택 사항인 targetSplit(train, val 또는 test)을 추가할 수 있습니다.

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]

Link to this section데이터셋 이미지#

Link to this section이미지 목록 조회#

GET /api/datasets/{datasetId}/images

쿼리 매개변수:

파라미터유형설명
split문자열(string)분할(split)별 필터링: train, val, test
offset정수(int)페이지 매김 오프셋 (기본값: 0)
limit정수(int)페이지당 항목 수 (기본값: 50, 최대값: 5000)
sort문자열(string)정렬 순서: newest, oldest, name-asc, name-desc, height-asc, height-desc, width-asc, width-desc, size-asc, size-desc, labels-asc, labels-desc (10만 개 이상의 이미지 데이터셋의 경우 일부 비활성화됨)
hasLabel문자열(string)라벨 상태별 필터링 (true 또는 false)
hasError문자열(string)오류 상태별 필터링 (true 또는 false)
search문자열(string)파일 이름 또는 이미지 해시로 검색
classIds문자열(string)쉼표로 구분된 클래스 ID이며, 지정된 클래스 중 하나라도 포함하는 이미지를 반환합니다.
includeThumbnails문자열(string)서명된 썸네일 URL 포함 (기본값: true)
includeImageUrls문자열(string)서명된 전체 이미지 URL 포함 (기본값: false)

Link to this section서명된 이미지 URL 가져오기#

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

이미지 해시 배치에 대한 서명된 URL을 가져옵니다 (브라우저 표시용).

Link to this section이미지 삭제#

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

Link to this section이미지 라벨 가져오기#

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

특정 이미지에 대한 어노테이션과 클래스 이름을 반환합니다.

Link to this section이미지 라벨 업데이트#

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

본문:

{
    "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] }
    ]
}
좌표 형식

라벨 좌표는 0과 1 사이의 YOLO 정규화 값을 사용합니다. 바운딩 박스는 [x_center, y_center, width, height]를 사용합니다. 세분화 라벨은 다각형 정점의 평면화된 리스트인 segments [x1, y1, x2, y2, ...]를 사용합니다.

Link to this section대량 이미지 작업#

데이터셋 내에서 분할(train/val/test) 간 이미지 이동:

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

대량 이미지 삭제:

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

Link to this section프로젝트 API#

모델을 프로젝트별로 구성하십시오. 각 모델은 하나의 프로젝트에 속합니다. 프로젝트 문서를 참조하십시오.

Link to this section프로젝트 목록 조회#

GET /api/projects

쿼리 매개변수:

파라미터유형설명
username문자열(string)사용자 이름으로 필터링
limit정수(int)페이지당 항목 수
owner문자열(string)워크스페이스 소유자 사용자 이름

Link to this section프로젝트 가져오기#

GET /api/projects/{projectId}

Link to this section프로젝트 생성#

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

Link to this section프로젝트 업데이트#

PATCH /api/projects/{projectId}

Link to this section프로젝트 삭제#

DELETE /api/projects/{projectId}

프로젝트를 소프트 삭제합니다 (휴지통으로 이동).

Link to this section프로젝트 복제#

POST /api/projects/{projectId}/clone

공개 프로젝트(모든 모델 포함)를 내 워크스페이스로 복제합니다. 활성 플랫폼 브라우저 세션이 필요하며 API 키를 통해서는 사용할 수 없습니다.

Link to this section프로젝트 아이콘#

프로젝트 아이콘 업로드 (이미지 파일이 포함된 멀티파트 폼):

POST /api/projects/{projectId}/icon

프로젝트 아이콘 제거:

DELETE /api/projects/{projectId}/icon

둘 다 활성화된 플랫폼 브라우저 세션이 필요하며, API 키로는 사용할 수 없습니다.


Link to this section모델 API#

학습된 YOLO 모델을 관리합니다. 지표 확인, 가중치 다운로드, 추론 실행 및 다른 형식으로의 내보내기가 가능합니다. 모델 문서를 참조하십시오.

Link to this section모델 목록 조회#

GET /api/models

쿼리 매개변수:

파라미터유형필수설명
projectId문자열(string)프로젝트 ID (필수)
fields문자열(string)아니요필드 세트: summary, charts
ids문자열(string)아니요쉼표로 구분된 모델 ID
limit정수(int)아니요최대 결과 수 (기본값 20, 최대 100)

Link to this section완료된 모델 목록 조회#

GET /api/models/completed

학습이 완료된 모델을 반환합니다 (모델 선택기 및 배포 시 사용).

Link to this section모델 조회#

GET /api/models/{modelId}

Link to this section모델 생성#

POST /api/models

JSON 본문:

필드유형필수설명
projectId문자열(string)대상 프로젝트 ID
slug문자열(string)아니요URL 슬러그 (영문 소문자, 숫자/하이픈 조합)
name문자열(string)아니요표시 이름 (최대 100자)
description문자열(string)아니요모델 설명 (최대 1000자)
task문자열(string)아니요태스크 유형 (detect, segment, semantic, pose, obb, classify)
모델 파일 업로드

모델 .pt 파일 업로드는 별도로 처리됩니다. 플랫폼 UI를 사용하여 프로젝트에 모델 파일을 드래그 앤 드롭하십시오.

Link to this section모델 업데이트#

PATCH /api/models/{modelId}

Link to this section모델 삭제#

DELETE /api/models/{modelId}

Link to this section모델 파일 다운로드#

GET /api/models/{modelId}/files

모델 파일에 대한 서명된 다운로드 URL을 반환합니다.

Link to this section모델 복제#

POST /api/models/{modelId}/clone

공개 모델을 본인의 프로젝트 중 하나로 복제합니다. 활성화된 플랫폼 브라우저 세션이 필요하며, API 키로는 사용할 수 없습니다.

본문:

{
    "targetProjectSlug": "my-project",
    "modelName": "cloned-model",
    "description": "Cloned from public model",
    "owner": "team-username"
}
필드유형필수설명
targetProjectSlug문자열(string)대상 프로젝트 슬러그
modelName문자열(string)아니요복제할 모델의 이름
description문자열(string)아니요모델 설명
owner문자열(string)아니요팀 사용자 이름 (워크스페이스 복제용)

Link to this section다운로드 추적#

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

모델 다운로드 분석을 추적합니다.

Link to this section추론 실행#

POST /api/models/{modelId}/predict

멀티파트 폼:

필드유형설명
file파일이미지 또는 비디오 파일(예: JPG, PNG, WebP, BMP, TIFF; MP4, MOV, AVI)
conf부동 소수점(float)신뢰도 임계값 (기본값: 0.25)
iou부동 소수점(float)IoU 임계값 (기본값: 0.7)
imgsz정수(int)이미지 크기 (픽셀 단위, 기본값: 640)
source문자열(string)이미지 URL 또는 base64 인코딩 이미지(file의 대체 수단)

최대 업로드 크기는 100MB입니다.

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

응답:

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

Link to this section예측 토큰 가져오기#

POST /api/models/{modelId}/predict/token
브라우저 세션 전용

이 경로는 인앱 Predict 탭에서 브라우저에서 직접 predict-service로 호출하기 위한 단기 추론 토큰을 발급하는 데 사용됩니다(지연 시간 감소, API 프록시 미사용). 활성화된 플랫폼 브라우저 세션이 필요하며 API 키로는 사용할 수 없습니다. 프로그래밍 방식의 추론을 원하시면 API 키와 함께 POST /api/models/{modelId}/predict를 호출하십시오.

Link to this section모델 웜업#

POST /api/models/{modelId}/predict/warmup
브라우저 세션 전용

웜업 경로는 사용자의 첫 추론 전에 예측 서비스에서 모델의 가중치를 미리 로드하기 위해 Predict 탭에서 사용됩니다. 활성화된 플랫폼 브라우저 세션이 필요하며 API 키로는 사용할 수 없습니다.


Link to this section학습 API#

클라우드 GPU(RTX 2000 Ada부터 B300까지 24가지 GPU 유형)에서 YOLO 학습을 시작하고 진행 상황을 실시간으로 모니터링합니다. 클라우드 학습 문서를 참조하십시오.

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]

Link to this section학습 시작#

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 유형

사용 가능한 GPU 유형에는 rtx-4090, a100-80gb-pcie, a100-80gb-sxm, h100-sxm, rtx-pro-6000, b300 등이 포함됩니다. 가격을 포함한 전체 목록은 클라우드 학습을 참조하십시오.

Link to this sectionGPU 가용성 확인#

GET /api/training/gpu-availability

GPU 유형 ID를 기준으로 현재 GPU 재고 상태(High, Medium, Low 또는 null)를 반환합니다. 인증이 필요 없는 공개 상태이며, 5분마다 캐시됩니다.

Link to this section학습 상태 가져오기#

GET /api/models/{modelId}/training

모델의 현재 학습 작업 상태, 지표 및 진행 상황을 반환합니다. 공개 프로젝트는 익명으로 접근 가능하지만, 비공개 프로젝트는 활성화된 플랫폼 브라우저 세션이 필요합니다(이 경로는 API 키 인증을 지원하지 않습니다).

Link to this section학습 취소#

DELETE /api/models/{modelId}/training

실행 중인 컴퓨팅 인스턴스를 종료하고 작업을 취소됨으로 표시합니다. 활성화된 플랫폼 브라우저 세션이 필요하며, API 키로는 사용할 수 없습니다.


Link to this section배포 API#

상태 확인 및 모니터링을 갖춘 전용 추론 엔드포인트에 모델을 배포합니다. 새 배포는 기본적으로 '0으로 스케일링(scale-to-zero)'을 사용하며, API는 선택적으로 resources 객체를 허용합니다. 엔드포인트 문서를 참조하십시오.

경로별 API 키 지원

GET /api/deployments, POST /api/deployments, GET /api/deployments/{deploymentId}, DELETE /api/deployments/{deploymentId} 경로만 API 키 인증을 지원합니다. predict, health, logs, metrics, start, stop 하위 경로는 활성화된 플랫폼 브라우저 세션이 필요합니다. 이들은 인앱 UI를 위한 편의 프록시입니다. 프로그래밍 방식의 추론을 원하시면 배포의 자체 엔드포인트 URL(예: https://predict-abc123.run.app/predict)을 API 키와 함께 직접 호출하십시오. 전용 엔드포인트는 속도 제한이 적용되지 않습니다.

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]

Link to this section배포 목록 조회#

GET /api/deployments

쿼리 매개변수:

파라미터유형설명
modelId문자열(string)모델별 필터링
status문자열(string)상태별 필터링
limit정수(int)최대 결과 수 (기본값: 20, 최대: 100)
owner문자열(string)워크스페이스 소유자 사용자 이름

Link to this section배포 생성#

POST /api/deployments

본문:

{
    "modelId": "model_abc123",
    "name": "my-deployment",
    "region": "us-central1",
    "resources": {
        "cpu": 1,
        "memoryGi": 2,
        "minInstances": 0,
        "maxInstances": 1
    }
}
필드유형필수설명
modelId문자열(string)배포할 모델 ID
name문자열(string)배포 이름
region문자열(string)배포 리전
resources객체아니요리소스 구성 (cpu, memoryGi, minInstances, maxInstances)

지정된 리전에 전용 추론 엔드포인트를 생성합니다. 이 엔드포인트는 고유 URL을 통해 전 세계 어디에서나 접근할 수 있습니다.

기본 리소스

배포 대화 상자는 현재 cpu=1, memoryGi=2, minInstances=0, maxInstances=1의 고정 기본값을 제출합니다. API 경로는 resources 객체를 허용하지만, 플랜 제한에 따라 minInstances0, maxInstances1로 제한됩니다.

리전 선택

지연 시간을 최소화하기 위해 사용자 가까운 리전을 선택하십시오. 플랫폼 UI는 사용 가능한 43개 모든 리전에 대한 예상 지연 시간을 표시합니다.

Link to this section배포 조회#

GET /api/deployments/{deploymentId}

Link to this section배포 삭제#

DELETE /api/deployments/{deploymentId}

Link to this section배포 시작#

POST /api/deployments/{deploymentId}/start

중지된 배포를 재개합니다.

Link to this section배포 중지#

POST /api/deployments/{deploymentId}/stop

실행 중인 배포를 일시 중지합니다 (요금 부과 중지).

Link to this section상태 확인#

GET /api/deployments/{deploymentId}/health

배포 엔드포인트의 상태를 반환합니다.

Link to this section배포에서 추론 실행#

POST /api/deployments/{deploymentId}/predict

이미지를 배포 엔드포인트로 직접 보내 추론을 수행합니다. 모델 예측과 기능적으로 동일하지만 지연 시간을 줄이기 위해 전용 엔드포인트를 통합니다.

멀티파트 폼:

필드유형설명
file파일이미지 파일 (JPEG, PNG, WebP)
conf부동 소수점(float)신뢰도 임계값 (기본값: 0.25)
iou부동 소수점(float)IoU 임계값 (기본값: 0.7)
imgsz정수(int)이미지 크기 (픽셀 단위, 기본값: 640)

Link to this section지표 가져오기#

GET /api/deployments/{deploymentId}/metrics

스파크라인 데이터를 포함한 요청 수, 지연 시간 및 오류율 지표를 반환합니다.

쿼리 매개변수:

파라미터유형설명
range문자열(string)시간 범위: 1h, 6h, 24h (기본값), 7d, 30d
sparkline문자열(string)대시보드 뷰를 위해 최적화된 스파크라인 데이터를 얻으려면 true로 설정하십시오.

Link to this section로그 가져오기#

GET /api/deployments/{deploymentId}/logs

쿼리 매개변수:

파라미터유형설명
severity문자열(string)쉼표로 구분된 필터: DEBUG, INFO, WARNING, ERROR, CRITICAL
limit정수(int)항목 수 (기본값: 50, 최대: 200)
pageToken문자열(string)이전 응답에서 가져온 페이지네이션 토큰

Link to this section모니터링 API#

브라우저 세션 전용

GET /api/monitoring은 UI 전용 경로이며 활성 플랫폼 브라우저 세션이 필요합니다. API 키 인증을 허용하지 않습니다. 배포별 경로(이 역시 브라우저 세션 전용임)를 통해 개별 배포 메트릭을 쿼리하거나 배포된 Cloud Run 서비스에서 Cloud Monitoring 내보내기를 사용하여 프로그래밍 방식으로 액세스하십시오.

Link to this section집계된 메트릭#

GET /api/monitoring

모든 사용자 배포 전반의 집계 메트릭을 반환합니다: 총 요청 수, 활성 배포 수, 오류율 및 평균 지연 시간.


Link to this section내보내기 API#

모델을 에지 배포를 위해 ONNX, TensorRT, CoreML, TFLite와 같은 최적화된 형식으로 변환합니다. 배포 문서를 참조하십시오.

Link to this section내보내기 목록#

GET /api/exports

쿼리 매개변수:

파라미터유형설명
modelId문자열(string)모델 ID (필수)
status문자열(string)상태별 필터링
limit정수(int)최대 결과 수 (기본값: 20, 최대: 100)

Link to this section내보내기 생성#

POST /api/exports

본문:

필드유형필수설명
modelId문자열(string)소스 모델 ID
format문자열(string)내보내기 형식 (아래 표 참조)
gpuType문자열(string)조건부formatengine(TensorRT)인 경우 필수입니다.
args객체아니요내보내기 인수 (imgsz, half, dynamic 등)
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

지원되는 형식:

형식사용 사례
ONNXonnx크로스 플랫폼 추론
TorchScripttorchscriptPyTorch 배포
OpenVINOopenvinoIntel 하드웨어
TensorRTengineNVIDIA GPU 최적화
CoreMLcoremlApple 장치
TFLitetflite모바일 및 임베디드
TF SavedModelsaved_modelTensorFlow Serving
TF GraphDefpbTensorFlow frozen graph
PaddlePaddlepaddleBaidu PaddlePaddle
NCNNncnn모바일 신경망
Edge TPUedgetpuGoogle Coral 장치
TF.jstfjs브라우저 추론
MNNmnnAlibaba 모바일 추론
RKNNrknnRockchip NPU
QualcommqnnQualcomm Snapdragon NPU
IMXimxSony IMX500 센서
AxeleraaxeleraAxelera AI 가속기
ExecuTorchexecutorchMeta ExecuTorch 런타임
DeepXdeepxDeepX NPU 가속기

Link to this section내보내기 상태 가져오기#

GET /api/exports/{exportId}

Link to this section내보내기 취소#

DELETE /api/exports/{exportId}

Link to this section내보내기 다운로드 추적#

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

Link to this section활동 API#

계정에서 최근 수행된 작업(학습 실행, 업로드 등)의 피드를 확인하십시오. 활동 문서를 참조하십시오.

브라우저 세션 전용

활동 경로는 플랫폼 UI에서 브라우저 인증을 받은 요청으로 구동됩니다. 공개 API로 노출되지 않으며 API 키 인증을 허용하지 않습니다. 아래 경로 형태는 참조용으로만 문서화되었습니다. 플랫폼 UI의 활동 피드를 사용하여 이벤트를 확인, 표시 또는 보관하십시오.

Link to this section활동 목록#

GET /api/activity

쿼리 매개변수:

파라미터유형설명
limit정수(int)페이지 크기(기본값: 20, 최대: 100)
page정수(int)페이지 번호(기본값: 1)
archived부울(boolean)보관 탭의 경우 true, 받은 편지함의 경우 false
search문자열(string)이벤트 필드 내 대소문자를 구분하지 않는 검색

Link to this section이벤트를 확인됨으로 표시#

POST /api/activity/mark-seen

본문:

{
    "all": true
}

또는 특정 ID를 전달하십시오:

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

Link to this section이벤트 보관#

POST /api/activity/archive

본문:

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

또는 특정 ID를 전달하십시오:

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

Link to this section휴지통 API#

삭제된 항목을 확인하고 복원하십시오. 항목은 30일 후에 영구적으로 삭제됩니다. 휴지통 문서를 참조하십시오.

Link to this section휴지통 목록#

GET /api/trash

쿼리 매개변수:

파라미터유형설명
type문자열(string)필터: all, project, dataset, model
page정수(int)페이지 번호(기본값: 1)
limit정수(int)페이지당 항목 수(기본값: 50, 최대: 200)
owner문자열(string)워크스페이스 소유자 사용자 이름

Link to this section항목 복원#

POST /api/trash

본문:

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

Link to this section항목 영구 삭제#

DELETE /api/trash

본문:

{
    "id": "item_abc123",
    "type": "dataset"
}
되돌릴 수 없음

영구 삭제는 취소할 수 없습니다. 리소스와 모든 관련 데이터가 제거됩니다.

Link to this section휴지통 비우기#

DELETE /api/trash/empty

휴지통의 모든 항목을 영구적으로 삭제합니다.

인증

DELETE /api/trash/empty는 인증된 브라우저 세션이 필요하며 API 키를 통해 사용할 수 없습니다. 대신 UI에서 휴지통 비우기 버튼을 사용하십시오.


Link to this section결제 API#

크레딧 잔액을 확인하고, 크레딧을 구매하고, 거래 내역을 조회하고, 자동 충전을 구성하십시오. 결제 문서를 참조하십시오.

통화 단위

결제 금액은 센트(creditsCents) 단위를 사용하며 100 = $1.00입니다.

Link to this section잔액 가져오기#

GET /api/billing/balance

쿼리 매개변수:

파라미터유형설명
owner문자열(string)워크스페이스 소유자 사용자 이름

응답:

{
    "creditsCents": 2500,
    "plan": "free"
}

Link to this section사용 요약 가져오기#

GET /api/billing/usage-summary

플랜 세부 정보, 제한 사항 및 사용량 메트릭을 반환합니다.

Link to this section거래 내역 가져오기#

GET /api/billing/transactions

거래 내역을 반환합니다(최근 항목 우선).

쿼리 매개변수:

파라미터유형설명
owner문자열(string)워크스페이스 소유자 사용자 이름

Link to this section결제 세션 생성#

POST /api/billing/checkout-session

본문:

{
    "amount": 25,
    "owner": "team-username"
}
필드유형필수설명
amount숫자달러 금액 ($5-$1000)
owner문자열(string)아니요워크스페이스 충전을 위한 팀 사용자 이름(관리자 역할 필요)

크레딧 구매를 위한 결제 세션을 생성합니다.

Link to this section구독 결제 생성#

POST /api/billing/subscription-checkout

Pro 구독 업그레이드를 위한 결제 세션을 생성합니다.

본문:

{
    "planId": "pro",
    "billingCycle": "monthly",
    "owner": "team-username"
}
필드유형필수설명
planId문자열(string)구독할 플랜 (pro)
billingCycle문자열(string)아니요결제 주기: monthly(기본값) 또는 yearly
owner문자열(string)아니요워크스페이스 업그레이드를 위한 팀 사용자 이름(관리자 역할 필요)

Link to this section구독 취소 또는 재개#

DELETE /api/billing/subscription-checkout

기본적으로 기간 종료 시 Pro 구독을 취소합니다. 결제 기간이 끝나기 전에 이미 예약된 취소를 재개하려면 {"resume": true}를 보내십시오.

본문:

{
    "resume": true
}

Link to this section자동 충전#

잔액이 임계값 아래로 떨어지면 자동으로 크레딧을 추가합니다.

Link to this section자동 충전 설정 가져오기#

GET /api/billing/auto-topup

쿼리 매개변수:

파라미터유형설명
owner문자열(string)워크스페이스 소유자 사용자 이름

Link to this section자동 충전 설정 업데이트#

PATCH /api/billing/auto-topup

본문:

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

Link to this section결제 수단#

Link to this section결제 수단 목록#

GET /api/billing/payment-methods

Link to this sectionSetup Intent 생성#

POST /api/billing/payment-methods/setup

새 결제 수단을 추가하기 위한 클라이언트 시크릿을 반환합니다.

Link to this section기본 결제 수단 설정#

POST /api/billing/payment-methods/default

본문:

{
    "paymentMethodId": "pm_123"
}

Link to this section결제 정보 업데이트#

PATCH /api/billing/payment-methods

본문:

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

Link to this section결제 수단 삭제#

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

Link to this section스토리지 API#

카테고리별(데이터셋, 모델, 내보내기) 스토리지 사용 내역을 확인하고 가장 용량이 큰 항목을 확인합니다.

브라우저 세션 전용

스토리지 경로는 활성 플랫폼 브라우저 세션이 필요하며 API 키를 통해 액세스할 수 없습니다. 대화형 분석은 UI의 설정 > 프로필 페이지를 사용하십시오.

Link to this section스토리지 정보 가져오기#

GET /api/storage

쿼리 매개변수:

파라미터유형설명
details부울(boolean)Set to true to include topItems (largest datasets, models, exports).

응답:

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

Link to this section업로드 API#

서명된 URL을 사용하여 클라우드 스토리지로 파일을 직접 업로드하여 빠르고 안정적인 전송을 수행합니다. 2단계 흐름을 사용합니다: 서명된 URL을 가져온 후 파일을 업로드합니다. 데이터 문서를 참조하십시오.

Link to this section서명된 업로드 URL 가져오기#

POST /api/upload/signed-url

클라우드 스토리지로 직접 파일을 업로드하기 위한 서명된 URL을 요청합니다. 서명된 URL은 대용량 파일 전송 시 API 서버를 우회합니다.

본문:

{
    "assetType": "images",
    "assetId": "abc123",
    "filename": "my-image.jpg",
    "contentType": "image/jpeg",
    "totalBytes": 5242880
}
필드유형설명
assetType문자열(string)에셋 유형: models, datasets, images, videos
assetId문자열(string)대상 에셋의 ID
filename문자열(string)원본 파일명
contentType문자열(string)MIME 유형
totalBytes정수(int)바이트 단위의 파일 크기

응답:

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

Link to this section업로드 완료#

POST /api/upload/complete

파일 업로드가 완료되었음을 플랫폼에 알리고 처리를 시작하도록 합니다.

본문:

{
    "sessionId": "session_abc123",
    "checksum": "<optional sha-256 hex>"
}

Link to this section통합 API#

타사 서비스에서 데이터셋을 가져옵니다. 통합 문서를 참조하십시오.

Link to this sectionRoboflow 가져오기 미리보기#

POST /api/integrations/roboflow/preview

Roboflow API 키를 통해 대량 가져오기 계획을 확인합니다: 워크스페이스 정보, 새로 가져올 프로젝트, 이미 가져온 버전 수(건너뜀) 및 지원되지 않는 프로젝트 유형. Roboflow API 키는 본문에 전달되며 저장되지 않습니다.

Link to this sectionRoboflow에서 가져오기#

POST /api/integrations/roboflow/import

선택한 Roboflow 프로젝트를 워크스페이스로 가져오기 위해 데이터셋 수집 작업을 대기열에 추가합니다. 저장 공간 여유가 필요하며, 각 데이터셋은 귀하의 요금제별 가져오기 크기 제한을 충족해야 합니다.


Link to this sectionAPI 키 API#

프로그래밍 방식의 액세스를 위해 API 키를 관리합니다. API 키 문서를 참조하십시오.

Link to this sectionAPI 키 목록#

GET /api/api-keys

Link to this sectionAPI 키 생성#

POST /api/api-keys

본문:

{
    "name": "training-server"
}

Link to this sectionAPI 키 삭제#

DELETE /api/api-keys

쿼리 매개변수:

파라미터유형설명
keyId문자열(string)취소할 API 키 ID

예시:

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

Link to this section팀 및 멤버 API#

팀 워크스페이스 생성, 멤버 초대 및 협업을 위한 역할 관리. 팀 문서를 참조하십시오.

Link to this section팀 목록#

GET /api/teams

Link to this section팀 생성#

POST /api/teams/create

본문:

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

Link to this section멤버 목록#

GET /api/members

현재 워크스페이스의 멤버를 반환합니다.

Link to this section멤버 초대#

POST /api/members

본문:

{
    "email": "user@example.com",
    "role": "editor"
}
멤버 역할
역할권한
viewer워크스페이스 리소스에 대한 읽기 전용 액세스
editor리소스 생성, 편집 및 삭제
admin멤버, 결제 및 모든 리소스 관리(팀 소유자만 할당 가능)

owner는 생성자이며 초대할 수 없습니다. 소유권은 POST /api/members/transfer-ownership을 통해 별도로 이전됩니다. 전체 역할 세부 정보는 을 참조하십시오.

Link to this section멤버 역할 업데이트#

PATCH /api/members/{userId}

Link to this section멤버 제거#

DELETE /api/members/{userId}

Link to this section소유권 이전#

POST /api/members/transfer-ownership

Link to this section초대#

Link to this section초대 수락#

POST /api/invites/accept

Link to this section초대 정보 가져오기#

GET /api/invites/info

쿼리 매개변수:

파라미터유형설명
token문자열(string)초대 토큰

Link to this section초대 취소#

DELETE /api/invites/{inviteId}

Link to this section초대 재전송#

POST /api/invites/{inviteId}/resend

Link to this section탐색(Explore) API#

커뮤니티가 공유한 공개 데이터셋 및 프로젝트를 검색하고 둘러봅니다. 탐색 문서를 참조하십시오.

Link to this section공개 콘텐츠 검색#

GET /api/explore/search

쿼리 매개변수:

파라미터유형설명
q문자열(string)검색 쿼리
type문자열(string)리소스 유형: all (기본값), projects, datasets
sort문자열(string)정렬 순서: newest(기본값), stars, oldest, name-asc, name-desc, count-desc, count-asc
offset정수(int)페이지네이션 오프셋 (기본값: 0). 결과는 페이지당 20개 항목을 반환합니다.
task문자열(string)선택 사항: 데이터셋 필터링을 위한 쉼표로 구분된 YOLO 작업 유형(detect, segment, semantic, classify, pose, obb)

Link to this section사이드바 데이터#

GET /api/explore/sidebar

탐색 사이드바를 위한 추천 콘텐츠를 반환합니다.


Link to this section사용자 및 설정 API#

프로필, API 키, 스토리지 사용량 및 데이터 개인정보 보호 설정을 관리합니다. 설정 문서를 참조하십시오.

Link to this section사용자 이름으로 사용자 가져오기#

GET /api/users

쿼리 매개변수:

파라미터유형설명
username문자열(string)조회할 사용자 이름

Link to this section사용자 팔로우 또는 언팔로우#

PATCH /api/users

본문:

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

Link to this section사용자 이름 사용 가능 여부 확인#

GET /api/username/check

쿼리 매개변수:

파라미터유형설명
username문자열(string)확인할 사용자 이름
suggestbool선택 사항: 이미 사용 중인 경우 제안을 포함하려면 true로 설정

Link to this section설정#

GET /api/settings
POST /api/settings

사용자 프로필 설정(표시 이름, 소개, 소셜 링크 등)을 가져오거나 업데이트합니다.

Link to this section프로필 아이콘#

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

프로필 아바타를 업로드하거나 제거합니다.

Link to this section온보딩#

POST /api/onboarding

온보딩 흐름 완료(데이터 지역, 사용자 이름 설정).


Link to this sectionGDPR API#

모든 데이터 내보내기를 요청하거나 계정을 영구적으로 삭제합니다. 설정 문서를 참조하십시오.

Link to this sectionGDPR 작업 상태 가져오기#

GET /api/gdpr

쿼리 매개변수:

파라미터유형설명
jobId문자열(string)확인할 GDPR 작업 ID

작업 상태를 반환합니다. 완료된 내보내기 작업의 경우, 응답에 downloadUrl이 포함됩니다.

Link to this section내보내기 또는 삭제 흐름 시작#

POST /api/gdpr

본문:

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

팀 워크스페이스에 대한 선택 사항:

{
    "action": "delete",
    "confirmationWord": "DELETE",
    "teamUsername": "my-team"
}
되돌릴 수 없는 작업

계정 삭제는 영구적이며 취소할 수 없습니다. 모든 데이터, 모델 및 배포가 삭제됩니다.


Link to this section에러 코드#

코드HTTP 상태설명
UNAUTHORIZED401유효하지 않거나 누락된 API 키
FORBIDDEN403권한 부족
NOT_FOUND404리소스 찾을 수 없음
VALIDATION_ERROR400유효하지 않은 요청 데이터
RATE_LIMITED429요청 횟수 초과
INTERNAL_ERROR500서버 오류

Link to this sectionPython 통합#

더 쉬운 통합을 위해 인증, 업로드 및 실시간 메트릭 스트리밍을 자동으로 처리하는 Ultralytics Python 패키지를 사용하십시오.

Link to this section설치 및 설정#

pip install ultralytics

설치 확인:

yolo check
패키지 버전 요구 사항

플랫폼 통합을 위해서는 ultralytics>=8.4.60이 필요합니다. 더 낮은 버전은 플랫폼에서 작동하지 않습니다.

Link to this section인증#

yolo settings api_key=YOUR_API_KEY

Link to this section플랫폼 데이터셋 사용#

ul:// URI를 사용하여 데이터셋을 참조하십시오:

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 형식:

패턴설명
ul://username/datasets/slug데이터셋
ul://username/project-name프로젝트
ul://username/project/model-name특정 모델
ul://ultralytics/yolo26/yolo26n공식 모델

Link to this section플랫폼으로 푸시#

플랫폼 프로젝트로 결과 전송:

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

동기화 대상:

  • 학습 메트릭 (실시간)
  • 최종 모델 가중치
  • 검증 플롯
  • 콘솔 출력
  • 시스템 메트릭

Link to this sectionAPI 예제#

플랫폼에서 모델 로드:

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

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

추론 실행:

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

모델 내보내기:

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

검증:

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

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

Link to this section웹훅#

플랫폼은 내부 웹훅을 사용하여 ultralytics Python SDK(클라우드 GPU 또는 원격/로컬 머신에서 실행)로부터 epoch별 손실(loss), mAP, 시스템 통계 및 완료 상태와 같은 실시간 학습 메트릭을 플랫폼으로 스트리밍합니다. 이러한 웹훅은 학습 작업별로 제공되는 HMAC webhookSecret을 통해 인증되며, 사용자 애플리케이션에서 사용하도록 의도된 것은 아닙니다.

사용자 측 작업

모든 플랜: ultralytics SDK를 통한 학습 진행 상황(실시간 메트릭, 완료 알림)은 모든 플랜에서 자동으로 작동합니다. 학습 시 단순히 project=username/my-project name=my-run을 설정하면 SDK가 이벤트를 플랫폼으로 스트리밍합니다. 사용자 측의 별도 웹훅 등록은 필요하지 않습니다.

사용자 대상 웹훅 구독(제어 가능한 URL로의 POST 콜백)은 Enterprise 로드맵에 있으며 현재는 사용할 수 없습니다. 그동안은 GET /api/models/{modelId}/training을 폴링하여 상태를 확인하거나 UI의 활동 피드를 사용하십시오.


Link to this sectionFAQ#

Link to this section대규모 결과를 페이지로 나누려면 어떻게 해야 합니까?#

대부분의 엔드포인트는 요청당 반환되는 결과 수를 제어하기 위해 limit 매개변수를 사용합니다:

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

활동(Activity) 및 휴지통(Trash) 엔드포인트는 페이지 기반 페이징을 위해 page 매개변수도 지원합니다:

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"

Link to this sectionSDK 없이 API를 사용할 수 있습니까?#

네, 모든 기능은 REST를 통해 이용 가능합니다. Python SDK는 실시간 메트릭 스트리밍 및 자동 모델 업로드와 같은 기능을 추가하는 편의 도구입니다. 또한 platform.ultralytics.com/api/docs에서 모든 엔드포인트를 대화형으로 탐색할 수 있습니다.

Link to this sectionAPI 클라이언트 라이브러리가 있습니까?#

현재는 Ultralytics Python 패키지를 사용하거나 직접 HTTP 요청을 수행하십시오. 다른 언어에 대한 공식 클라이언트 라이브러리가 계획되어 있습니다.

Link to this section요청 제한(rate limit)은 어떻게 처리합니까?#

429 응답의 Retry-After 헤더를 사용하여 적절한 시간 동안 대기하십시오:

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

Link to this section모델 또는 데이터셋 ID는 어떻게 찾습니까?#

리소스 ID는 API를 통해 리소스를 생성할 때 반환됩니다. 또한 플랫폼 URL에서도 확인할 수 있습니다:

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

목록 엔드포인트를 사용하여 이름으로 검색하거나 프로젝트별로 필터링하십시오.

댓글