Begrijpen hoe de API fouten rapporteert, helpt u snel te reageren en uw integratie veerkrachtig te houden. De Fit It On API categoriseert fouten in twee verschillende fasen:
- Fouten op API-niveau: Het verzoek werd onmiddellijk geweigerd voordat een voorspellings-ID werd uitgegeven.
- Runtimefouten: Het verzoek werd geaccepteerd en een voorspellings-ID werd geretourneerd, maar de generatie mislukte tijdens asynchrone verwerking.
Fouten op API-niveau
Fouten op API-niveau treden synchroon op. Wanneer u een POST-verzoek indient bij /v1/run, of een GET-verzoek bij /v1/status/{id}, valideert de server het verzoek voordat intensief achtergrondwerk wordt gestart.
Als de validatie mislukt, retourneert de API een HTTP-foutstatus (bijv. 400, 401), en bevat de JSON-respons een error-bericht en een specifieke string code.
{
"error": "Invalid request payload. Expected { model_name, inputs }",
"code": "BadRequest"
}Standaard Foutcodes
| Code | Fout | Oorzaak | Oplossing |
|---|---|---|---|
| 400 | BadRequest | Ongeldig verzoekformaat of niet-ondersteunde modelnaam | Controleer de JSON-structuur, zorg ervoor dat model_name correct is en verifieer dat alle vereiste inputs zijn opgegeven. |
| 401 | UnauthorizedAccess | Ongeldige of ontbrekende API-sleutel | Controleer of de Authorization: Bearer YOUR_API_KEY header correct is en de sleutel actief is. |
| 402 | OutOfCredits | Geen API-credits voor ontwikkelaars meer over | Vul uw credits aan in het Fit It On dashboard voordat u het opnieuw probeert. |
| 403 | Forbidden | Ongeautoriseerde toegang tot voorspelling | U probeert de status te controleren van een voorspelling die is gemaakt met een andere ontwikkelaarssleutel. |
| 404 | NotFound | Voorspelling niet gevonden | Controleer of de voorspellings-ID correct is bij het opvragen van de status via het endpoint. |
| 413 | PayloadTooLarge | Payload overschrijdt limieten | Zorg ervoor dat invoerafbeeldingen kleiner zijn dan 25MB en gebruik redelijke resoluties. |
| 500 | InternalServerError | Serverfout | Probeer het opnieuw met exponentiële wachttijd. Neem contact op met ondersteuning als het probleem aanhoudt. |
[!TIP] Opnieuw proberen en idempotentie Als u een fout op API-niveau tegenkomt, kunt u veilig dezelfde payload opnieuw proberen zodra het probleem is opgelost. Omdat het verzoek onmiddellijk werd geweigerd, werden er geen credits afgeschreven en is dubbele verwerking geen risico.
Runtimefouten
Runtimefouten treden op nadat de API uw verzoek succesvol heeft geaccepteerd en een voorspellings-ID heeft geretourneerd.
Omdat generatiemodellen sterk asynchroon zijn, zult u deze fouten ontdekken tijdens het pollen van het /v1/status/{id} endpoint. Als een achtergrondtaak mislukt, retourneert het endpoint een HTTP 200 OK (omdat het pollingverzoek zelf succesvol was), maar het status-veld binnen de payload zal "failed" zijn.
De respons zal de voorspellings-ID en een error-object bevatten dat gedetailleerd beschrijft wat er misging, inclusief een gecategoriseerde name en een beschrijvende message.
{
"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"
}Veelvoorkomende Runtimefouten
De meeste runtimeproblemen vallen in een handvol gedeelde categorieën binnen onze modellen:
| Categorie | Typische Foutmeldingen | Oplossing |
|---|---|---|
| Afbeelding Laadfout | Failed to fetch image, Invalid image URL | Zorg ervoor dat de opgegeven URL's openbaar toegankelijk zijn zonder authenticatie. Voor Base64, zorg ervoor dat het de juiste MIME-type prefix bevat. |
| Invoer Validatie | Afbeeldingsresolutie te klein, Ontbrekende vereiste parameter | Zorg ervoor dat uw invoeractiva voldoen aan de minimale afmetingen en vereisten voor het specifieke model. |
| Inhoud Moderatie | NSFW-inhoud gedetecteerd, Veiligheidsblokkering geactiveerd | Vervang of pas de invoerafbeelding of tekstprompt aan om te voldoen aan de veiligheidsfilters. |
| Pijplijnfout | Generatie mislukt, Serverfout | Er is een onverwachte fout opgetreden in het GPU-cluster. Probeer het verzoek opnieuw met exponentiële wachttijd. |
[!NOTE] Creditteruggaven bij mislukking Mislukte voorspellingen verbruiken geen credits. Als een generatie mislukt tijdens runtime (bijv. door een
Afbeelding Laadfoutof eenPijplijnfout), worden de credits die aan het begin van het verzoek zijn afgeschreven, automatisch teruggestort op uw ontwikkelaarssaldo.
Endpoint-specifieke Fouten
Bepaalde modellen hebben strikte, workflow-specifieke validatieregels die tijdens de generatie worden uitgevoerd:
- Pose Control: Mislukt als er geen menselijk lichaam wordt gedetecteerd in de doelafbeelding.
- Virtueel Passen: Mislukt als het geen geldig kledingstuk kan detecteren in de kledingafbeelding.
- Model Generatie: Mislukt als de opgegeven gezichtsreferentieafbeelding geen duidelijk, onbelemmerd gezicht bevat.
Als u runtimefouten blijft zien nadat u de invoer hebt afgestemd op de documentatie, neem dan contact op met de ondersteuning met uw voorspellings-ID, zodat we dit kunnen onderzoeken.
