Whizi 파일 업로드 실패: 거부되거나 실패한 이유

빠른 답변

Whizi는 첨부파일 하나당 10MB, 한 프롬프트에 포함된 모든 첨부파일을 합쳐 20MB로 제한하며, 오류 메시지는 어느 단계에서 파일이 거부됐는지를 알려줍니다. 백엔드는 프롬프트당 최대 4개의 첨부파일만 허용하며 이는 마지막 사용자 메시지에만 적용되고, 웹사이트 작성창은 최대 6개까지 파일을 준비해 둘 수 있습니다. 첨부파일은 크레딧을 소모하지 않습니다.

짧은 답

Whizi는 첨부파일 하나당 10MB, 한 프롬프트의 모든 첨부파일을 합쳐 20MB로 제한하며, 오류 메시지는 어느 단계에서 파일이 거부됐는지 알려줍니다.

제한을 한눈에 정리하면 다음과 같습니다:

제한적용 대상
첨부파일 1개10 MB채팅 메시지에 첨부된 모든 파일
한 프롬프트의 전체 첨부파일20 MB프롬프트 전체
프롬프트당 첨부파일 개수4개백엔드가 강제하며, 마지막 사용자 메시지에만 적용
작성창에 준비할 수 있는 파일6개웹사이트 작성창
직접 이미지 업로드8 MB이미지 업로드 경로
분당 이미지 업로드10회계정당, UTC 1분당
하루 이미지 업로드60회계정당, UTC 하루당
프로젝트 고정 파일10 MB, 10개프로젝트당
채팅 메시지 하나의 텍스트100,000자파일에서 추출한 텍스트 포함

첨부파일은 크레딧을 소모하지 않으므로, 거부된 업로드도 성공한 업로드도 비용이 들지 않습니다.

파일이 너무 큽니다

파일 크기 때문에 거부될 때는 어느 단계에서 걸렸는지에 따라 네 가지 다른 메시지가 나타날 수 있습니다.

메시지HTTP 코드발생 조건
File {name} exceeds 10MB limit. Please upload a smaller file.없음, 웹사이트 토스트첨부 버튼으로 10MB가 넘는 파일 하나를 선택했을 때
One or more files exceed the 10MB size limit. Please upload smaller files.없음, 웹사이트 토스트파일을 드롭했는데 그중 하나 이상이 10MB를 넘을 때
Attachments must be 10 MB or smaller.413 attachment_too_large백엔드가 파일을 거부, 선언된 길이를 먼저 확인하고 실제 바이트도 다시 확인함
Attachments are limited to 20 MB per prompt.413 attachments_too_large파일 각각은 10MB 미만이지만 합치면 20MB를 넘을 때

앞의 두 메시지에 있는 {name} 부분에는 실제 파일 이름이 채워집니다.

선언된 길이가 실제 바이트보다 먼저 확인되므로, 크기를 더 작게 재선언해도 큰 파일이 10MB 검사를 통과하지는 못합니다.

네 가지 경우 모두 해결책은 같습니다: 한 번에 보내는 양을 줄이세요. 긴 PDF는 실제로 읽히길 원하는 부분만 나눠서 첨부하세요. 첨부파일이 포함된 메시지 중 가장 최근 사용자 메시지의 첨부파일만 제공업체로 전달되므로, 대화 초반에 보낸 파일에 의존하지 말고 질문하는 메시지에 파일을 직접 첨부하세요.

직접 업로드하는 이미지는 별도의 더 낮은 상한이 있습니다: Image is too large. Please upload an image under 8 MB.는 HTTP 413 upload_too_large입니다. 이는 선언된 Content-Length가 상한의 두 배를 넘을 때 한 번, 실제 파일 크기가 8MiB를 넘을 때 또 한 번, 총 두 번 발동하므로 길이를 잘못 선언해도 어느 쪽이든 걸립니다. 이미지를 더 작은 크기나 낮은 해상도로 다시 내보내세요.

