Um upload de arquivo foi rejeitado ou falhou no Whizi

Resposta rápida

O Whizi limita cada anexo individual a 10 MB e todos os anexos de um mesmo prompt a 20 MB no total, e a mensagem de erro indica qual camada recusou o arquivo. O backend aceita 4 anexos por prompt, apenas na última mensagem do usuário, enquanto o compositor do site permite até 6 anexos preparados. Anexos não custam créditos.

A resposta rápida

O Whizi limita cada anexo individual a 10 MB e todos os anexos de um mesmo prompt a 20 MB no total, e a mensagem de erro indica qual camada recusou o arquivo.

Os limites, todos em um só lugar:

LimiteValorOnde se aplica
Anexo único10 MBQualquer arquivo anexado a uma mensagem de chat
Todos os anexos em um prompt20 MBO prompt como um todo
Anexos por prompt4Aplicado pelo backend, apenas na última mensagem do usuário
Arquivos preparados no compositor6O compositor do site
Upload direto de imagem8 MBA rota de upload de imagem
Uploads de imagem por minuto10Por conta, por minuto UTC
Uploads de imagem por dia60Por conta, por dia UTC
Arquivo fixado no projeto10 MB, 10 arquivosPor projeto
Texto em uma mensagem de chat100,000 caracteresInclui o texto extraído dos seus arquivos

Anexos não custam créditos, então um upload recusado não custa nada e um upload bem-sucedido também não.

O arquivo é grande demais

Quatro mensagens diferentes podem aparecer em uma recusa por tamanho, dependendo de qual camada capturou o arquivo.

MensagemCódigo HTTPGatilho
File {name} exceeds 10MB limit. Please upload a smaller file.nenhum, um toast do siteVocê escolheu um único arquivo com mais de 10 MB pelo botão de anexar
One or more files exceed the 10MB size limit. Please upload smaller files.nenhum, um toast do siteVocê arrastou arquivos e pelo menos um tem mais de 10 MB
Attachments must be 10 MB or smaller.413 attachment_too_largeO backend recusou o arquivo, verificado primeiro pelo tamanho declarado e depois pelos bytes reais
Attachments are limited to 20 MB per prompt.413 attachments_too_largeCada arquivo tem menos de 10 MB, mas juntos somam mais de 20 MB

O {name} nos dois primeiros é preenchido com o nome do seu arquivo.

O tamanho declarado é verificado antes dos bytes reais, então declarar novamente um tamanho menor não faz um arquivo grande passar pela verificação de 10 MB.

A correção para os quatro casos é a mesma: envie menos de uma vez. Divida um PDF longo nas seções que você realmente quer que sejam lidas e anexe a seção sobre a qual está perguntando. Apenas a mensagem mais recente do usuário que carrega anexos tem seus anexos encaminhados ao provedor, então anexe o arquivo à mensagem que faz a pergunta, em vez de contar com uma enviada antes na conversa.

Imagens enviadas diretamente têm seu próprio limite, mais baixo: Image is too large. Please upload an image under 8 MB. é HTTP 413 upload_too_large. Ele dispara duas vezes: uma pelo Content-Length declarado acima do dobro do limite e outra pelo tamanho real do arquivo em 8 MiB, então um tamanho declarado incorretamente é pego de qualquer forma. Reexporte a imagem em um tamanho menor ou em uma resolução mais baixa.

Para arquivos fixados no projeto o limite também é 10 MB, com mensagens próprias: {name} is over the 10 MB limit. como o toast do site e Project files must be 10 MB or smaller. como HTTP 413 project_file_too_large.

O tipo de arquivo não é aceito

Existem três listas diferentes de tipos permitidos, porque anexos de chat, uploads diretos de imagem e arquivos fixados no projeto são três caminhos diferentes.

