Un envoi de fichier a été refusé ou a échoué dans Whizi

Réponse rapide

Whizi limite une pièce jointe à 10 Mo et l'ensemble des pièces jointes d'un même message à 20 Mo, et le message d'erreur indique quelle couche a refusé le fichier. Le backend accepte 4 pièces jointes par message, uniquement sur le dernier message de l'utilisateur, tandis que le composeur du site en met jusqu'à 6 en file d'attente. Les pièces jointes ne coûtent aucun crédit.

La réponse courte

Whizi limite une pièce jointe à 10 Mo et l'ensemble des pièces jointes d'un même message à 20 Mo, et le message d'erreur indique quelle couche a refusé le fichier.

Les limites, réunies ici :

LimiteValeurOù elle s'applique
Pièce jointe unique10 MoTout fichier joint à un message de chat
Toutes les pièces jointes d'un message20 MoL'ensemble du message
Pièces jointes par message4Appliqué par le backend, uniquement sur le dernier message de l'utilisateur
Fichiers en file d'attente dans le composeur6Le composeur du site
Envoi direct d'image8 MoLa route d'envoi d'image
Envois d'images par minute10Par compte, par minute UTC
Envois d'images par jour60Par compte, par jour UTC
Fichier épinglé au projet10 Mo, 10 fichiersPar projet
Texte dans un message de chat100,000 caractèresInclut le texte extrait de vos fichiers

Les pièces jointes ne coûtent aucun crédit, donc un envoi refusé ne vous coûte rien, pas plus qu'un envoi réussi.

Le fichier est trop volumineux

Quatre messages différents peuvent apparaître en cas de refus lié à la taille, selon la couche qui a intercepté le fichier.

MessageCode HTTPDéclencheur
File {name} exceeds 10MB limit. Please upload a smaller file.aucun, notification du siteVous avez choisi un seul fichier de plus de 10 Mo via le bouton de pièce jointe
One or more files exceed the 10MB size limit. Please upload smaller files.aucun, notification du siteVous avez déposé des fichiers dont au moins un dépasse 10 Mo
Attachments must be 10 MB or smaller.413 attachment_too_largeLe backend a refusé le fichier, vérifié d'abord par rapport à la taille déclarée puis aux octets réels
Attachments are limited to 20 MB per prompt.413 attachments_too_largeChaque fichier fait moins de 10 Mo mais leur somme dépasse 20 Mo

Le {name} des deux premiers messages est remplacé par le nom de votre fichier.

La taille déclarée est vérifiée avant les octets réels, donc redéclarer une taille plus petite ne permet pas à un gros fichier de passer la vérification des 10 Mo.

La solution est la même pour les quatre cas : envoyez moins à la fois. Découpez un long PDF en sections que vous voulez réellement faire lire et joignez la section concernée par votre question. Seul le message le plus récent de l'utilisateur contenant des pièces jointes voit ses pièces jointes transmises au fournisseur, donc joignez le fichier au message qui pose la question plutôt que de compter sur un message envoyé plus tôt dans la conversation.

Les images envoyées directement ont leur propre limite, plus basse : Image is too large. Please upload an image under 8 MB. correspond à HTTP 413 upload_too_large. Elle se déclenche deux fois, une première fois sur un Content-Length déclaré supérieur au double de la limite, puis à nouveau sur la taille réelle du fichier à 8 Mio, de sorte qu'une taille mal déclarée est repérée dans les deux cas. Réexportez l'image dans une taille plus petite ou une résolution plus basse.

Pour les fichiers épinglés à un projet, la limite est aussi de 10 Mo, avec ses propres messages : {name} is over the 10 MB limit. comme notification du site et Project files must be 10 MB or smaller. en HTTP 413 project_file_too_large.

Le type de fichier n'est pas accepté

Trois listes de types autorisés différentes existent, car les pièces jointes de chat, les envois d'images directs et les fichiers épinglés au projet sont trois chemins distincts.

MessageCode HTTPCe qu'il accepte
Choose an image, PDF, text, Markdown, CSV, or JSON file.415 unsupported_attachment_typePièces jointes de chat : JPEG, PNG, WebP, GIF, PDF, TXT, Markdown, CSV, JSON
Unsupported image type. Please upload a JPG, PNG, WebP, or GIF.400 unsupported_image_typeLa route d'envoi d'image : image/jpeg, image/png, image/webp, image/gif
Choose a PDF, Word, Excel, text, Markdown, CSV, or JSON file.415 unsupported_project_file_typeFichiers épinglés au projet, qui excluent délibérément les images
Unsupported file type. Please upload an image, document (PDF, Word), spreadsheet (Excel), or text-based file.aucun, notification du siteLe composeur classant un fichier choisi
{name} is not a supported file type.aucun, notification du siteUn fichier de projet choisi qui est une image, ou autrement non pris en charge

