API-nin səhvləri necə bildirdiyini anlamaq, sürətli cavab verməyə və inteqrasiyanızın dayanıqlığını qorumağa kömək edir. Fit It On API səhvləri iki fərqli mərhələyə ayırır:
- API səviyyəli səhvlər: Sorğu, proqnoz ID-si verilməzdən dərhal əvvəl rədd edildi.
- İcra səhvləri: Sorğu qəbul edildi və proqnoz ID-si qaytarıldı, lakin generasiya asinxron emal zamanı uğursuz oldu.
API Səviyyəli Səhvlər
API səviyyəli səhvlər sinxron şəkildə baş verir. /v1/run ünvanına POST sorğusu və ya /v1/status/{id} ünvanına GET sorğusu etdiyiniz zaman, server hər hansı intensiv fon işinə başlamazdan əvvəl sorğunu təsdiqləyir.
Əgər təsdiqləmə uğursuz olarsa, API bir HTTP səhv statusu (məsələn, 400, 401) qaytarır və JSON cavabı bir error mesajı və xüsusi bir code sətiri ehtiva edir.
{
"error": "Invalid request payload. Expected { model_name, inputs }",
"code": "BadRequest"
}Standart Səhv Kodları
| Kod | Səhv | Səbəb | Necə düzəltməli |
|---|---|---|---|
| 400 | BadRequest | Yanlış sorğu formatı və ya dəstəklənməyən model adı | JSON strukturunu yoxlayın, model_name adının düzgün olduğundan əmin olun və tələb olunan bütün inputs təmin edildiyini yoxlayın. |
| 401 | UnauthorizedAccess | Yanlış və ya çatışmayan API açarı | Authorization: Bearer YOUR_API_KEY başlığının düzgün olduğunu və açarın aktiv olduğunu yoxlayın. |
| 402 | OutOfCredits | Qalan tərtibatçı API kreditləri yoxdur | Yenidən cəhd etməzdən əvvəl Fit It On idarəetmə panelində kreditlərinizi doldurun. |
| 403 | Forbidden | Proqnoza icazəsiz giriş | Siz fərqli bir tərtibatçı açarı tərəfindən yaradılmış proqnozun statusunu yoxlamağa çalışırsınız. |
| 404 | NotFound | Proqnoz tapılmadı | Status endpointini sorğularkən proqnoz ID-sinin düzgün olduğunu təsdiqləyin. |
| 413 | PayloadTooLarge | Yükləmə həddi aşır | Giriş şəkillərinin 25MB-dan az olduğundan və ağlabatan qətnamələrdən istifadə etdiyindən əmin olun. |
| 500 | InternalServerError | Server tərəfində səhv | Geri çəkilmə ilə yenidən cəhd edin. Problem davam edərsə dəstək ilə əlaqə saxlayın. |
[!TIP] Yenidən cəhdlər və idempotentlik Əgər API səviyyəli bir səhvlə qarşılaşsanız, problem həll edildikdən sonra eyni yükləməni təhlükəsiz şəkildə yenidən cəhd edə bilərsiniz. Sorğu dərhal rədd edildiyi üçün heç bir kredit çıxılmadı və təkrarlanan emal riski yoxdur.
İcra Səhvləri
İcra səhvləri API sorğunuzu uğurla qəbul etdikdən və proqnoz ID-si qaytardıqdan sonra baş verir.
Generasiya modelləri çox asinxron olduğundan, bu səhvləri /v1/status/{id} endpointini sorğularkən aşkar edəcəksiniz. Əgər fon işi uğursuz olarsa, endpoint HTTP 200 OK qaytarır (çünki sorğu sorğusu özü uğurlu idi), lakin yükləmə daxilindəki status sahəsi "failed" olacaq.
Cavabda proqnoz ID-si və nəyin səhv getdiyini ətraflı izah edən bir error obyekti, o cümlədən kateqoriyalı bir name və təsviredici bir message olacaq.
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"status": "failed",
"output": null,
"error": {
"name": "ImageLoadError",
"message": "Failed to load input image: URL returned 404"
},
"created_at": "2024-05-15T12:00:00Z",
"updated_at": "2024-05-15T12:00:10Z"
}Ümumi İcra Səhvləri
Əksər icra problemləri modellərimizdə bir neçə ümumi kateqoriyaya bölünür:
| Kateqoriya | Tipik Səhv Mesajları | Necə düzəltməli |
|---|---|---|
| Şəkil Yükləmə Səhvi | Failed to fetch image, Invalid image URL | Təqdim olunan URL-lərin autentifikasiya olmadan ictimaiyyətə açıq olduğundan əmin olun. Base64 üçün, düzgün MIME-növ prefiksini ehtiva etdiyindən əmin olun. |
| Giriş Təsdiqləməsi | Image resolution too small, Missing required parameter | Giriş aktivlərinizin xüsusi model üçün minimum ölçülərə və tələblərə cavab verdiyindən əmin olun. |
| Məzmun Moderasiyası | NSFW content detected, Safety block triggered | Təhlükəsizlik filtrlərinə uyğun olmaq üçün giriş şəklini və ya mətn sorğusunu dəyişdirin və ya tənzimləyin. |
| Pipeline Səhvi | Generation failed, Server error | GPU klasterində gözlənilməz bir uğursuzluq baş verdi. Geri çəkilmə ilə sorğunu yenidən cəhd edin. |
[!NOTE] Uğursuzluq Zamanı Kreditlərin Geri Qaytarılması Uğursuz proqnozlar kreditləri istifadə etmir. Əgər generasiya icra zamanı uğursuz olarsa (məsələn,
Image Load Errorvə yaPipeline Errorsəbəbindən), sorğunun əvvəlində çıxılan kreditlər avtomatik olaraq tərtibatçı balansınıza geri qaytarılır.
Endpointə Xüsusi Səhvlər
Müəyyən modellər generasiya zamanı işləyən ciddi, iş axınına xas təsdiqləmə qaydalarına malikdir:
- Pozaya Nəzarət: Hədəf şəkildə insan bədəni aşkar edilməzsə uğursuz olacaq.
- Virtual Sınaq: Geyim şəklində etibarlı bir geyim aşkar edə bilməzsə uğursuz olacaq.
- Model Generasiyası: Təqdim olunan üz istinad şəklində aydın, maneəsiz bir üz yoxdursa uğursuz olacaq.
Girişləri sənədlərlə uyğunlaşdırdıqdan sonra icra uğursuzluqlarını görməyə davam edirsinizsə, araşdırmaq üçün proqnoz ID-nizlə dəstək xidməti ilə əlaqə saxlayın.