프로젝트에 고정하는 파일도 상한은 마찬가지로 10MB이며, 전용 메시지가 있습니다: 웹사이트 토스트로는 {name} is over the 10 MB limit., HTTP 413 project_file_too_large로는 Project files must be 10 MB or smaller.가 표시됩니다.

파일 형식이 지원되지 않습니다

채팅 첨부파일, 직접 이미지 업로드, 프로젝트 고정 파일은 서로 다른 세 가지 경로이기 때문에, 허용 형식 목록도 세 가지가 따로 존재합니다.

메시지HTTP 코드허용 범위
Choose an image, PDF, text, Markdown, CSV, or JSON file.415 unsupported_attachment_type채팅 첨부파일: JPEG, PNG, WebP, GIF, PDF, TXT, Markdown, CSV, JSON
Unsupported image type. Please upload a JPG, PNG, WebP, or GIF.400 unsupported_image_type이미지 업로드 경로: image/jpeg, image/png, image/webp, image/gif
Choose a PDF, Word, Excel, text, Markdown, CSV, or JSON file.415 unsupported_project_file_type프로젝트 고정 파일, 이미지는 의도적으로 제외
Unsupported file type. Please upload an image, document (PDF, Word), spreadsheet (Excel), or text-based file.없음, 웹사이트 토스트작성창이 선택된 파일을 분류할 때
{name} is not a supported file type.없음, 웹사이트 토스트선택한 프로젝트 파일이 이미지이거나 그 밖에 지원되지 않을 때

작성창은 첨부 버튼으로 파일을 선택했을 때 이 지원되지 않는 형식 토스트를 표시합니다. 드래그 앤 드롭은 같은 경우에도 아무 반응이 없으므로, 작성창에 전혀 나타나지 않고 아무 메시지도 뜨지 않은 파일은 대부분 지원되지 않는 형식입니다. 대신 첨부 버튼으로 선택하면 문제를 알려주는 토스트를 볼 수 있습니다.

GIF는 두 경로가 서로 다르게 처리하는 유일한 경우입니다. 웹사이트 작성창은 GIF files are not supported. Please upload a PNG or JPEG image.로 아예 거부하는 반면, 백엔드의 이미지 업로드 경로는 image/gif를 허용합니다. 웹사이트에서는 GIF를 PNG나 JPEG 프레임으로 변환한 뒤 업로드하세요.

목록에 없는 다른 형식은 형식 변환이 가장 빠른 방법입니다. PDF, CSV, 일반 텍스트로 저장한 뒤 그것을 업로드하세요. 전체 허용 목록은 지원되는 파일 형식에서 확인할 수 있습니다.

파일이 실제와 다른 형식으로 되어 있습니다

형식 목록을 통과한 뒤에도 두 가지 검사가 더 실행되며, 각각 고유한 메시지를 냅니다.

The file extension does not match its content type.는 HTTP 415이며, 채팅 첨부파일에서는 코드 attachment_extension_mismatch, 프로젝트 파일에서는 project_file_extension_mismatch입니다. 파일 이름의 확장자와 함께 전송된 콘텐츠 유형이 서로 일치하지 않을 때 발생합니다.

The selected file does not match its declared format.는 HTTP 415이며, 채팅 첨부파일에서는 코드 invalid_attachment, 프로젝트 파일에서는 invalid_project_file입니다. 이는 서명 검사로, 파일의 첫 바이트를 읽어 선언된 MIME 유형과 비교하므로, 변환이 아니라 이름만 바꾼 파일은 여기서 걸립니다.

흔한 원인은 이름 바꾸기입니다. report.txtreport.pdf로 바꾼다고 PDF가 되는 것은 아니며, 이 검사가 바로 그것을 알아챕니다. 파일을 원래 프로그램에서 열어 원하는 형식으로 내보내거나 다른 이름으로 저장한 뒤, 그 결과물을 업로드하세요.

