Passer au contenu principal

Format de Reponse d’Erreur

Lorsqu’une tache echoue (status: "failed"), la reponse inclut un objet error :
{
  "id": "task-unified-1772618027-cmeisy8h",
  "object": "image.generation.task",
  "status": "failed",
  "model": "gemini-3.1-flash-image-preview",
  "progress": 0,
  "error": {
    "code": "content_policy_violation",
    "message": "Content policy violation.\nYour request was blocked by safety filters..."
  }
}
ChampTypeDescription
error.codestringIdentifiant du code d’erreur. Voir la liste complete ci-dessous
error.messagestringDescription d’erreur conviviale avec conseils de depannage

Apercu des Codes d’Erreur

Erreurs Client (Corrigibles par l'Utilisateur)

Code d’ErreurDescriptionReessayable
content_policy_violationLe contenu viole les politiques de securiteCorriger le contenu, puis reessayer
invalid_parametersParametres de requete invalidesCorriger les parametres, puis reessayer
image_processing_errorEchec du traitement de l’imageUtiliser une autre image
image_dimension_mismatchLes dimensions de l’image ne correspondent pas a la requeteRedimensionner l’image, puis reessayer
request_cancelledLa requete a ete annuleeResoumettre
Code d’ErreurDescriptionReessayable
generation_failed_no_contentLe modele n’a pas pu generer de contenuEssayer un autre prompt
service_errorErreur interne du serviceRecuperation automatique, reessayer plus tard
generation_timeoutLe traitement de la tache a expireReessayer plus tard
resource_exhaustedRessources en amont temporairement epuiseesRecuperation automatique, reessayer plus tard
quota_exceededLimite de debit ou quota depasseReduire la frequence, reessayer plus tard
service_unavailableService temporairement indisponibleRecuperation automatique, reessayer plus tard
resource_not_foundID de tache invalide ou expireVerifier l’ID de tache
unknown_errorErreur non classifieeContacter le support

Details des Codes d’Erreur

content_policy_violation

Violation de la Politique de Contenu

Votre requete a ete bloquee par les filtres de securite. C’est le type d’erreur le plus courant, couvrant les scenarios suivants :
Declencheurs courants :
Sous-typeDescriptionMessage d’exemple
Personnes photorealistesL’image telechargee contient de vrais visages humainsphotorealistic people detected
Ressemblance avec des celebritesImplique des celebrites ou des personnalites publiquescelebrity detected in image
Droit d’auteur/MarqueImplique des logos de marque, des marques deposees ou de la PI protegeethird-party content violation
Adulte/NSFWContient de la nudite ou du contenu sexuellement suggestifnudity detected
Violence/AutomutilationContient du contenu violent, graphique ou d’automutilationviolence content blocked
Protection des mineursImplique du contenu sensible lie aux mineursminor content not allowed
Politique generaleAutres violations de la politique de contenucontent policy violation
Comment eviter :
  • Evitez de telecharger de vraies photos de personnes — utilisez des styles d’illustration ou de dessin anime
  • Supprimez les logos de marque, les marques deposees et les personnages de PI proteges
  • Evitez les themes adultes, violents ou d’automutilation
  • Utilisez des descriptions de personnages generiques (par exemple, “a person”) au lieu de referencer des celebrites specifiques

generation_failed_no_content

Echec de Generation

Le modele n’a pas pu produire de contenu pour votre requete. Bien que le format de la requete soit valide, le modele n’a pas pu generer de resultat pendant le traitement.
Causes courantes :
  • Mauvaise qualite du prompt : La description est trop vague ou contradictoire pour que le modele comprenne
  • Limites de capacite du modele : Le prompt depasse les capacites de generation du modele
  • Problemes du service en amont : Le service du modele sous-jacent a retourne un resultat vide
  • Detection de contenu protege : Le prompt ou l’image de reference peut impliquer la suppression de filigranes ou du contenu protege (logos, marques, etc.)
Comment corriger :
  • Ajustez votre prompt pour etre plus clair et specifique
  • Utilisez des images de reference differentes — evitez les images avec des filigranes ou des logos
  • Simplifiez la requete (resolution ou complexite inferieure)
  • Reessayez simplement — certains cas reussissent lors d’un nouvel essai

invalid_parameters

Parametres Invalides

Les parametres de la requete ne repondent pas aux exigences du modele.
Sous-types courants :
Sous-typeDescriptionExemple
Prompt trop longLe prompt depasse la longueur maximale du modelePrompt is too long
Dimension d’imageLa largeur/hauteur ou le rapport d’aspect de l’image est hors limitesimage dimensions must be between 240 and 7680
Fichier trop volumineuxLe fichier telecharge depasse la limite de taillefile size exceeds 10MB
Format non supporteLe format du fichier telecharge n’est pas supporteunsupported file type
Duree de videoLa duree de la video est hors de la plage supportee par le modeleVideo duration must be between 1-30 seconds
Comment corriger :
  • Consultez la documentation API specifique au modele pour les exigences de parametres
  • Formats d’image supportes : JPG, PNG, WebP, GIF (HEIC, AVIF, TIFF ne sont pas supportes)
  • Limites de taille d’image : generalement < 10 Mo, certains modeles < 30 Mo
  • Raccourcissez votre prompt ou divisez les longs prompts en descriptions essentielles

image_processing_error

Echec du Traitement d'Image

Le systeme n’a pas pu traiter l’image d’entree.
Causes courantes :
  • L’URL de l’image n’est pas accessible (authentification requise, restrictions CDN, lien expire)
  • Le format d’image n’est pas supporte (par exemple, HEIC, AVIF)
  • Le fichier image est corrompu
  • Des problemes de reseau ont empeche le telechargement de l’image
Comment corriger :
  • Assurez-vous que l’URL de l’image est accessible publiquement sans authentification ni restrictions de region
  • Utilisez des formats standard : JPG, PNG, WebP
  • Essayez d’utiliser l’API de telechargement de fichiers au lieu des URLs
  • Verifiez que l’image s’ouvre correctement dans un navigateur

image_dimension_mismatch

Inadequation des Dimensions de l'Image

Les dimensions de l’image d’entree ne correspondent pas aux dimensions specifiees dans la requete. Courant dans les scenarios de conversion image vers video.
Exemple :
  • aspect_ratio=1280x720 (16:9) necessite une image paysage de 1280x720
  • aspect_ratio=720x1280 (9:16) necessite une image portrait de 720x1280
Comment corriger : Redimensionnez votre image pour correspondre au parametre aspect_ratio demande, ou modifiez le aspect_ratio pour correspondre a votre image.

service_error

Erreur de Service

Un probleme interne s’est produit dans le service en amont. C’est generalement temporaire — le systeme bascule automatiquement vers d’autres routes disponibles.
Causes courantes :
  • Service du modele en amont temporairement indisponible
  • Surcharge du serveur / trafic eleve
  • Maintenance en cours
  • Connexion reseau interrompue
Comment corriger :
  • Attendez 30-60 secondes et reessayez — le systeme se retablit generalement automatiquement
  • Si le probleme persiste, contactez le support technique
  • Pas besoin de modifier votre requete — reessayez la meme requete

generation_timeout

Delai de Generation Depasse

La tache ne s’est pas terminee dans le delai imparti.
Causes courantes :
  • Charge systeme elevee causant des retards dans la file d’attente
  • Complexite elevee de la tache (haute resolution, longue video, etc.)
  • Reponse lente du service en amont
Comment corriger :
  • Reessayez plus tard, de preference pendant les heures creuses
  • Reduisez la complexite de la tache : resolution plus basse, duree de video plus courte
  • Simplifiez les descriptions du prompt

quota_exceeded

Quota / Limite de Debit Depasse

Les limites de frequence de requete ou de concurrence ont ete depassees.
Causes courantes :
  • Trop de requetes envoyees en peu de temps (limitation de debit)
  • Plusieurs taches en cours de traitement simultanement (limite de concurrence)
  • Quota du compte epuise
Comment corriger :
  • Reduisez la frequence des requetes — intervalle recommande de 1-2 secondes entre les requetes
  • Attendez que les taches en cours se terminent avant d’en soumettre de nouvelles
  • Si le quota est epuise, visitez la page de facturation pour recharger

resource_exhausted

Ressources Epuisees

Les ressources de calcul du service en amont sont temporairement epuisees. Se produit generalement pendant les periodes de pointe d’utilisation du modele.
Comment corriger :
  • Attendez 1-5 minutes pour la recuperation automatique
  • Le systeme bascule automatiquement entre plusieurs routes — reessayer plus tard reussit generalement

resource_not_found

Ressource Non Trouvee

L’ID de tache demande n’existe pas ou a expire.
Comment corriger :
  • Verifiez que l’ID de tache est correctement orthographie
  • Les resultats de tache ont une periode d’expiration — les taches expirees ne peuvent pas etre consultees
  • Si l’ID est correct, reessayez apres une courte attente

request_cancelled

Requete Annulee

La tache a ete annulee ou interrompue pendant le traitement.
Si vous n’avez pas intentionnellement annule, resoumettre simplement la meme requete.

service_unavailable

Service Indisponible

Un probleme d’authentification ou de connexion interne s’est produit. Cette erreur a ete automatiquement enregistree et sera generalement resolue rapidement.
Comment corriger :
  • Attendez quelques minutes et reessayez
  • Si le probleme persiste, contactez le support technique avec votre ID de tache

unknown_error

Erreur Inconnue

Une erreur non classifiee. Le systeme n’a pas pu identifier le type d’erreur specifique.
Comment corriger :
  • Reessayez apres une courte attente
  • Si le probleme persiste, contactez le support technique avec l’ID de tache complet

Bonnes Pratiques

Exemple de Gestion des Erreurs

import requests
import time

def poll_task_with_retry(task_id, api_key, max_retries=3):
    """Poll task status with automatic retry for server errors"""
    headers = {"Authorization": f"Bearer {api_key}"}

    for attempt in range(max_retries):
        resp = requests.get(
            f"https://api.evolink.ai/v1/tasks/{task_id}",
            headers=headers
        )
        data = resp.json()

        if data["status"] == "completed":
            return data["results"]

        if data["status"] == "failed":
            error = data.get("error", {})
            code = error.get("code", "unknown_error")
            message = error.get("message", "")

            # Client errors — not retryable, fix the request
            if code in [
                "content_policy_violation",
                "invalid_parameters",
                "image_processing_error",
                "image_dimension_mismatch",
            ]:
                raise Exception(f"Client error [{code}]: {message}")

            # Server errors — retryable
            if code in [
                "generation_failed_no_content",
                "service_error",
                "generation_timeout",
                "resource_exhausted",
                "quota_exceeded",
            ]:
                if attempt < max_retries - 1:
                    wait = 2 ** attempt * 5  # 5s, 10s, 20s
                    time.sleep(wait)
                    continue
                raise Exception(f"Server error [{code}]: {message}")

            raise Exception(f"Error [{code}]: {message}")

        # Task still processing
        time.sleep(3)

    raise Exception("Max polling attempts exceeded")

Reessayable vs Non Reessayable

Corriger la Requete Avant de Reessayer

  • content_policy_violation — Modifier le contenu
  • invalid_parameters — Corriger les parametres
  • image_processing_error — Utiliser une autre image
  • image_dimension_mismatch — Redimensionner l’image

Sur de Reessayer Directement

  • generation_failed_no_content — Essayer un autre prompt
  • service_error — Attendre, puis reessayer
  • generation_timeout — Attendre, puis reessayer
  • resource_exhausted — Recuperation automatique
  • quota_exceeded — Reduire la frequence, puis reessayer