1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code で "Could not process image" "Request too large" "PDF too large" が出たときの直し方(画像は長辺 2000px 以下に)

1
Posted at

Claude Code に画像や PDF を渡したあと、Could not process image や Request too large、PDF too large が出て、以降の入力がすべて同じエラーになるときの手順です。基本は「Esc を 2 回押して、画像や PDF を貼る前まで戻る」で、それが難しければ /compact、だめなら /clear です。予防には、画像を長辺 2000px 以下にしてから渡します。

確認環境は Claude Code 2.1.318、macOS 26.6、2026-11-05 です。

症状

画像を貼ったり、Claude に画像ファイルを読ませたりしたあと、次のような文言が出ます。

API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"Could not process image"}}

新しい版では、次の文言に変わっています。

API Error: an image in the conversation could not be processed and was removed. Double press esc to edit your message, or re-read the file if you still need it.

画像が溜まった会話では、サイズ超過の文言も出ます。

Image was too large. Double press esc to go back and try again with a smaller image.
messages.<N>.content.<M>.image.source.base64.data: At least one of the image dimensions exceed max allowed size for many-image requests: 2000 pixels

リクエスト全体が大きすぎるときは、こちらです。

Request too large (max 32MB). Accumulated images and attachments in the conversation pushed the request over the limit. Run /compact, or double press esc to go back and remove attachments.

古い版では、上限が 20MB と書かれた次の文言でした。

Request too large (max 20MB). Double press esc to go back and try with a smaller file.

PDF の場合は次のとおりです。

PDF too large. Please double press esc to edit your message and try again.

結論

  • 画像が原因のときは、画像を貼る前の地点まで Esc 2 回(または /rewind)で戻るのが確実です。戻れないときは /compact で、会話が要約されて画像が履歴から消えます。最後の手段は /clear です。
  • 予防は、画像を長辺 2000px 以下に縮小してから渡すことです。多数の画像を渡す会話では、とくに効きます。
  • Request too large は画像 1 枚の大きさではなく、会話に溜まった添付の合計が原因です。

原因

画像まわりのエラーは、原因が 3 種類に分かれます。

1 つ目は、画像 1 枚の寸法やサイズが上限を超えている場合です。公式の Error reference(Image was too large)は、API が受け付ける画像を、1 枚だけなら長辺 8000px まで、コンテキストに画像が 20 枚を超えると 3000px までと説明しています。