Le composeur affiche cette notification de type non pris en charge lorsque vous choisissez un fichier via le bouton de pièce jointe. Le glisser-déposer reste silencieux dans le même cas, donc un fichier déposé qui n'apparaît jamais dans le composeur et ne produit aucun message est très probablement d'un type non pris en charge. Choisissez-le plutôt via le bouton de pièce jointe et vous obtiendrez la notification qui nomme le problème.

Les GIF sont le seul cas où les deux chemins divergent. Le composeur du site les rejette purement et simplement avec GIF files are not supported. Please upload a PNG or JPEG image., alors que la route d'envoi d'image du backend accepte image/gif. Sur le site, convertissez le GIF en une image PNG ou JPEG et envoyez celle-ci.

Pour tout autre format hors liste, la solution la plus rapide est une conversion de format : enregistrez-le en PDF, CSV ou texte brut et envoyez ce fichier à la place. La liste complète des formats acceptés se trouve dans types de fichiers pris en charge.

Le fichier ne correspond pas à ce qu'il prétend être

Deux vérifications s'exécutent après la liste des types, et chacune produit son propre message.

The file extension does not match its content type. correspond à HTTP 415, avec le code attachment_extension_mismatch pour une pièce jointe de chat et project_file_extension_mismatch pour un fichier de projet. Il se déclenche lorsque l'extension du nom de fichier et le type de contenu envoyé avec lui ne concordent pas.

The selected file does not match its declared format. correspond à HTTP 415, avec le code invalid_attachment pour une pièce jointe de chat et invalid_project_file pour un fichier de projet. Il s'agit d'une vérification de signature : les premiers octets du fichier sont lus et comparés au type MIME déclaré, ce qui permet de repérer ici un fichier qui a été renommé plutôt que converti.

La cause habituelle est un renommage. Changer report.txt en report.pdf n'en fait pas un PDF pour autant, et c'est cette vérification qui le remarque. Ouvrez le fichier dans son application d'origine, puis exportez-le ou enregistrez-le sous le format souhaité, et envoyez le résultat.

Trop de fichiers, ou trop d'envois

Les limites de nombre produisent leurs propres messages, et ce ne sont pas toujours les mêmes chiffres, car le composeur et le backend ne comptent pas les mêmes choses.

MessageCode HTTPDéclencheur
You can only upload up to 6 files per message.aucun, notification du siteUn choix ou un dépôt ferait dépasser au composeur ses 6 fichiers en file d'attente
Message {n} may carry up to 4 valid attachments, and only on the final user message.400 invalid_attachmentsPlus de 4 pièces jointes sur un message, ou pièces jointes sur un message qui n'est pas le dernier tour de l'utilisateur
Message {n} repeats an attachment.400 invalid_attachmentsLe même identifiant de pièce jointe apparaît deux fois sur un même message
Projects hold up to 10 files. Remove one first.409 project_file_limit_reachedUn 11e fichier épinglé sur un projet
This project already holds 10 files. Remove one first.aucun, notification du siteAffiché avant même que l'envoi commence, quand la liste est déjà pleine

Les limites de fréquence sont distinctes des limites de nombre. Upload rate limit reached. Please wait a moment before uploading another image. correspond à HTTP 429 upload_rate_limited, et se déclenche après plus de 10 envois d'images en une seule minute UTC. L'attente est d'une minute.

Daily upload limit reached. Please try again tomorrow. correspond à HTTP 429 upload_daily_limit_reached, après 60 envois d'images en une journée UTC. La réinitialisation a lieu à minuit UTC et non à minuit chez vous. Les envois de fichiers de projet ont leur propre plafond de 10 par minute.

L'envoi a fonctionné mais le fichier n'a pas pu être lu

Lorsque l'extraction d'un PDF, d'un fichier Word ou d'une feuille de calcul échoue, l'envoi lui-même a réussi et l'échec se situe dans la lecture du contenu. Chaque format a son propre message.

