Logo

Gestion des erreurs

Comprenez comment l'API Fit It On signale les erreurs, y compris les échecs au niveau de l'API et les erreurs d'exécution asynchrones.

Comprendre comment l'API signale les erreurs vous aide à réagir rapidement et à maintenir la résilience de votre intégration. L'API Fit It On classe les erreurs en deux phases distinctes :

  1. Erreurs au niveau de l'API : La requête a été rejetée immédiatement avant l'émission d'un ID de prédiction.
  2. Erreurs d'exécution : La requête a été acceptée et un ID de prédiction a été renvoyé, mais la génération a échoué pendant le traitement asynchrone.

Erreurs au niveau de l'API

Les erreurs au niveau de l'API se produisent de manière synchrone. Lorsque vous effectuez une requête POST vers /v1/run ou une requête GET vers /v1/status/{id}, le serveur valide la requête avant de commencer tout travail de fond intensif.

Si la validation échoue, l'API renvoie un statut d'erreur HTTP (par exemple, 400, 401), et la réponse JSON contient un message error et un code de chaîne spécifique.

{
  "error": "Invalid request payload. Expected { model_name, inputs }",
  "code": "BadRequest"
}

Codes d'erreur standard

CodeErreurCauseComment résoudre
400Requête incorrecteFormat de requête invalide ou nom de modèle non pris en chargeVérifiez la structure JSON, assurez-vous que model_name est correct et vérifiez que toutes les entrées requises sont fournies.
401Accès non autoriséClé API invalide ou manquanteVérifiez que l'en-tête Authorization: Bearer YOUR_API_KEY est correct et que la clé est active.
402Plus de créditsPlus de crédits API développeur restantsRechargez vos crédits dans le tableau de bord Fit It On avant de réessayer.
403InterditAccès non autorisé à la prédictionVous tentez de vérifier le statut d'une prédiction créée par une clé de développeur différente.
404Non trouvéPrédiction non trouvéeConfirmez que l'ID de prédiction est correct lors de l'interrogation du point de terminaison de statut.
413Charge utile trop volumineuseLa charge utile dépasse les limitesAssurez-vous que les images d'entrée sont inférieures à 25 Mo et utilisent des résolutions raisonnables.
500Erreur interne du serveurErreur côté serveurRéessayez avec un délai d'attente exponentiel. Contactez le support si le problème persiste.

[!TIP] Nouvelles tentatives et idempotence Si vous rencontrez une erreur au niveau de l'API, vous pouvez réessayer en toute sécurité la même charge utile une fois le problème résolu. Étant donné que la requête a été rejetée immédiatement, aucun crédit n'a été déduit et le traitement en double ne présente aucun risque.


Erreurs d'exécution

Les erreurs d'exécution se produisent après que l'API a accepté votre requête avec succès et renvoyé un ID de prédiction.

Étant donné que les modèles de génération sont fortement asynchrones, vous découvrirez ces erreurs en interrogeant le point de terminaison /v1/status/{id}. Si une tâche en arrière-plan échoue, le point de terminaison renvoie un HTTP 200 OK (car la requête d'interrogation elle-même a réussi), mais le champ status à l'intérieur de la charge utile sera "failed".

La réponse inclura l'ID de prédiction et un objet error détaillant ce qui n'a pas fonctionné, y compris un name catégorisé et un message descriptif.

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

Erreurs d'exécution courantes

La plupart des problèmes d'exécution se répartissent en quelques catégories communes à nos modèles :

CatégorieMessages d'erreur typiquesComment résoudre
Erreur de chargement d'imageÉchec de la récupération de l'image, URL d'image invalideAssurez-vous que les URL fournies sont accessibles publiquement sans authentification. Pour Base64, assurez-vous qu'il inclut le préfixe de type MIME correct.
Validation des entréesRésolution d'image trop petite, Paramètre requis manquantAssurez-vous que vos ressources d'entrée respectent les dimensions minimales et les exigences du modèle spécifique.
Modération de contenuContenu NSFW détecté, Blocage de sécurité déclenchéRemplacez ou ajustez l'image d'entrée ou l'invite de texte pour vous conformer aux filtres de sécurité.
Erreur de pipelineÉchec de la génération, Erreur serveurUne défaillance inattendue s'est produite dans le cluster GPU. Réessayez la requête avec un délai d'attente exponentiel.

[!NOTE] Remboursement des crédits en cas d'échec Les prédictions échouées ne consomment pas de crédits. Si une génération échoue pendant l'exécution (par exemple, en raison d'une Erreur de chargement d'image ou d'une Erreur de pipeline), les crédits déduits au début de la requête sont automatiquement remboursés sur votre solde de développeur.

Erreurs spécifiques aux points de terminaison

Certains modèles ont des règles de validation strictes, spécifiques au flux de travail, qui s'exécutent pendant la génération :

  • Contrôle de pose : Échouera si aucun corps humain n'est détecté dans l'image cible.
  • Essayage virtuel : Échouera s'il ne peut pas détecter un vêtement valide dans l'image du vêtement.
  • Génération de modèle : Échouera si l'image de référence de visage fournie ne contient pas un visage clair et dégagé.

Si vous continuez à rencontrer des échecs d'exécution après avoir aligné les entrées avec la documentation, veuillez contacter le support avec votre ID de prédiction afin que nous puissions enquêter.