파일이 너무 많거나 업로드 횟수가 너무 많습니다

개수 제한은 각각 별도의 메시지를 내며, 작성창과 백엔드가 서로 다른 것을 세기 때문에 숫자도 서로 다릅니다.

메시지HTTP 코드발생 조건
You can only upload up to 6 files per message.없음, 웹사이트 토스트선택이나 드롭으로 작성창이 준비된 파일 6개를 넘기게 될 때
Message {n} may carry up to 4 valid attachments, and only on the final user message.400 invalid_attachments프롬프트에 첨부파일이 4개를 넘거나, 마지막 사용자 차례가 아닌 메시지에 첨부파일이 있을 때
Message {n} repeats an attachment.400 invalid_attachments같은 첨부파일 id가 한 메시지에 두 번 나타날 때
Projects hold up to 10 files. Remove one first.409 project_file_limit_reached프로젝트에 고정 파일이 11번째로 추가될 때
This project already holds 10 files. Remove one first.없음, 웹사이트 토스트목록이 이미 가득 찬 상태에서 업로드가 시작되기도 전에 표시

속도 제한은 개수 제한과 별개입니다. Upload rate limit reached. Please wait a moment before uploading another image.는 HTTP 429 upload_rate_limited이며, 1 UTC분 안에 이미지 업로드가 10회를 넘으면 발동합니다. 대기 시간은 1분입니다.

Daily upload limit reached. Please try again tomorrow.는 HTTP 429 upload_daily_limit_reached이며, 하루(UTC 기준) 이미지 업로드가 60회를 넘으면 발생합니다. 재설정 시점은 사용자가 있는 지역이 아니라 UTC 자정입니다. 프로젝트 파일 업로드에는 분당 10회라는 별도의 상한이 있습니다.

업로드는 됐지만 파일을 읽을 수 없습니다

PDF, Word, 스프레드시트 파일에서 텍스트 추출이 실패하면 업로드 자체는 성공했고 문제는 내용을 읽는 단계에서 발생한 것입니다. 형식마다 고유한 메시지가 있습니다.

메시지보통의 의미
Could not read {name}. The PDF may be corrupted or password-protected.PDF 텍스트 추출 실패, 비밀번호로 보호된 PDF가 흔한 경우
Could not read {name}. Please try re-saving the document.Word 추출 실패
Could not read {name}. The spreadsheet may be corrupted.스프레드시트 추출 실패
Could not read {name}. Older .xls files are not supported. Please re-save the file as .xlsx and upload it again.이전 형식의 바이너리 Excel 파일, 메시지 자체가 해결법
Could not read {name}.일반 텍스트 추출 실패
No readable text found in this file, so the model cannot see it.프로젝트 고정 파일의 추출 결과가 전혀 없는 경우

비밀번호로 보호된 PDF는 PDF 리더에서 비밀번호를 제거한 뒤 잠금 해제된 사본을 업로드하세요. 오래된 .xls는 열어서 .xlsx로 저장하세요. 텍스트 없이 추출되는 스캔 PDF는 PDF와 대화하기에서 다룹니다.

파일을 성공적으로 읽고 나서도 잘릴 수 있습니다. 채팅 메시지 하나는 최대 100,000자로 제한되며, 추출된 파일 텍스트도 이 안에 포함됩니다. 추출된 텍스트가 다 들어가지 않으면 Your upload was too large, so only the first part of it was sent. Ask about a smaller section for full coverage.가 표시되고, 메시지 자체에는 잘린 지점에 [Attachment truncated: the upload was larger than one message can carry, so the content past this point was not included.]라는 표시가 남습니다. 모델은 이 표시까지의 텍스트만 받고 그 이후는 전혀 받지 못하므로, 완전해 보이는 답변이 사실은 문서 일부만 근거로 한 것일 수 있습니다.