MensagemCódigo HTTPO que aceita
Choose an image, PDF, text, Markdown, CSV, or JSON file.415 unsupported_attachment_typeAnexos 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_typeA rota de upload de imagem: image/jpeg, image/png, image/webp, image/gif
Choose a PDF, Word, Excel, text, Markdown, CSV, or JSON file.415 unsupported_project_file_typeArquivos fixados no projeto, que excluem imagens propositalmente
Unsupported file type. Please upload an image, document (PDF, Word), spreadsheet (Excel), or text-based file.nenhum, um toast do siteO compositor classificando um arquivo escolhido
{name} is not a supported file type.nenhum, um toast do siteUm arquivo de projeto escolhido que é uma imagem, ou de outra forma não suportado

O compositor mostra esse toast de tipo não suportado quando você escolhe um arquivo pelo botão de anexar. Arrastar e soltar permanece silencioso no mesmo caso, então um arquivo solto que nunca aparece no compositor e não produz nenhuma mensagem é muito provavelmente um tipo não suportado. Escolha-o pelo botão de anexar e você receberá o toast que indica o problema.

GIFs são o único ponto em que os dois caminhos discordam. O compositor do site os rejeita totalmente com GIF files are not supported. Please upload a PNG or JPEG image., enquanto a rota de upload de imagem do backend aceita image/gif. No site, converta o GIF para um quadro em PNG ou JPEG e envie esse arquivo.

Para qualquer outro tipo fora da lista, o caminho mais rápido é uma conversão de formato: salve como PDF, CSV ou texto simples e envie esse arquivo. A lista completa de tipos aceitos está em tipos de arquivo suportados.

O arquivo não corresponde ao que afirma ser

Duas verificações rodam além da lista de tipos, e cada uma produz sua própria mensagem.

The file extension does not match its content type. é HTTP 415, código attachment_extension_mismatch em um anexo de chat e project_file_extension_mismatch em um arquivo de projeto. Ela dispara quando a extensão no nome do arquivo e o tipo de conteúdo enviado com ele não coincidem.

The selected file does not match its declared format. é HTTP 415, código invalid_attachment em um anexo de chat e invalid_project_file em um arquivo de projeto. Essa é uma verificação de assinatura: os primeiros bytes do arquivo são lidos e comparados com o tipo MIME declarado, então um arquivo que foi renomeado em vez de convertido é pego aqui.

A causa mais comum é uma renomeação. Mudar report.txt para report.pdf não o transforma em um PDF, e é isso que essa verificação percebe. Abra o arquivo em seu próprio aplicativo e exporte ou salve como o formato desejado, depois envie o resultado.

Muitos arquivos, ou muitos uploads

Limites de quantidade produzem suas próprias mensagens, e não são todos o mesmo número, porque o compositor e o backend contam coisas diferentes.

MensagemCódigo HTTPGatilho
You can only upload up to 6 files per message.nenhum, um toast do siteUma escolha ou um arraste levaria o compositor além de 6 arquivos preparados
Message {n} may carry up to 4 valid attachments, and only on the final user message.400 invalid_attachmentsMais de 4 anexos em um prompt, ou anexos em uma mensagem que não é o último turno do usuário
Message {n} repeats an attachment.400 invalid_attachmentsO mesmo id de anexo aparece duas vezes na mesma mensagem
Projects hold up to 10 files. Remove one first.409 project_file_limit_reachedUm 11º arquivo fixado em um projeto
This project already holds 10 files. Remove one first.nenhum, um toast do siteExibido antes mesmo do início do upload, quando a lista já está cheia

Limites de taxa são separados das contagens. Upload rate limit reached. Please wait a moment before uploading another image. é HTTP 429 upload_rate_limited, e dispara após mais de 10 uploads de imagem em um único minuto UTC. A espera é de um minuto.

Daily upload limit reached. Please try again tomorrow. é HTTP 429 upload_daily_limit_reached, após 60 uploads de imagem em um dia UTC. A redefinição ocorre à meia-noite UTC, não à meia-noite no seu fuso horário. Uploads de arquivo de projeto têm seu próprio teto de 10 por minuto.

O upload funcionou, mas o arquivo não pôde ser lido

Quando a extração de um PDF, Word ou planilha falha, o upload em si teve sucesso e a falha está na leitura do conteúdo. Cada formato tem sua própria mensagem.