MessageCe que cela signifie généralement
Could not read {name}. The PDF may be corrupted or password-protected.L'extraction du texte du PDF a échoué. Un PDF protégé par mot de passe est le cas le plus fréquent
Could not read {name}. Please try re-saving the document.L'extraction du fichier Word a échoué
Could not read {name}. The spreadsheet may be corrupted.L'extraction de la feuille de calcul a échoué
Could not read {name}. Older .xls files are not supported. Please re-save the file as .xlsx and upload it again.Un ancien fichier Excel binaire. Le message indique lui-même la solution
Could not read {name}.L'extraction du texte brut a échoué
No readable text found in this file, so the model cannot see it.Un fichier épinglé au projet dont l'extraction n'a produit aucun résultat

Pour un PDF protégé par mot de passe, retirez le mot de passe dans votre lecteur de PDF et envoyez la copie déverrouillée. Pour un ancien .xls, ouvrez-le et enregistrez-le en .xlsx. Un PDF scanné dont l'extraction ne produit rien est traité dans discuter avec un PDF.

Un fichier peut aussi être lu avec succès puis tronqué. Un seul message de chat est plafonné à 100,000 caractères, et le texte extrait des fichiers compte dans cette limite. Lorsque le texte extrait ne tient pas, vous voyez Your upload was too large, so only the first part of it was sent. Ask about a smaller section for full coverage. et le message lui-même porte le marqueur [Attachment truncated: the upload was larger than one message can carry, so the content past this point was not included.] à l'endroit de la coupure. Le modèle reçoit le texte jusqu'à ce marqueur et rien après, donc une réponse qui paraît complète peut reposer sur un document partiel.

Si le message entier est refusé plutôt que tronqué, le backend renvoie HTTP 400 message_too_long avec This message is {count} characters, over the 100,000 character limit. Attach a shorter file, or ask about one section at a time., où {count} est votre nombre réel de caractères.

L'envoi a échoué sans raison apparente

Une poignée de messages signifient que l'envoi n'a jamais abouti plutôt que d'avoir été refusé sur le fond.

MessageCe que cela signifieQue faire
Failed to retrieve session token.Votre jeton de session n'a pas pu être récupéré avant l'appel d'envoiActualisez la page et reconnectez-vous, puis réessayez
Failed to upload image: {statusText}La réponse à l'envoi d'image n'est pas revenue OK, avec le statut du serveur ajoutéRéessayez. Si cela se répète, le statut est ce dont le support a besoin
Image URL not returned by the server.L'envoi a réussi mais la réponse ne contenait aucune URL d'imageRéessayez l'envoi
Could not upload your attachments.L'étape d'envoi a échoué dans la vue de comparaison côte à côteRéessayez, ou envoyez le même message dans un chat normal
Could not upload {name}.Un envoi de fichier de projet a échoué sans message propreRéessayez
Invalid request et No file uploadedHTTP 400 invalid_upload et no_file_uploaded. La requête n'était pas multipart/form-data, les données de formulaire n'ont pas pu être analysées, ou le corps ne contenait aucun champ de fichierRéessayez l'envoi
Media could not be stored.L'écriture de stockage n'a renvoyé aucun objetRéessayez une fois. Si cela persiste, contactez le support
Stored media metadata was invalid.La ligne de média stockée n'a pas pu être relueRéessayez une fois. Si cela persiste, contactez le support
Something went wrong. Please retry.HTTP 500. Toute erreur backend non géréeRéessayez une fois, puis contactez le support

Une autre famille de messages signifie que le fichier a disparu plutôt qu'il n'a échoué à arriver. One or more attachments could not be found. correspond à HTTP 404 attachment_not_found, renvoyé lorsqu'un identifiant de pièce jointe ne correspond à aucun média stocké vous appartenant. Media not found. correspond à HTTP 404 media_not_found, et Media has expired. à HTTP 404 media_expired, renvoyé une fois que l'objet stocké a dépassé sa fenêtre de conservation, qui va jusqu'à 30 jours. Une ancienne conversation peut encore contenir une référence à un fichier disparu, donc envoyez-le à nouveau. Les modalités de conservation figurent sur données et confidentialité.

