La risposta breve
Whizi limita ogni singolo allegato a 10 MB e tutti gli allegati di un prompt insieme a 20 MB, e il messaggio di errore indica quale livello ha rifiutato il file.
I limiti, in un unico posto:
| Cap | Valore | Dove si applica |
|---|---|---|
| Allegato singolo | 10 MB | Qualsiasi file allegato a un messaggio di chat |
| Tutti gli allegati di un prompt | 20 MB | L'intero prompt |
| Allegati per prompt | 4 | Applicato dal backend, solo sull'ultimo messaggio dell'utente |
| File in coda nel composer | 6 | Il composer del sito |
| Caricamento diretto di immagini | 8 MB | La route di caricamento immagini |
| Caricamenti di immagini al minuto | 10 | Per account, per minuto UTC |
| Caricamenti di immagini al giorno | 60 | Per account, per giorno UTC |
| File fissato nel progetto | 10 MB, 10 file | Per progetto |
| Testo in un messaggio di chat | 100,000 caratteri | Include il testo estratto dai tuoi file |
Gli allegati non costano crediti, quindi un caricamento rifiutato non ti costa nulla, e nemmeno uno riuscito.
Il file è troppo grande
Possono comparire quattro messaggi diversi su un rifiuto per dimensione, a seconda di quale livello ha bloccato il file.
| Messaggio | Codice HTTP | Causa |
|---|---|---|
File {name} exceeds 10MB limit. Please upload a smaller file. | nessuno, un toast del sito | Hai scelto un singolo file superiore a 10 MB tramite il pulsante di allegato |
One or more files exceed the 10MB size limit. Please upload smaller files. | nessuno, un toast del sito | Hai trascinato dei file e almeno uno supera i 10 MB |
Attachments must be 10 MB or smaller. | 413 attachment_too_large | Il backend ha rifiutato il file, controllato prima rispetto alla lunghezza dichiarata e poi rispetto ai byte reali |
Attachments are limited to 20 MB per prompt. | 413 attachments_too_large | Ogni file è sotto i 10 MB ma insieme superano i 20 MB |
Il {name} nei primi due viene sostituito con il nome del tuo file.
La lunghezza dichiarata viene controllata prima dei byte reali, quindi dichiarare una dimensione più piccola non permette a un file grande di superare il controllo dei 10 MB.
La soluzione per tutti e quattro è la stessa: invia meno alla volta. Dividi un PDF lungo nelle sezioni che vuoi davvero far leggere e allega la sezione a cui ti riferisci. Solo il messaggio più recente dell'utente che contiene allegati viene inoltrato con i suoi allegati al provider, quindi allega il file al messaggio in cui fai la domanda invece di affidarti a uno inviato prima nella conversazione.
Le immagini caricate direttamente hanno un limite proprio, più basso: Image is too large. Please upload an image under 8 MB. è HTTP 413 upload_too_large. Scatta due volte, una su un Content-Length dichiarato a più del doppio del limite e di nuovo sulla dimensione reale del file a 8 MiB, quindi una lunghezza dichiarata in modo errato viene comunque intercettata. Esporta di nuovo l'immagine con una dimensione minore o una risoluzione più bassa.
Per i file fissati nei progetti il limite è anch'esso di 10 MB, con messaggi propri: {name} is over the 10 MB limit. come toast del sito e Project files must be 10 MB or smaller. come HTTP 413 project_file_too_large.
Il tipo di file non è accettato
Esistono tre elenchi diversi di tipi ammessi, perché gli allegati in chat, i caricamenti diretti di immagini e i file fissati nei progetti sono tre percorsi diversi.
| Messaggio | Codice HTTP | Cosa accetta |
|---|---|---|
Choose an image, PDF, text, Markdown, CSV, or JSON file. | 415 unsupported_attachment_type | Allegati in chat: JPEG, PNG, WebP, GIF, PDF, TXT, Markdown, CSV, JSON |
Unsupported image type. Please upload a JPG, PNG, WebP, or GIF. | 400 unsupported_image_type | La route di caricamento immagini: image/jpeg, image/png, image/webp, image/gif |
Choose a PDF, Word, Excel, text, Markdown, CSV, or JSON file. | 415 unsupported_project_file_type | File fissati nei progetti, che escludono deliberatamente le immagini |
Unsupported file type. Please upload an image, document (PDF, Word), spreadsheet (Excel), or text-based file. | nessuno, un toast del sito | Il composer classifica un file selezionato |
{name} is not a supported file type. | nessuno, un toast del sito | Un file di progetto selezionato che è un'immagine o comunque non supportato |
Il composer mostra quel toast di tipo non supportato quando scegli un file tramite il pulsante di allegato. Il trascinamento resta silenzioso nello stesso caso, quindi un file trascinato che non compare mai nel composer e non produce alcun messaggio è molto probabilmente un tipo non supportato. Selezionalo invece tramite il pulsante di allegato e otterrai il toast che indica il problema.
I GIF sono l'unico punto in cui i due percorsi non sono d'accordo. Il composer del sito li rifiuta del tutto con GIF files are not supported. Please upload a PNG or JPEG image., mentre la route di caricamento immagini del backend accetta image/gif. Sul sito, converti il GIF in un fotogramma PNG o JPEG e carica quello.
Per qualsiasi altra cosa fuori dall'elenco, la via più rapida è una conversione di formato: salvalo come PDF, CSV o testo semplice e carica quello al suo posto. L'elenco completo di ciò che è accettato è in tipi di file supportati.
Il file non corrisponde a ciò che dichiara di essere
Oltre all'elenco dei tipi, vengono eseguiti altri due controlli, e ciascuno produce un proprio messaggio.
The file extension does not match its content type. è HTTP 415, codice attachment_extension_mismatch su un allegato in chat e project_file_extension_mismatch su un file di progetto. Scatta quando l'estensione nel nome del file e il tipo di contenuto inviato con esso non coincidono.
The selected file does not match its declared format. è HTTP 415, codice invalid_attachment su un allegato in chat e invalid_project_file su un file di progetto. Questo è un controllo di firma: i primi byte del file vengono letti e confrontati con il tipo MIME dichiarato, quindi un file che è stato rinominato invece che convertito viene intercettato qui.
La causa più comune è una rinomina. Cambiare report.txt in report.pdf non lo trasforma in un PDF, ed è questo controllo ad accorgersene. Apri il file nella sua applicazione originale ed esporta o salva con nome nel formato che desideri, poi carica il risultato.
Troppi file, o troppi caricamenti
I limiti di conteggio producono messaggi propri, e non sono tutti lo stesso numero, perché il composer e il backend contano cose diverse.
| Messaggio | Codice HTTP | Causa |
|---|---|---|
You can only upload up to 6 files per message. | nessuno, un toast del sito | Una selezione o un trascinamento porterebbe il composer oltre i 6 file in coda |
Message {n} may carry up to 4 valid attachments, and only on the final user message. | 400 invalid_attachments | Più di 4 allegati su un prompt, oppure allegati su un messaggio che non è l'ultimo turno dell'utente |
Message {n} repeats an attachment. | 400 invalid_attachments | Lo stesso id di allegato compare due volte sullo stesso messaggio |
Projects hold up to 10 files. Remove one first. | 409 project_file_limit_reached | Un undicesimo file fissato su un progetto |
This project already holds 10 files. Remove one first. | nessuno, un toast del sito | Mostrato prima ancora che il caricamento inizi, quando l'elenco è già pieno |
I limiti di frequenza sono separati dai conteggi. Upload rate limit reached. Please wait a moment before uploading another image. è HTTP 429 upload_rate_limited, e scatta dopo più di 10 caricamenti di immagini in un singolo minuto UTC. L'attesa è di un minuto.
Daily upload limit reached. Please try again tomorrow. è HTTP 429 upload_daily_limit_reached, dopo 60 caricamenti di immagini in un giorno UTC. Il reset avviene alla mezzanotte UTC e non alla mezzanotte del tuo fuso orario. I caricamenti di file di progetto hanno un proprio tetto di 10 al minuto.
Il caricamento è riuscito ma il file non è stato leggibile
Quando l'estrazione di un PDF, Word o foglio di calcolo genera un errore, il caricamento in sé è riuscito e il problema sta nella lettura del contenuto. Ogni formato ha il proprio messaggio.
| Messaggio | Cosa significa di solito |
|---|---|
Could not read {name}. The PDF may be corrupted or password-protected. | L'estrazione del testo dal PDF ha generato un errore. Un PDF protetto da password è il caso più comune |
Could not read {name}. Please try re-saving the document. | L'estrazione da Word ha generato un errore |
Could not read {name}. The spreadsheet may be corrupted. | L'estrazione dal foglio di calcolo ha generato un errore |
Could not read {name}. Older .xls files are not supported. Please re-save the file as .xlsx and upload it again. | Un file Excel binario di vecchio formato. Il messaggio è la soluzione |
Could not read {name}. | L'estrazione del testo semplice ha generato un errore |
No readable text found in this file, so the model cannot see it. | Un file fissato nel progetto la cui estrazione non ha prodotto nulla |
Per un PDF protetto da password, rimuovi la password nel tuo lettore PDF e carica la copia sbloccata. Per un .xls di vecchio formato, aprilo e salvalo come .xlsx. Un PDF scansionato la cui estrazione non produce nulla è trattato in chattare con un PDF.
Un file può anche essere letto con successo e poi tagliato. Un singolo messaggio di chat è limitato a 100,000 caratteri, e il testo estratto dai file conta ai fini di questo limite. Quando il testo estratto non ci sta, vedi Your upload was too large, so only the first part of it was sent. Ask about a smaller section for full coverage. e il messaggio stesso porta il marcatore [Attachment truncated: the upload was larger than one message can carry, so the content past this point was not included.] nel punto del taglio. Il modello riceve il testo fino a quel marcatore e nulla dopo, quindi una risposta che sembra completa potrebbe basarsi su un documento parziale.
Se l'intero messaggio viene rifiutato invece di essere tagliato, il backend restituisce HTTP 400 message_too_long con This message is {count} characters, over the 100,000 character limit. Attach a shorter file, or ask about one section at a time., dove {count} è il tuo conteggio effettivo di caratteri.
Il caricamento non è riuscito senza un motivo evidente
Un piccolo gruppo di messaggi indica che il caricamento non si è mai completato, piuttosto che essere stato rifiutato nel merito.
| Messaggio | Cosa significa | Cosa fare |
|---|---|---|
Failed to retrieve session token. | Il tuo token di sessione non è stato recuperato prima della chiamata di caricamento | Aggiorna la pagina ed effettua di nuovo l'accesso, poi riprova |
Failed to upload image: {statusText} | La risposta al caricamento dell'immagine non è arrivata OK, con il testo di stato del server aggiunto | Riprova. Se si ripete, il testo di stato è ciò che serve al supporto |
Image URL not returned by the server. | Il caricamento è riuscito ma la risposta non conteneva l'URL dell'immagine | Riprova il caricamento |
Could not upload your attachments. | Il passaggio di caricamento ha generato un errore nella vista di confronto affiancato | Riprova, oppure invia lo stesso prompt in una chat normale |
Could not upload {name}. | Il caricamento di un file di progetto ha generato un errore senza un proprio messaggio | Riprova |
Invalid request e No file uploaded | HTTP 400 invalid_upload e no_file_uploaded. La richiesta non era multipart/form-data, i dati del modulo non sono stati analizzati o il corpo non conteneva un campo file | Riprova il caricamento |
Media could not be stored. | La scrittura nello storage non ha restituito alcun oggetto | Riprova una volta. Se persiste, contatta il supporto |
Stored media metadata was invalid. | La riga dei metadati del media salvato non è stata leggibile | Riprova una volta. Se persiste, contatta il supporto |
Something went wrong. Please retry. | HTTP 500. Qualsiasi errore non gestito del backend | Riprova una volta, poi contatta il supporto |
Un'altra famiglia di messaggi indica che il file è scomparso, invece di non essere arrivato. One or more attachments could not be found. è HTTP 404 attachment_not_found, restituito quando un id di allegato non corrisponde a un media salvato di tua proprietà. Media not found. è HTTP 404 media_not_found, e Media has expired. è HTTP 404 media_expired, restituiti una volta che l'oggetto salvato ha superato la sua finestra di conservazione, che arriva fino a 30 giorni. Una vecchia conversazione può ancora contenere un riferimento a un file che non c'è più, quindi ricaricalo. La formulazione sulla conservazione è su dati e privacy.
- Un allegato è limitato a 10 MB, un prompt a 20 MB in totale
- Il composer mette in coda fino a 6 file; il backend accetta 4 allegati per prompt
- I caricamenti diretti di immagini sono limitati a 8 MB, 10 al minuto e 60 al giorno UTC
- Rinominare un file non lo converte: il controllo di firma lo intercetta
- Il trascinamento resta silenzioso su un tipo non supportato, il pulsante di allegato te lo dice
- I GIF sono rifiutati dal composer del sito, quindi convertili in PNG o JPEG
- I file .xls di vecchio formato devono essere salvati di nuovo come .xlsx
- Un PDF protetto da password deve essere sbloccato prima di poter essere letto
- Il testo estratto dai file conta ai fini del limite di 100,000 caratteri per messaggio
- Gli allegati non costano crediti, quindi un caricamento fallito non costa nulla
Domande frequenti
Cosa significa "Attachments must be 10 MB or smaller."?
Il file che hai allegato supera il limite di 10 MB per file, e il backend lo ha rifiutato con HTTP 413 e il codice attachment_too_large. Quella stringa riguarda solo il limite per singolo file. Quattro file che sono ciascuno sotto i 10 MB ma insieme superano i 20 MB restituiscono una stringa diversa, "Attachments are limited to 20 MB per prompt.", con il codice attachments_too_large. Un quinto allegato sullo stesso prompt restituisce "Message {n} may carry up to 4 valid attachments, and only on the final user message." con il codice invalid_attachments.
Perché "The file extension does not match its content type." compare su un file che si apre senza problemi?
Il controllo dell'estensione viene eseguito prima del controllo di firma, quindi un file la cui estensione non coincide con il tipo di contenuto dichiarato viene rifiutato con questa stringa e non arriva mai al confronto sui magic byte che restituisce "The selected file does not match its declared format." I codici differiscono a seconda del percorso di caricamento: un allegato in chat restituisce attachment_extension_mismatch e invalid_attachment, un file di progetto restituisce project_file_extension_mismatch e invalid_project_file, quindi il codice in una traccia di rete indica quale percorso di caricamento ha rifiutato il file.
Ho trascinato un file nella chat e non è successo nulla, senza errori. Perché?
Il motivo più probabile è un tipo di file non supportato, e il percorso del trascinamento deliberatamente non dice nulla al riguardo. Il file trascinato non compare mai nemmeno nell'elenco in coda, quindi non c'è nulla da rimuovere e nulla sullo schermo che spieghi il silenzio. Non ogni trascinamento è silenzioso: un trascinamento che porterebbe il composer oltre i 6 file in coda genera un toast, "You can only upload up to 6 files per message.", sullo stesso percorso in cui un tipo non supportato non ne genera nessuno.
Come supero "Upload rate limit reached. Please wait a moment before uploading another image."?
Aspetti. È HTTP 429, attivato da più di 10 caricamenti di immagini in un minuto UTC. Il contatore dietro di esso appartiene alla route di caricamento immagini e non agli allegati in generale, e la route dei file di progetto ne mantiene uno separato, quindi fissare file a un progetto e caricare immagini non consumano la stessa soglia. Qualunque sia la route su cui ti trovi, l'account paga anche un tetto condiviso di 30 richieste al minuto su tutte le route.
Il mio PDF si è caricato ma il modello dice di non riuscire a vederne il contenuto. Cosa è andato storto?
Il caricamento è andato a buon fine ed è il passaggio di estrazione ad aver fallito. Un PDF protetto da password o danneggiato produce il toast "Could not read {name}. The PDF may be corrupted or password-protected." Un PDF fissato a un progetto la cui estrazione non ha prodotto nulla mostra invece "No readable text found in this file, so the model cannot see it." accanto al file nel progetto. Rimuovi la password e ricarica per il primo caso. Il secondo caso, una scansione senza livello di testo, è trattato nella pagina chattare con un PDF.
Passare a un piano superiore cambia qualcosa nei caricamenti?
Cambia a quali modelli puoi inviare un file. Gli allegati non costano crediti su nessun piano, quindi il caricamento in sé non è mai ciò che il tuo piano misura. Starter arriva a quattro identificatori di modello, Pro ne aggiunge altri 37, e ogni altro modello del catalogo richiede Powerhouse.