MensagemO que geralmente significa
Could not read {name}. The PDF may be corrupted or password-protected.A extração de texto do PDF falhou. Um PDF protegido por senha é o caso comum
Could not read {name}. Please try re-saving the document.A extração do Word falhou
Could not read {name}. The spreadsheet may be corrupted.A extração da planilha falhou
Could not read {name}. Older .xls files are not supported. Please re-save the file as .xlsx and upload it again.Um arquivo binário legado do Excel. A mensagem já é a correção
Could not read {name}.A extração de texto simples falhou
No readable text found in this file, so the model cannot see it.Um arquivo fixado no projeto cuja extração não produziu nada

Para um PDF protegido por senha, remova a senha no seu leitor de PDF e envie a cópia desbloqueada. Para um .xls mais antigo, abra-o e salve como .xlsx. Um PDF escaneado que não extrai texto é abordado em conversar com um PDF.

Um arquivo também pode ser lido com sucesso e depois cortado. Uma única mensagem de chat tem um limite de 100,000 caracteres, e o texto extraído de arquivos conta para esse total. Quando o texto extraído não cabe, você vê Your upload was too large, so only the first part of it was sent. Ask about a smaller section for full coverage. e a própria mensagem carrega o marcador [Attachment truncated: the upload was larger than one message can carry, so the content past this point was not included.] no ponto de corte. O modelo recebe o texto até esse marcador e nada depois dele, então uma resposta que parece completa pode se basear em um documento parcial.

Se a mensagem inteira for recusada em vez de cortada, o backend retorna HTTP 400 message_too_long com This message is {count} characters, over the 100,000 character limit. Attach a shorter file, or ask about one section at a time., onde {count} é sua contagem real de caracteres.

O upload falhou sem motivo aparente

Algumas mensagens indicam que o upload nunca foi concluído, em vez de ter sido recusado por seus méritos.

MensagemO que significaO que fazer
Failed to retrieve session token.Seu token de sessão não pôde ser obtido antes da chamada de uploadAtualize a página e faça login novamente, depois tente de novo
Failed to upload image: {statusText}A resposta do upload de imagem voltou não OK, com o texto de status do servidor anexadoTente novamente. Se persistir, o texto de status é o que o suporte precisa
Image URL not returned by the server.O upload teve sucesso, mas a resposta não trouxe uma URL de imagemTente o upload novamente
Could not upload your attachments.A etapa de upload falhou na visualização de comparação lado a ladoTente novamente, ou envie o mesmo prompt em um chat normal
Could not upload {name}.Um upload de arquivo de projeto falhou sem mensagem própriaTente novamente
Invalid request e No file uploadedHTTP 400 invalid_upload e no_file_uploaded. A requisição não era multipart/form-data, os dados do formulário não puderam ser interpretados, ou o corpo não trazia um campo de arquivoTente o upload novamente
Media could not be stored.A gravação no armazenamento não retornou um objetoTente uma vez mais. Se persistir, contate o suporte
Stored media metadata was invalid.A linha de mídia armazenada não pôde ser lida de voltaTente uma vez mais. Se persistir, contate o suporte
Something went wrong. Please retry.HTTP 500. Qualquer erro não tratado do backendTente uma vez mais, depois contate o suporte

Uma família diferente de mensagens significa que o arquivo sumiu, em vez de ter falhado ao chegar. One or more attachments could not be found. é HTTP 404 attachment_not_found, retornado quando um id de anexo não resolve para uma mídia armazenada pertencente a você. Media not found. é HTTP 404 media_not_found, e Media has expired. é HTTP 404 media_expired, retornado assim que o objeto armazenado passa da janela de retenção, que é de até 30 dias. Uma conversa antiga ainda pode manter uma referência a um arquivo que já não existe, então reenvie-o. O texto sobre retenção está em dados e privacidade.

