Logo

Foutafhandeling

Begrijp hoe de Fit It On API fouten rapporteert, inclusief API-niveau storingen en asynchrone runtimefouten.

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:

  1. Fouten op API-niveau: Het verzoek werd onmiddellijk geweigerd voordat een voorspellings-ID werd uitgegeven.
  2. 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

CodeFoutOorzaakOplossing
400BadRequestOngeldig verzoekformaat of niet-ondersteunde modelnaamControleer de JSON-structuur, zorg ervoor dat model_name correct is en verifieer dat alle vereiste inputs zijn opgegeven.
401UnauthorizedAccessOngeldige of ontbrekende API-sleutelControleer of de Authorization: Bearer YOUR_API_KEY header correct is en de sleutel actief is.
402OutOfCreditsGeen API-credits voor ontwikkelaars meer overVul uw credits aan in het Fit It On dashboard voordat u het opnieuw probeert.
403ForbiddenOngeautoriseerde toegang tot voorspellingU probeert de status te controleren van een voorspelling die is gemaakt met een andere ontwikkelaarssleutel.
404NotFoundVoorspelling niet gevondenControleer of de voorspellings-ID correct is bij het opvragen van de status via het endpoint.
413PayloadTooLargePayload overschrijdt limietenZorg ervoor dat invoerafbeeldingen kleiner zijn dan 25MB en gebruik redelijke resoluties.
500InternalServerErrorServerfoutProbeer 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:

CategorieTypische FoutmeldingenOplossing
Afbeelding LaadfoutFailed to fetch image, Invalid image URLZorg ervoor dat de opgegeven URL's openbaar toegankelijk zijn zonder authenticatie. Voor Base64, zorg ervoor dat het de juiste MIME-type prefix bevat.
Invoer ValidatieAfbeeldingsresolutie te klein, Ontbrekende vereiste parameterZorg ervoor dat uw invoeractiva voldoen aan de minimale afmetingen en vereisten voor het specifieke model.
Inhoud ModeratieNSFW-inhoud gedetecteerd, Veiligheidsblokkering geactiveerdVervang of pas de invoerafbeelding of tekstprompt aan om te voldoen aan de veiligheidsfilters.
PijplijnfoutGeneratie mislukt, ServerfoutEr 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 Laadfout of een Pijplijnfout), 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.