메시지 전체가 잘리는 대신 아예 거부되는 경우도 있습니다. 이때 백엔드는 HTTP 400 message_too_long과 함께 This message is {count} characters, over the 100,000 character limit. Attach a shorter file, or ask about one section at a time.를 반환하며, {count}는 실제 글자 수입니다.

특별한 이유 없이 업로드가 실패했습니다

일부 메시지는 파일이 내용 때문에 거부된 것이 아니라 업로드 자체가 끝까지 완료되지 못했다는 뜻입니다.

메시지의미해야 할 일
Failed to retrieve session token.업로드 호출 전에 세션 토큰을 가져오지 못함페이지를 새로고침하고 다시 로그인한 뒤 재시도
Failed to upload image: {statusText}이미지 업로드 응답이 정상이 아니었고 서버 상태 텍스트가 덧붙음재시도, 반복되면 그 상태 텍스트가 지원팀에 필요함
Image URL not returned by the server.업로드는 성공했지만 응답에 이미지 URL이 없음업로드 재시도
Could not upload your attachments.나란히 비교 보기에서 업로드 단계가 실패함재시도하거나, 같은 프롬프트를 일반 채팅에서 전송
Could not upload {name}.프로젝트 파일 업로드가 자체 메시지 없이 실패함재시도
Invalid requestNo file uploadedHTTP 400 invalid_uploadno_file_uploaded. 요청이 multipart/form-data가 아니었거나, 폼 데이터 파싱에 실패했거나, 본문에 파일 필드가 없었음업로드 재시도
Media could not be stored.저장소 쓰기가 객체를 반환하지 않음한 번 더 재시도, 계속되면 지원팀에 문의
Stored media metadata was invalid.저장된 미디어 행을 다시 읽어올 수 없음한 번 더 재시도, 계속되면 지원팀에 문의
Something went wrong. Please retry.HTTP 500, 처리되지 않은 백엔드 오류 전반한 번 더 재시도한 뒤 지원팀에 문의

다른 종류의 메시지는 파일이 도착에 실패한 것이 아니라 이미 사라졌다는 뜻입니다. One or more attachments could not be found.는 HTTP 404 attachment_not_found로, 첨부파일 id가 사용자 소유의 저장된 미디어로 연결되지 않을 때 반환됩니다. Media not found.는 HTTP 404 media_not_found, Media has expired.는 HTTP 404 media_expired로, 저장된 객체가 보관 기간(최대 30일)을 지났을 때 반환됩니다. 오래된 대화는 이미 사라진 파일에 대한 참조를 여전히 가지고 있을 수 있으므로 다시 업로드하세요. 보관 관련 안내는 데이터와 개인정보에서 확인할 수 있습니다.

체크리스트
  • 첨부파일 하나는 10MB, 한 프롬프트 전체는 20MB로 제한됩니다
  • 작성창은 최대 6개까지 파일을 준비하지만, 백엔드는 프롬프트당 4개의 첨부파일만 허용합니다
  • 직접 이미지 업로드는 8MB, 분당 10회, UTC 하루 60회로 제한됩니다
  • 이름을 바꾼다고 파일 형식이 바뀌지는 않으며, 서명 검사가 이를 걸러냅니다
  • 드래그 앤 드롭은 지원되지 않는 형식에서 아무 말도 하지 않지만, 첨부 버튼은 알려줍니다
  • GIF는 웹사이트 작성창에서 거부되므로 PNG나 JPEG로 변환하세요
  • 오래된 .xls 파일은 .xlsx로 다시 저장해야 합니다
  • 비밀번호로 보호된 PDF는 읽기 전에 잠금을 해제해야 합니다
  • 추출된 파일 텍스트는 100,000자 메시지 제한에 포함됩니다
  • 첨부파일은 크레딧을 소모하지 않으므로 업로드 실패에도 비용이 들지 않습니다

자주 묻는 질문

"Attachments must be 10 MB or smaller."는 무슨 뜻인가요?