Lista de verificação
  • Um anexo tem limite de 10 MB, um prompt de 20 MB no total
  • O compositor prepara até 6 arquivos; o backend aceita 4 anexos por prompt
  • Uploads diretos de imagem têm limite de 8 MB, 10 por minuto e 60 por dia UTC
  • Renomear um arquivo não o converte: a verificação de assinatura pega isso
  • Arrastar e soltar fica silencioso em um tipo não suportado, o botão de anexar avisa
  • GIFs são rejeitados pelo compositor do site, então converta para PNG ou JPEG
  • Arquivos .xls mais antigos precisam ser salvos novamente como .xlsx
  • Um PDF protegido por senha precisa ser desbloqueado antes de poder ser lido
  • O texto extraído de arquivos conta para o limite de 100,000 caracteres da mensagem
  • Anexos não custam créditos, então um upload que falha não custa nada

Perguntas frequentes

O que significa "Attachments must be 10 MB or smaller."?

O arquivo que você anexou está acima do limite de 10 MB por arquivo, e o backend o recusou com HTTP 413 e o código attachment_too_large. Essa mensagem é apenas para o limite por arquivo. Quatro arquivos que têm cada um menos de 10 MB, mas juntos somam mais de 20 MB, retornam uma mensagem diferente, "Attachments are limited to 20 MB per prompt.", com o código attachments_too_large. Um quinto anexo no mesmo prompt retorna "Message {n} may carry up to 4 valid attachments, and only on the final user message." com o código invalid_attachments.

Por que "The file extension does not match its content type." aparece em um arquivo que abre sem problemas?

A verificação de extensão roda antes da verificação de assinatura, então um arquivo cuja extensão não coincide com o tipo de conteúdo declarado é recusado com essa mensagem e nunca chega à comparação de magic bytes que retorna "The selected file does not match its declared format." Os códigos diferem conforme o caminho de upload: um anexo de chat retorna attachment_extension_mismatch e invalid_attachment, um arquivo de projeto retorna project_file_extension_mismatch e invalid_project_file, então o código em um registro de rede indica qual caminho de upload recusou o arquivo.

Eu arrastei um arquivo para o chat e nada aconteceu, sem nenhum erro. Por quê?

O motivo mais provável é um tipo de arquivo não suportado, e o caminho de arrastar e soltar deliberadamente não diz nada sobre isso. O arquivo solto também nunca aparece na lista preparada, então não há nada para remover e nada na tela para explicar o silêncio. Nem todo arraste é silencioso: um arraste que levaria o compositor além de 6 arquivos preparados de fato exibe um toast, "You can only upload up to 6 files per message.", no mesmo caminho onde um tipo não suportado não exibe nenhum.

Como faço para superar "Upload rate limit reached. Please wait a moment before uploading another image."?

Você espera. É HTTP 429, disparado por mais de 10 uploads de imagem em um único minuto UTC. O contador por trás disso pertence à rota de upload de imagem, não aos anexos em geral, e a rota de arquivo de projeto mantém um contador separado, então fixar arquivos em um projeto e enviar imagens não consomem a mesma cota. Seja qual for a rota, a conta também está sujeita a um teto compartilhado de 30 requisições por minuto em todas as rotas.

Meu PDF foi enviado, mas o modelo diz que não consegue ver o conteúdo. O que deu errado?

O upload chegou e a etapa de extração é que falhou. Um PDF protegido por senha ou corrompido produz o toast "Could not read {name}. The PDF may be corrupted or password-protected." Um PDF fixado em um projeto cuja extração não produziu nada mostra "No readable text found in this file, so the model cannot see it." ao lado do arquivo no projeto. Remova a senha e reenvie para o primeiro caso. O segundo caso, uma digitalização sem camada de texto, é abordado na página sobre conversar com um PDF.

Fazer upgrade do meu plano muda alguma coisa nos uploads?

Isso muda para quais modelos você pode enviar um arquivo. Anexos não custam créditos em nenhum plano, então o upload em si nunca é o que o seu plano mede. O Starter alcança quatro identificadores de modelo, o Pro adiciona mais 37 além desses, e todos os outros modelos do catálogo exigem o Powerhouse.