Liste de vérification
  • Une pièce jointe est plafonnée à 10 Mo, un message à 20 Mo au total
  • Le composeur met jusqu'à 6 fichiers en file d'attente ; le backend accepte 4 pièces jointes par message
  • Les envois d'images directs sont plafonnés à 8 Mo, 10 par minute et 60 par jour UTC
  • Renommer un fichier ne le convertit pas : la vérification de signature le détecte
  • Le glisser-déposer reste silencieux sur un type non pris en charge, le bouton de pièce jointe vous prévient
  • Les GIF sont rejetés par le composeur du site, donc convertissez-les en PNG ou JPEG
  • Les anciens fichiers .xls doivent être réenregistrés en .xlsx
  • Un PDF protégé par mot de passe doit être déverrouillé avant de pouvoir être lu
  • Le texte extrait des fichiers compte dans la limite de 100,000 caractères par message
  • Les pièces jointes ne coûtent aucun crédit, donc un envoi échoué ne coûte rien

Questions fréquentes

Que signifie « Attachments must be 10 MB or smaller. » ?

Le fichier que vous avez joint dépasse la limite de 10 Mo par fichier, et le backend l'a refusé avec HTTP 413 et le code attachment_too_large. Ce message concerne uniquement la limite par fichier. Quatre fichiers de moins de 10 Mo chacun mais dont la somme dépasse 20 Mo renvoient un message différent, « Attachments are limited to 20 MB per prompt. », avec le code attachments_too_large. Une cinquième pièce jointe sur le même message renvoie « Message {n} may carry up to 4 valid attachments, and only on the final user message. » avec le code invalid_attachments.

Pourquoi « The file extension does not match its content type. » apparaît-il sur un fichier qui s'ouvre pourtant sans problème ?

La vérification de l'extension s'exécute avant la vérification de signature, donc un fichier dont l'extension ne correspond pas au type de contenu déclaré est refusé avec ce message et n'atteint jamais la comparaison des octets magiques qui renvoie « The selected file does not match its declared format. » Les codes diffèrent selon le chemin d'envoi : une pièce jointe de chat renvoie attachment_extension_mismatch et invalid_attachment, un fichier de projet renvoie project_file_extension_mismatch et invalid_project_file, donc le code dans une trace réseau indique quel chemin d'envoi a refusé le fichier.

J'ai déposé un fichier dans le chat et rien ne s'est passé, sans aucune erreur. Pourquoi ?

La raison la plus probable est un type de fichier non pris en charge, et le chemin du glisser-déposer ne dit délibérément rien à ce sujet. Le fichier déposé n'apparaît jamais non plus dans la liste en attente, donc il n'y a rien à retirer et rien à l'écran pour expliquer ce silence. Tous les dépôts ne sont pas silencieux : un dépôt qui ferait dépasser au composeur ses 6 fichiers en file d'attente déclenche bien une notification, « You can only upload up to 6 files per message. », sur le même chemin où un type non pris en charge n'en déclenche aucune.

Comment passer outre « Upload rate limit reached. Please wait a moment before uploading another image. » ?

Vous attendez. C'est du HTTP 429, déclenché par plus de 10 envois d'images en une minute UTC. Le compteur derrière ce message appartient à la route d'envoi d'image plutôt qu'aux pièces jointes en général, et la route des fichiers de projet en tient un séparé, donc épingler des fichiers à un projet et envoyer des images ne puisent pas dans le même quota. Quelle que soit la route utilisée, le compte est aussi soumis à un plafond commun de 30 requêtes par minute sur toutes les routes.

Mon PDF a été envoyé mais le modèle dit qu'il ne peut pas en voir le contenu. Qu'est-ce qui a échoué ?

L'envoi a réussi et c'est l'étape d'extraction qui a échoué. Un PDF protégé par mot de passe ou corrompu produit la notification « Could not read {name}. The PDF may be corrupted or password-protected. » Un PDF épinglé à un projet dont l'extraction n'a rien produit affiche plutôt « No readable text found in this file, so the model cannot see it. » à côté du fichier dans le projet. Retirez le mot de passe et renvoyez le fichier pour le premier cas. Le second cas, un scan sans couche de texte, est traité sur la page consacrée à discuter avec un PDF.

Passer à un forfait supérieur change-t-il quelque chose aux envois ?

Cela change les modèles auxquels vous pouvez envoyer un fichier. Les pièces jointes ne coûtent aucun crédit sur aucun forfait, donc l'envoi lui-même n'est jamais ce que votre forfait limite. Starter donne accès à quatre identifiants de modèles, Pro en ajoute 37 de plus, et tout autre modèle du catalogue nécessite Powerhouse.