첨부한 파일이 파일당 10MB 상한을 넘었고, 백엔드가 HTTP 413과 코드 attachment_too_large로 거부한 것입니다. 이 메시지는 파일당 상한에만 해당됩니다. 각각 10MB 미만이지만 합쳐서 20MB를 넘는 파일 네 개는 다른 메시지 "Attachments are limited to 20 MB per prompt."와 코드 attachments_too_large를 반환합니다. 같은 프롬프트의 다섯 번째 첨부파일은 "Message {n} may carry up to 4 valid attachments, and only on the final user message."와 코드 invalid_attachments를 반환합니다.

정상적으로 열리는 파일인데 왜 "The file extension does not match its content type."가 뜨나요?

확장자 검사는 서명 검사보다 먼저 실행되므로, 확장자와 선언된 콘텐츠 유형이 일치하지 않는 파일은 이 메시지로 거부되며 "The selected file does not match its declared format."를 반환하는 매직 바이트 비교까지 가지도 못합니다. 코드는 업로드 경로마다 다릅니다. 채팅 첨부파일은 attachment_extension_mismatch와 invalid_attachment를, 프로젝트 파일은 project_file_extension_mismatch와 invalid_project_file을 반환하므로, 네트워크 트레이스의 코드를 보면 어느 업로드 경로가 파일을 거부했는지 알 수 있습니다.

채팅에 파일을 드롭했는데 오류도 없이 아무 일도 일어나지 않았습니다. 왜 그런가요?

가장 가능성 높은 이유는 지원되지 않는 파일 형식이며, 드롭 경로는 이에 대해 일부러 아무 말도 하지 않습니다. 드롭한 파일은 준비된 목록에도 나타나지 않으므로, 제거할 것도 화면에서 침묵을 설명해줄 것도 없습니다. 모든 드롭이 조용한 것은 아닙니다. 작성창에 준비된 파일이 6개를 넘기게 되는 드롭은 "You can only upload up to 6 files per message." 토스트를 띄우는데, 이는 지원되지 않는 형식이 아무 반응도 내지 않는 것과 같은 경로에서 일어납니다.

"Upload rate limit reached. Please wait a moment before uploading another image."는 어떻게 넘어가나요?

기다리는 수밖에 없습니다. 이는 HTTP 429이며, 1 UTC분 안에 이미지 업로드가 10회를 넘으면 발동합니다. 이 카운터는 첨부파일 전반이 아니라 이미지 업로드 경로에 속하고, 프로젝트 파일 경로는 별도의 카운터를 가지므로 프로젝트에 파일을 고정하는 것과 이미지를 업로드하는 것은 같은 한도를 소모하지 않습니다. 어느 경로에 있든 계정은 모든 경로를 합쳐 분당 30개 요청이라는 공통 상한도 함께 적용받습니다.

PDF는 업로드됐는데 모델이 내용을 볼 수 없다고 합니다. 무엇이 잘못됐나요?

업로드는 성공했고 실패한 것은 추출 단계입니다. 비밀번호로 보호되거나 손상된 PDF는 "Could not read {name}. The PDF may be corrupted or password-protected." 토스트를 냅니다. 프로젝트에 고정한 PDF의 추출 결과가 아무것도 없으면 프로젝트 내 해당 파일 옆에 "No readable text found in this file, so the model cannot see it."가 대신 표시됩니다. 첫 번째 경우는 비밀번호를 제거하고 다시 업로드하세요. 두 번째 경우, 즉 텍스트 레이어가 없는 스캔본은 PDF와 대화하기 페이지에서 다룹니다.

요금제를 업그레이드하면 업로드가 달라지나요?

달라지는 것은 파일을 보낼 수 있는 모델입니다. 첨부파일은 어떤 요금제에서도 크레딧을 소모하지 않으므로, 요금제가 측정하는 대상은 업로드 자체가 아닙니다. Starter는 모델 식별자 4개, Pro는 여기에 37개를 더하고, 카탈로그의 나머지 모든 모델은 Powerhouse가 필요합니다.