# Как экономить токены при работе с PDF в Claude Code в 2026 году

> Узнайте, сколько токенов расходует PDF в Claude Code, как преобразовать его в Markdown с помощью MarkItDown и PyMuPDF4LLM и какие лимиты и затраты учесть в 2026 году.

Source: https://ailoot.ai/blog/ru/pdf-claude-code-markdown/
Canonical: https://ailoot.ai/blog/ru/pdf-claude-code-markdown/
Language: ru
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-196
Revision: sha256-07696be9936b869961cdc52f5e963d9ea1094d66f3d25794f95d784d41b3d5ac


<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые выводы">

Ключевые выводы

В иллюстративном расчёте отчёт на 15 страниц для четырёх чатов расходует 135 000 входных токенов PDF примерно за $0.40 либо 18 000 токенов Markdown за $0.054: примерно на 87% меньше. Предполагаются 2250 токенов PDF или 300 токенов Markdown на страницу при одинаковой примерной цене ввода. Фактические документы различаются. Ниже описаны три способа конвертации: MarkItDown, PyMuPDF4LLM и MCP-сервер, а также приведён bash-скрипт для пакетной обработки документов.

</div>

<div class="aside" data-semantic="ailoot-docs-link" aria-label="Документация Ailoot">

Практические руководства по Ailoot собраны в [документации](https://ailoot.ai/docs/).

</div>

## Почему обработка страницы PDF в Claude обходится в 1500–3000 токенов?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые выводы">

Ключевые выводы

При загрузке PDF в Claude Code файл обрабатывается не только как текст. Каждая его страница превращается в изображение, после чего текст извлекается и подаётся модели одновременно с изображением. В результате страница занимает примерно 1500–3000 токенов, а документ на 50 страниц может потребовать 75 000–150 000 токенов ещё до первого вопроса.

</div>

В документации Anthropic описан следующий порядок обработки:

<figure>
<blockquote>
<p>Сначала система преобразует каждую страницу документа в изображение. Затем извлекает текст со страниц и передаёт его вместе с соответствующими изображениями. Claude рассматривает и текст, и визуальные данные, чтобы лучше разобраться в содержимом документа.</p>
</blockquote>
<figcaption>Источник: Anthropic — https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support</figcaption>
</figure>

Такой подход помогает анализировать документ, но стоимость увеличивается вместе с числом страниц. Вот почему один PDF способен быстро израсходовать лимит подписки:

<figure>
<blockquote>
<p>На одну страницу обычно приходится 1500–3000 токенов — точное число зависит от насыщенности содержимым. Поскольку страница преобразуется в изображение, к ней применяется и обычная стоимость обработки изображений.</p>
</blockquote>
<figcaption>Источник: Anthropic — https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support</figcaption>
</figure>

Сравнение одного и того же трёхстраничного PDF в Anthropic на Bedrock показывает разницу двух режимов: текстовая обработка через Converse Document Chat использовала около 1000 токенов, а визуальный анализ через Claude PDF Chat — примерно 7000. В этом примере включение изображений увеличило расход в **7 раз**.

Обработка скриншотов тоже требует токенов. Для изображения размером 1000×1000 пикселей приводится оценка примерно в 1300 токенов; тесная обрезка может уменьшить расход до менее чем 100 токенов.

Иными словами, PDF требует больше ресурсов, потому что модель получает и извлечённый текст, и изображение страницы. Для больших документов можно сначала преобразовать файл в Markdown, сохранить его в папке проекта и попросить Claude разобрать материал. Тогда работа будет идти с подготовленным текстом, а не со всем визуальным содержимым PDF сразу.

## Сколько токенов может потребоваться для обычной задачи с PDF?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые выводы">

Ключевые выводы

Возьмём публичный отчёт на 15 страниц для четырёх задач: анализа, поиска цитат, перевода и краткого пересказа. Предположим 2250 входных токенов на страницу PDF, 300 — на преобразованную страницу Markdown и одинаковый тариф ввода. Повторные загрузки PDF дадут 135 000 токенов примерно за $0.40, Markdown — 18 000 за $0.054. Экономия около 87% следует из этих допущений, а не измерений любого PDF.

</div>

Примерные значения для модели Sonnet 4.x при цене входных токенов $3 за миллион:

| Способ | Токены (15 страниц, 4 чата) | Стоимость |
|---|---:|---:|
| Четыре прямые загрузки PDF | 15 × 2250 × 4 = **135 000** | ~$0.40 |
| PDF → Markdown и 4 чата | 15 × 300 × 4 = **18 000** | ~$0.054 |
| Экономия | **−87%** | **−$0.35** |

Это расчёт для одного цикла из четырёх запросов. При использовании prompt caching расход может снижаться дополнительно: срок хранения кэша по умолчанию составляет 5 минут, а на расширенном тарифе может достигать 1 часа. Повторные вызовы в пределах этого окна могут обходиться до 90% дешевле.

Загрузка того же PDF в новый чат означает повторную обработку документа: кэш между чатами не переносится.

Если один раз преобразовать 15-страничный PDF в Markdown и добавить `.md` в каждый из четырёх новых чатов, в этом примере получится 15 × 300 × 4 = 18 000 входных токенов вместо 135 000. Значения 300 токенов на страницу Markdown и 2250 на страницу PDF — допущения расчёта, а не измеренные константы для любого документа. Перед оценкой экономии посчитайте собственный файл и проверьте качество преобразования.

Для подписки Claude Pro разница может быть особенно заметной. Отчёт на 100 страниц способен исчерпать лимит на пять часов. После преобразования в Markdown в тот же бюджет могут поместиться более 10 подобных документов.

## Какие лимиты Anthropic API действуют для PDF в 2026 году?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые выводы">

Ключевые выводы

Anthropic указывает ограничение до 32 МБ на весь запрос и до 600 страниц на документ. Для актуальных моделей Sonnet 4.x и Opus 4.x с контекстом 200K действует более строгий предел — **100 страниц**. PDF можно передать по URL, в Base64 или загрузить через Files API, чтобы повторно обращаться к нему по `file_id`. Большие документы удобно отправлять частями.

</div>

В документации Anthropic приведены такие ограничения (сведения актуальны на 31 мая 2026 года):

| Параметр | Ограничение |
|---|---|
| Максимальный размер запроса | 32 МБ (зависит от платформы) |
| Максимальное число страниц в запросе | 600 (100 для моделей с контекстом 200K токенов) |
| Формат | Стандартный PDF без пароля и шифрования |

<figure>
<blockquote>
<p>Оба ограничения распространяются на всё тело запроса, включая содержимое помимо PDF. Для больших файлов можно воспользоваться Files API и передавать ссылку `file_id`, чтобы не увеличивать размер тела каждого запроса.</p>
</blockquote>
<figcaption>Источник: Anthropic — https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support</figcaption>
</figure>

В веб-версии Claude.ai действуют другие ограничения: размер файла может достигать 500 МБ, а в чате допускается до 20 файлов. Визуальный анализ поддерживается для PDF объёмом до 100 страниц; в более длинных документах Claude видит только текст, без графиков и диаграмм.

Передать PDF через API можно тремя способами:

1. **По URL** — `"source": {"type": "url", "url": "..."}`. Подходит, когда документ доступен онлайн.
2. **В Base64** — `"source": {"type": "base64", "media_type": "application/pdf", "data": "..."}`. Используется для локальных файлов.
3. **Через Files API** — `"source": {"type": "file", "file_id": "file_abc123"}`. Удобно для повторных запросов; требуется beta-заголовок `anthropic-beta: files-api-2025-04-14`.

Files API позволяет загрузить PDF один раз, получить `file_id` и использовать его в последующих запросах, в том числе из разных чатов. Параметр `cache_control: ephemeral` позволяет снизить стоимость повторных вызовов до 10% от обычной цены.

Anthropic также рекомендует учитывать плотность содержимого документа:

<figure>
<blockquote>
<p>PDF с мелким шрифтом, сложными таблицами или большим количеством графики может заполнить контекстное окно раньше, чем будет достигнут предел страниц. Попробуйте разделить файл на секции; перед загрузкой больших документов можно уменьшить разрешение встроенных изображений.</p>
</blockquote>
<figcaption>Источник: Anthropic — https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support</figcaption>
</figure>

## Способ 1: как установить MarkItDown за пять минут?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые выводы">

Ключевые выводы

MarkItDown — Python-утилита Microsoft для преобразования PDF, DOCX, PPTX, XLSX, HTML, аудио, изображений и YouTube-роликов в Markdown. Проект распространяется по лицензии MIT. Установить все дополнительные компоненты можно командой `pip install 'markitdown[all]'`, а преобразовать PDF — командой `markitdown document.pdf > document.md`. Это универсальный вариант для подготовки файлов к работе с Claude Code.

</div>

MarkItDown — официальный проект Microsoft, предназначенный для преобразования файлов в Markdown для языковых моделей и текстовых конвейеров. Описание назначения опубликовано в репозитории проекта:

<figure>
<blockquote>
<p>Это компактная утилита на Python, которая преобразует файлы разных форматов в Markdown для последующего использования с LLM и в конвейерах анализа текста.</p>
</blockquote>
<figcaption>Источник: Microsoft — https://github.com/microsoft/markitdown</figcaption>
</figure>

Утилита работает со следующими категориями файлов:

- **Документы:** PDF, DOCX, PPTX, XLSX
- **Веб-форматы:** HTML, JSON, XML, CSV
- **Медиа:** аудио с транскрипцией, изображения с EXIF и OCR, YouTube-видео с субтитрами
- **Архивы:** ZIP, EPUB
- **Другое:** вложения из файлов Outlook MSG

### Установка

Требуется Python 3.10 или новее. На macOS Python часто уже установлен, а для Windows его может потребоваться установить отдельно.

```bash
pip install 'markitdown[all]'
```

Если нужны только некоторые типы файлов, установите соответствующие дополнения:

```bash
pip install 'markitdown[pdf, docx, pptx]'
```

### Преобразование одного файла

Базовая команда преобразует PDF в Markdown:

```bash
markitdown document.pdf > document.md
```

В текущей папке появится файл `document.md`. Его можно открыть в Claude Code через `@document.md` или сохранить рядом с файлами проекта.

### Python API

Для вызова MarkItDown из собственного скрипта используйте Python API:

```python
from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("research-paper.pdf")
print(result.text_content)

# Сохранить результат в файл:
with open("research-paper.md", "w") as f:
    f.write(result.text_content)
```

### Ограничения MarkItDown

- **Нет OCR для сканированных PDF:** результатом может стать пустой текст. Для сканов рассмотрите PyMuPDF4LLM или Docling.
- **Сложная многоколоночная структура:** порядок чтения может быть нарушен.
- **Встроенные ссылки в PDF:** не сохраняются.

Для обычных текстовых PDF — например, отчётов, статей и документации — MarkItDown удобен простотой установки и запуска. Если важны кириллица и обработка сканов, см. замеры в материале о том, [как извлечь текст из PDF для ИИ](https://ailoot.ai/blog/ru/markitdown-pdf-word-to-text/).

## Способ 2: чем полезен PyMuPDF4LLM и в каких случаях он подходит лучше?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые выводы">

Ключевые выводы

PyMuPDF4LLM — инструмент Artifex Software на основе нативного C-движка MuPDF. Он обрабатывает PDF локально без GPU, распознаёт нечитаемые области с помощью Smart OCR и сохраняет встроенные ссылки и изображения. В исходном описании Smart OCR указано, что такой подход может сократить время обработки на 50%. Лицензия двойная: AGPL v3 или коммерческая лицензия Artifex; перед использованием в SaaS следует проверить условия распространения.

</div>

MarkItDown поддерживает широкий набор форматов, тогда как PyMuPDF4LLM специализируется на PDF.

<figure>
<blockquote>
<p>Лёгкое расширение PyMuPDF для преобразования PDF в структурированные данные без сложной настройки.</p>
</blockquote>
<figcaption>Источник: Artifex Software — https://pymupdf.readthedocs.io/en/latest/pymupdf4llm/</figcaption>
</figure>

На 31 мая 2026 года указана версия 1.27.2.3, выпущенная 24 апреля 2026 года.

### Возможности

- Многоколоночные страницы обрабатываются с сохранением порядка чтения.
- Таблицы можно преобразовать в GitHub-flavored Markdown.
- Верхние и нижние колонтитулы удаляются автоматически.
- Изображения извлекаются в отдельную папку и связываются относительными путями.
- Smart OCR применяется только к областям, которые нельзя прочитать обычным способом; заявленное сокращение времени обработки — около 50%.
- Используется нативный C-движок, поэтому **GPU не требуется**.

### Установка

```bash
pip install pymupdf4llm
```

### Пример использования

```python
import pymupdf4llm

# Преобразовать PDF в Markdown:
md_text = pymupdf4llm.to_markdown("document.pdf")

# Записать результат:
with open("document.md", "w") as f:
    f.write(md_text)
```

Преобразование и сохранение одной командой:

```bash
python3 -c "import pymupdf4llm; \
  open('document.md','w').write(pymupdf4llm.to_markdown('document.pdf'))"
```

### Когда выбрать PyMuPDF4LLM вместо MarkItDown

- Важно сохранить ссылки из PDF, которые MarkItDown может потерять.
- Документ отсканирован и требуется OCR.
- Нужно быстро обработать тысячи локальных файлов: нативный C-движок может быть быстрее Python-обёрток.
- Изображения из PDF нужно извлечь в отдельную папку для дальнейшей работы.

### Важное замечание о лицензии

PyMuPDF4LLM распространяется по двойной лицензии: AGPL v3 либо коммерческой лицензии Artifex.

**При использовании AGPL:** для публичного SaaS могут действовать требования о раскрытии исходного кода сервиса на условиях той же лицензии. Для внутреннего скрипта на личном компьютере ограничения могут быть иными; проверьте применимость лицензии к своему сценарию.

Для коммерческой разработки без раскрытия кода можно запросить лицензию Artifex на artifex.com. Публичный прайс не указан; стоимость уточняется у отдела продаж.

Перед использованием в клиентском продукте проверьте условия лицензии. MarkItDown и Docling распространяются по лицензии MIT.

## Способ 3: как подключить MarkItDown MCP-сервер к Claude Code?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые выводы">

Ключевые выводы

MCP-сервер MarkItDown предоставляет функции конвертации через MCP, чтобы Claude Code мог преобразовывать PDF по запросу. Для подключения используется команда `uvx markitdown-mcp@0.0.1a7`, которая фиксирует версию сервера. Claude получает инструмент `convert_to_markdown(uri)`. В описании сервера указана приблизительная стоимость контекста в 110 токенов для описания инструмента; когда он не используется, дополнительный расход равен нулю.

</div>

При запуске MarkItDown через CLI файл заранее преобразуется вручную. MCP-сервер позволяет Claude Code вызвать конвертацию по мере необходимости.

### Установка

Понадобится менеджер пакетов uv. Устанавливать сервер отдельно не нужно: при первом запуске uv загрузит его автоматически.

### Настройка в Claude Code

Подключить сервер ко всем проектам пользователя и проверить состояние можно так:

```bash
claude mcp add --scope user --env 'ORT_DISABLE_TELEMETRY=1' --env 'UV_PYTHON=3.12' --transport stdio markitdown -- uvx markitdown-mcp@0.0.1a7
claude mcp list
```

В выводе команды для `markitdown` должно отображаться состояние «Connected». При первом запуске загружается около 70 пакетов, что может занять до минуты. В дальнейшем сервер запускается примерно за 1–1,5 секунды.

Переменная `ORT_DISABLE_TELEMETRY=1` отключает телеметрию, которую движок onnxruntime по умолчанию отправляет в Microsoft на macOS и Linux. Параметр `UV_PYTHON=3.12` задаёт Python 3.12, для которого доступны готовые сборки на Windows, Linux и Mac с Apple Silicon. На компьютерах Mac с процессорами Intel и macOS 13 или более ранней версией Python 3.14 может не поддерживаться. При установке Python 3.12 на Intel библиотеку cryptography может потребоваться собирать из исходников: готовая сборка для Intel, согласно приведённым сведениям, отсутствует с июня 2026 года. Установка может занять больше времени или завершиться неудачно. Если Python 3.12 не установлен, uv загрузит его самостоятельно.

Сервер запускается на вашем компьютере и может обращаться к любым файлам, доступным текущему пользователю. Если Claude Code уже открыт, перезапустите его, чтобы сервер `markitdown` появился в списке MCP.

### Использование

В Claude Code можно дать такую команду:

```
Преобразуй /Users/your-user/Documents/report.pdf в Markdown и выдели основные тезисы.
```

Claude вызовет `convert_to_markdown(uri)`, получит Markdown и выполнит анализ. Исходный PDF при этом не добавляется в контекст.

### Поддерживаемые URI

- `file://` — файлы на локальном компьютере
- `http://`, `https://` — документы в сети
- `data:` — встроенные данные в Base64

### Безопасность

В официальном README Microsoft указаны особенности доступа сервера:

<figure>
<blockquote>
<p>В сервере не предусмотрена авторизация; он выполняется с правами пользователя, который его запустил.</p>
</blockquote>
<figcaption>Источник: Microsoft — https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp</figcaption>
</figure>

По умолчанию сервер привязывается к localhost. Если использовать HTTP/SSE с параметрами `--http --host 127.0.0.1 --port 3001`, не выставляйте порт во внешнюю сеть без reverse proxy с авторизацией.

## Какой способ выбрать для своей задачи?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые выводы">

Ключевые выводы

MarkItDown подходит для разных форматов и быстрого запуска из CLI. PyMuPDF4LLM специализируется на PDF, поддерживает OCR и сохранение ссылок, но его лицензия требует отдельной проверки для SaaS. В таблице также приведены Docling для обработки таблиц и формул, Marker для научных статей и MCP-сервер MarkItDown для вызова конвертации непосредственно из Claude Code.

</div>

Сопоставление инструментов:

| Инструмент | Звёзды GitHub | Для чего подходит | Скорость | Лицензия |
|---|---:|---|---|---|
| **MarkItDown** (Microsoft) | 134k | PDF, DOCX, PPTX, YouTube и аудио | Средняя | MIT |
| **PyMuPDF4LLM** (Artifex) | — | PDF, OCR и встроенные URL | Самая высокая (без GPU) | AGPL v3 / коммерческая |
| **Docling** (IBM Research) | 60.7k | Production RAG, таблицы и формулы | Средняя | MIT |
| **Marker** (Datalab) | 35.6k | Научные PDF, arXiv и формулы | Высокая (с GPU) | GPL-3.0 + Open Rail-M |
| **MinerU** | — | Документы на китайском и японском (CJK) | Высокая | Apache-2.0 |

Для Marker приводятся следующие результаты тестов точности и скорости:

<figure>
<blockquote>
<p>На графическом ускорителе H100 обработка занимает 0,18 секунды на страницу, или 122 страницы в секунду. Заявленная точность — 95.67% против 84.24% у Llamaparse и 86.43% у Mathpix; для научных статей указано 96.67%.</p>
</blockquote>
<figcaption>Источник: Datalab — https://github.com/datalab-to/marker</figcaption>
</figure>

Для высокой скорости Marker требует GPU и использует модели машинного обучения. Для большинства обычных текстовых PDF можно обойтись без GPU, выбрав PyMuPDF4LLM или MarkItDown.

### Простое правило выбора

1. **Один-два PDF, нужен быстрый результат** — MarkItDown CLI.
2. **Десятки PDF и автоматизация** — MarkItDown MCP-сервер или PyMuPDF4LLM в скрипте.
3. **В PDF есть ссылки и изображения, важно сохранить структуру** — PyMuPDF4LLM.
4. **Production RAG для бизнеса и важна обработка таблиц** — Docling.
5. **Научные статьи с формулами** — Marker.
6. **Нужно, чтобы Claude сам запускал конвертацию** — MarkItDown MCP-сервер.

## Как настроить автоматическую конвертацию документов в папке?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые выводы">

Ключевые выводы

Bash-скрипт может находить PDF, DOCX, PPTX и XLSX в папке проекта, преобразовывать их в Markdown и сохранять результаты в подпапке `_md/`. После настройки достаточно запускать его для новой папки, а затем открывать подготовленные текстовые файлы через `@_md/` в Claude Code.

</div>

Например, в одной папке могут лежать 40 PDF и PPTX: выписки, договоры и презентации. Если передавать все исходники в Claude, большой объём данных попадёт в контекст ещё до первого ответа. Скрипт ниже позволяет преобразовать документы за один проход и затем работать с файлами `.md`.

Сохраните скрипт в проекте под именем `scripts/docs-to-md.sh`:

```bash
#!/bin/bash
# docs-to-md.sh - преобразует документы из папки в Markdown с помощью MarkItDown
# Использование: bash docs-to-md.sh ./documents

set -e

INPUT_DIR="${1:-./documents}"
OUTPUT_DIR="${INPUT_DIR}/_md"

mkdir -p "$OUTPUT_DIR"

echo "Сканирую $INPUT_DIR..."

for file in "$INPUT_DIR"/*.{pdf,docx,pptx,xlsx}; do
  [ -f "$file" ] || continue

  basename=$(basename "$file")
  name="${basename%.*}"
  output="$OUTPUT_DIR/${name}.md"

  if [ -f "$output" ] && [ "$output" -nt "$file" ]; then
    echo "Пропускаю $basename (уже сконвертирован)"
    continue
  fi

  echo "Конвертирую $basename..."
  markitdown "$file" > "$output"
done

echo "Готово. Результаты в $OUTPUT_DIR"
```

Добавьте файлу право на исполнение:

```bash
chmod +x scripts/docs-to-md.sh
```

Запустите его, указав папку с документами:

```bash
bash scripts/docs-to-md.sh ./reports
```

Преобразованные файлы `.md` появятся в `./reports/_md/`. В Claude Code их можно открыть через `@reports/_md/` и использовать вместо исходных PDF.

Скрипт пропускает файл, если соответствующий Markdown уже существует и новее исходника. Поэтому повторный запуск не обрабатывает заново документы, которые не менялись.

### Идемпотентность и обработка изменений

Чтобы обнаруживать изменение PDF, сохранённого под прежним именем, добавьте проверку контрольной суммы содержимого:

```bash
hash=$(shasum -a 256 "$file" | cut -d' ' -f1)
hash_file="$OUTPUT_DIR/.${name}.sha256"

if [ -f "$hash_file" ] && [ "$(cat "$hash_file")" = "$hash" ]; then
  echo "Пропускаю $basename (хэш совпадает)"
  continue
fi

markitdown "$file" > "$output"
echo "$hash" > "$hash_file"
```

В этом варианте файл будет преобразован заново только после изменения его содержимого.

## В каких случаях PDF лучше оставить без преобразования в Markdown?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые выводы">

Ключевые выводы

При преобразовании PDF в Markdown могут пропасть диаграммы и чертежи, нарушиться структура сложных таблиц, а номера страниц — потеряться. Если для задачи важны визуальные детали или точная привязка цитат к странице, используйте исходный PDF и учитывайте дополнительную стоимость визуального анализа.

</div>

Есть три ситуации, в которых Markdown может оказаться менее подходящим:

### 1. Нужно анализировать графики и диаграммы

Если Claude должен интерпретировать график цен, схему процесса или архитектурную диаграмму, преобразованный текст может не содержать нужных визуальных данных. Подписи к рисункам иногда сохраняются, но само изображение может быть утрачено.

**Решение:** загрузите PDF и используйте визуальный анализ. В Claude API соответствующая обработка применяется автоматически; на AWS Bedrock требуется флаг `citations`.

<figure>
<blockquote>
<p>Чтобы лучше понять документ, Claude анализирует и текст, и изображения.</p>
</blockquote>
<figcaption>Источник: Anthropic — https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support</figcaption>
</figure>

### 2. В таблицах есть объединённые ячейки

Табличная разметка Markdown двумерная и плоская. При преобразовании таблицы с объединёнными ячейками, многоуровневыми заголовками или вложенными таблицами связи между элементами могут потеряться.

**Решение:** передайте PDF напрямую, попробуйте Docling для сложных таблиц или разметьте результат вручную после конвертации.

### 3. Важно ссылаться на документ и его страницы

В договорах, юридических документах и протоколах может понадобиться цитата с указанием страницы и абзаца. При преобразовании в Markdown номера страниц часто исчезают.

**Решение:** используйте PDF, Files API и prompt caching. Загрузите файл один раз, а затем обращайтесь к нему через `file_id`: так можно сохранить возможность ссылаться на конкретные страницы.

### Короткие документы

Если PDF занимает менее двух страниц и нужен только один раз, конвертация может не окупиться. В приведённом примере прямой разбор PDF требует 5000 токенов против 800 для Markdown — разница не всегда оправдывает установку дополнительного инструмента.

Ориентировочная граница — пять и более страниц либо два и более обращения к одному документу. Для меньшего объёма PDF можно загрузить напрямую, а более длинные или повторно используемые документы — преобразовать.

## Какие пять ошибок чаще всего допускают при работе с PDF в Claude?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые выводы">

Ключевые выводы

К распространённым ошибкам относятся повторная загрузка одного PDF в разные чаты, отсутствие prompt caching для повторных запросов, использование скриншотов вместо текста, обработка сканов без OCR и игнорирование ограничения в 100 страниц для моделей с контекстом 200K. Эти действия могут существенно увеличить расход токенов.

</div>

### 1. Повторно загружать один PDF в каждый новый чат

В Claude Pro действует лимит сообщений на пятилетний интервал. Один отчёт на 50 страниц может занять значительную часть доступного лимита ещё до второго вопроса.

Удобное правило — **одна задача на чат**. Если расход токенов резко растёт, проверьте, не накапливаются ли в одном разговоре лишние материалы и повторные загрузки PDF. Разбейте работу на небольшие задачи, преобразуйте документ в Markdown один раз и добавляйте файл `.md` в нужный чат рядом с материалами проекта.

**Решение:** преобразуйте PDF в Markdown один раз или используйте Files API с `file_id` и prompt caching.

### 2. Отправлять скриншот вместо текста

Например, чтобы показать Claude фрагмент кода или таблицу, можно случайно сделать снимок всего экрана размером 1920×1080. Изображение расходует заметно больше токенов, чем текстовое содержимое.

Для скриншота 1000×1000 пикселей приводится оценка около 1300 токенов. Тот же фрагмент текста, скопированный напрямую, может занять 50–100 токенов — примерно в 13–26 раз меньше.

**Решение:** обрезайте скриншот до нужной области, а если возможно — вставляйте текст напрямую.

### 3. Обрабатывать скан без OCR

MarkItDown не распознаёт текст на сканированных PDF. После конвертации может получиться пустой `.md` или несколько строк с ошибками распознавания.

**Решение:** используйте PyMuPDF4LLM со Smart OCR или Docling.

### 4. Не учитывать ограничение в 100 страниц

В документации Anthropic указано общее ограничение до 600 страниц на запрос, но для моделей с контекстом 200K, включая Sonnet 4.x и Opus 4.x, предел составляет **100 страниц**. Ограничение в 600 страниц может относиться к другим моделям или условиям использования.

При отправке отчёта на 150 страниц модели Sonnet 4.6 запрос может завершиться ошибкой. В любом случае не следует полагаться на то, что модель обработала все страницы, если документ превышает установленный лимит.

**Решение:** разделите длинный PDF перед загрузкой или преобразуйте его в Markdown. Для Markdown действует ограничение на число токенов, а не на страницы PDF.

### 5. Не включать prompt caching для повторных запросов

Если один и тот же документ используется через API несколько раз, можно добавить `cache_control: ephemeral`. По приведённым условиям, повторные вызовы в течение пяти минут могут стоить 10% исходной цены, то есть давать скидку до 90%.

**Решение:** при повторной работе с документом настройте prompt caching и проверьте актуальные условия тарифа.

## Как продолжить работу над контекстом в Claude Code?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Ключевые выводы">

Ключевые выводы

Преобразование PDF в Markdown — один из способов управлять контекстом модели. Контекст включает не только вопрос, но и системный промпт, `CLAUDE.md`, файлы, MCP-серверы и историю сессии. Чем больше в нём релевантных материалов, тем проще модели сосредоточиться на задаче и тем легче контролировать расход токенов.

</div>

Само по себе преобразование PDF в Markdown снижает объём передаваемых данных, но не гарантирует более точный ответ. На результат также влияет контекст, доступный модели до того, как она получит вопрос.

Если в `CLAUDE.md` содержится 800 строк, к проекту подключено 10 ненужных MCP-серверов, а в контекст добавлен PDF на 100 страниц, обработка Markdown устранит только часть лишнего объёма. Другие материалы тоже стоит проверять на необходимость.

- [Как расходуются токены в Claude Code](https://ailoot.ai/blog/ru/where-claude-code-tokens-go/) — девять способов снизить лишнюю нагрузку на контекст.
- [Контекст-инжиниринг в 2026 году](https://ailoot.ai/blog/ru/context-engineering/) — системное управление содержимым контекста.
- [Plan Mode в Claude Code](https://ailoot.ai/blog/ru/claude-code-plan-mode/) — режим планирования до начала написания кода.

<div class="section" role="doc-bibliography" aria-label="Источники">

### Источники

- [Anthropic — поддержка PDF](https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support)
- [Anthropic — загрузка файлов в Claude](https://support.claude.com/en/articles/8241126-upload-files-to-claude)
- [Microsoft MarkItDown на GitHub](https://github.com/microsoft/markitdown)
- [MCP-сервер MarkItDown](https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp)
- [PyMuPDF4LLM — документация Artifex Software](https://pymupdf.readthedocs.io/en/latest/pymupdf4llm/)
- [Docling — репозиторий IBM Research](https://github.com/DS4SD/docling)
- [Marker — репозиторий Datalab](https://github.com/datalab-to/marker)

</div>



<div class="aside" data-semantic="ailoot-link" aria-label="Ailoot">

Больше об Ailoot — на [ailoot.ai](https://ailoot.ai/).

</div>

## Вопросы и ответы

### Сколько токенов Markdown в примере с 15 страницами и четырьмя чатами?

При допущении 300 токенов на преобразованную страницу получается 15 × 300 × 4 = 18 000 входных токенов. Это примерная оценка. Для собственного файла посчитайте токены преобразованного документа.

### Всегда ли достаточно текстового преобразования PDF?

Нет. Сопоставьте Markdown с PDF, особенно таблицы, порядок страниц и информацию на изображениях. Сравнивайте токены после проверки сохранения нужных для задачи сведений.


## Ailoot · Компания и портфель её проектов

Ailoot опирается на накопленный опыт работы, большую клиентскую базу, стабильный сервис и постоянный контроль KPI.

Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.

Этот опыт Ailoot использует для API-доступа к нейросетям в продуктах клиентов, агентах, приложениях и автоматизациях.