2 つ目は、壊れた画像が会話に残っている場合です。issue での報告では、中身が HTML なのに拡張子が .jpg のファイルや、壊れた PNG を Read で読ませたことが引き金で、以降のリクエストがすべて Could not process image で失敗する、というものがあります。画像は履歴に残り続けるため、/exit で終わって起動し直したあとも続いた、という報告もあります(issue #13480 と、同じ文言の関連 issue 群)。

3 つ目は、リクエスト全体が上限を超える場合です。公式は、API が受け付けるリクエスト本体を 32MB までとしており、これはコンテキスト窓(トークン数)の上限とは別の制限です。画像や PDF は base64 にされて送られるので、溜まると 1 枚 1 枚が小さくても超えます。issue での報告には、99KB の PNG を貼っただけで出たというものがあります。これも、それまでの会話に溜まった画像や PDF の合計が効いていたと推測されます(推測であり、公式の説明ではありません)。

2000px と 3000px の食い違い

上の「長辺の上限」には食い違いがあります。

  • 公式 Error reference の Image was too large: 単体は 8000px、画像 20 枚超なら 3000px
  • 公式 Error reference の Unable to resize image: Claude Code 自身の文言が 2000x2000px limit
  • issue で報告された API のエラー文: many-image requests: 2000 pixels

どれが正しいかは、私の手元では切り分けられていません。どの値を信じるかで迷うより、安全側の 2000px 以下にしておけば、どの記述に当たっても通ります。

手元で確かめたこと

画像の超過そのものを再現するには、本物の認証で画像を送ることになり、課金が起きます。そのため再現はしていません。確かめたのは次の 2 点です。

1. 今入れている Claude Code にこの文言があるか

実行ファイルを grep しました。数字は実行ファイル内で見つかった回数です。

claude --version
B="$(readlink -f "$(which claude)")"
for s in "Could not process image" "could not be processed and was removed" "Request too large (max" "PDF too large" "Image was too large" "many-image requests"; do printf '%s: ' "$s"; grep -a -c -F -- "$s" "$B"; done
2.1.318 (Claude Code)
Could not process image: 3
could not be processed and was removed: 2
Request too large (max: 2
PDF too large: 2
Image was too large: 2
many-image requests: 2

どれも 2.1.318 に含まれています。なお、冒頭の長い文を丸ごと grep すると 0 件になるものがありました。実行時に文を組み立てているためと推測しますが、確かめてはいません。

2. 縮小のコマンドが動くか

macOS 標準の sips で、ダミーの 4000×3000 の画像を作り、長辺 2000px に縮めました。

sips -g pixelWidth -g pixelHeight big.png
sips -Z 2000 big.png --out small.png
sips -g pixelWidth -g pixelHeight small.png
  pixelWidth: 4000
  pixelHeight: 3000
  pixelWidth: 2000
  pixelHeight: 1500

-Z 2000 は縦横比を保ったまま、長辺が 2000px になるよう縮めます。

直し方

1. Esc を 2 回押して、画像を貼る前まで戻る

  1. Esc を 2 回押す(または /rewind)
  2. 画像を貼った発言より前の地点を選んで戻る
  3. 画像を縮小するか、別の渡し方に変えてから続ける

エラー文自体が Double press esc to go back と案内しているとおりの操作です。会話の中身を残したまま問題の画像だけ外せるので、最初に試す価値があります。

2. /compact

/compact

issue の報告では、会話がテキストの要約になって画像が履歴から消えるため、これで直ったという成功例が多くあります。公式も Request too large に対して /compact を案内していて、画像や添付が落とされると書いています。

3. 更新する

claude update

公式の Error reference には、版ごとの修正が書かれています。

  • v2.1.166 より前: 貼った画像が会話に残り、以降の全メッセージで同じエラーが繰り返されることがあった
  • v2.1.212 より前: 画像が溜まった会話が、毎ターン Request too large (max 32MB) で失敗した
  • v2.1.299 より前: 画像の多い会話で、サイズ超過の 1 枚ではなく直近に貼った画像が取り除かれ、was removed の行が毎ターン繰り返されることがあった。VS Code、Desktop アプリ、Agent SDK では、作業中に添付した画像が縮小されずに送られていた
  • v2.1.290 より前: Request rejected as unprocessable by the model のとき、古い画像を取り除いて再送する処理がなく、画像が数百枚溜まった長いセッションで毎ターン失敗した

issue 側では、壊れた画像が履歴に残る問題が 2.1.144 で直ったという公式の返信が報告されています。古い版で繰り返し出るなら、まず更新です。

4. /clear

/clear

履歴ごと捨てるので確実です。やっていたことの要点は、先にファイルへ書き出しておきます。

5. これから画像を渡すときの予防

  • 縮小してから渡します。sips -Z 2000 元の画像 --out 縮小後の画像(macOS)
  • スクリーンショットは画面全体でなく、必要な範囲だけにします(公式の案内です)
  • 画像を貼らず、ファイルに保存してパスで渡す方法もあります(issue での報告)

直らないとき

Unable to resize image と出る

Claude Code は通常、大きな画像を自動で縮小します。それができなかったときの文言です。公式の Error reference(Unable to resize image)には、次のような原因が書かれています。

  • CMYK の JPEG、デコードできないアニメ WebP、壊れたファイル
  • 画像処理が使えず、ヘッダから寸法も読めない

対処は、PNG か JPEG(RGB)で保存し直してから、もう一度渡すことです。

PDF too large と出る

公式の文言では、PDF は 100 ページ・20MB までです。

PDF too large (max 100 pages, 20MB). Try reading the file a different way (e.g., extract text with pdftotext).

公式の対処は、PDF 全体を添付せず、Claude に Read ツールでページ範囲を指定して読ませるか、pdftotext で文字にしてからそのファイルをパスで渡すことです。ページ範囲の読み取りで次のように出たら、poppler が入っていません。

pdftoppm is not installed. Install poppler-utils (e.g. `brew install poppler` or `apt-get install poppler-utils`) to enable PDF page rendering.

メッセージのとおり、macOS なら brew install poppler です。issue での報告では、PDF が大きすぎるときに以降のリクエストから外す対応が 2.1.31 で入っています。

compacting cannot make it fit と出る

画像ではなく、巨大なツール出力や貼り付けが原因です。公式は、Esc 2 回でその発言の手前まで戻るか、/clear を案内しています。大きなファイルは貼らず、パスで渡します。

同じ原因で出る別のメッセージ

  • Request rejected as unprocessable by the model (too many or oversized images, or unsupported parameters) は、画像や文書が多すぎるときの API の文言です。対処は Esc 2 回で戻るか /clear です(公式)
  • Request too large (max 32MB; 20.1MB of about 33.4MB is images or documents). は、画像と文書が原因だと測れた場合の文言です。公式によると、Claude Code はそれらを取り除いて自動で再送します
  • Request too large for the API's 32MB request limit は、メッセージ本体だけで上限を超えている場合で、再送されません

Claude Code で出るほかの英文エラーと、それぞれの対処は、早見表にまとめています。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?