PDF 有多少權杖?4 家供應商、4 種規則,每頁 15 到 2,100
目錄
把 PDF 當成檔案傳給模型,各家供應商的計費規則都不同。GPT-6 計算頁面文字的權杖數,再加上每頁約 15 個。Claude 計算文字後,每頁再加 1,558 個。Gemini 每頁計 515 個權杖,文字不另計。Qwen 3.8 則在文字之外,每頁加計 2,098 個。我們在相同頁面上逐步增加文字量,實測這些規則,再把十份文件送給十五個模型,找出各類文件既省錢、又能正確回答問題的傳送方式。
TL;DR
- PDF 以檔案傳送時,GPT-6 在文字之外每頁加計 15 個權杖,Claude 加計 1,558 個,Qwen 3.8 加計 2,098 個。Gemini 每頁固定計 515 個,文字免費。
- 使用擷取出的文字,150 題圖表問題答對 0 題,105 題掃描文件問題也答對 0 題。
- 逐頁選擇傳送方式,讓混合型文件在 Claude Sonnet 5.5 的輸入從 17,228 個權杖降到 6,543 個,12 題全部答對。
- 從 120 頁的 PDF 選出 4 頁傳送,讓 Claude Sonnet 5.5 的輸入從 253,822 個權杖降到 8,758 個。
文件要怎麼傳給模型?
有三種方式:直接傳檔案、傳各頁的圖片,或先擷取文字再傳送。
import base64
import pymupdf # pip install pymupdf
doc = pymupdf.open("report.pdf")
b64 = lambda data: base64.b64encode(data).decode() # binary written as text, so it fits in JSON
# 1. As a file. The vendor decides how to read it.
as_file = [{"type": "file", "file": {"filename": "report.pdf", # OpenAI-compatible chat
"file_data": "data:application/pdf;base64," + b64(open("report.pdf", "rb").read())}}]
as_document = [{"type": "document", "source": {"type": "base64", # Anthropic Messages API
"media_type": "application/pdf", "data": b64(open("report.pdf", "rb").read())}}]
# 2. As page images. You render each page; any model that accepts images takes these.
as_images = [{"type": "image_url", "image_url": {"url": "data:image/jpeg;base64," +
b64(page.get_pixmap(dpi=72).tobytes("jpeg"))}} for page in doc]
# 3. As text. The text layer is the selectable text stored in a PDF. A scan has none.
as_text = "\n\n".join(page.get_text() for page in doc)
十五個模型在 chat 端點接受的輸入如下:
| 模型 | PDF 檔案 | 頁面圖片 | 文字 |
|---|---|---|---|
| GPT-6.1 Sol、GPT-6 Luna | 支援 | 支援,每次請求最多 50 張 | 支援 |
| Claude Opus 5.5、Sonnet 5.5、Haiku 5.5 | 支援 | 支援 | 支援 |
| Gemini 3.1 Pro、Gemini 3.8 Flash | 支援 | 支援 | 支援 |
| Qwen 3.8 Max、Qwen 3.8 Flash | 支援 | 支援 | 支援 |
| Qwen 3.6 35B(開放權重)、DeepSeek V4.1 Flash、GLM 5.3 Flash、Kimi K3 | 不支援 | 支援 | 支援 |
| GLM 5.3、DeepSeek V4 Pro | 不支援 | 不支援 | 支援 |
所有視覺模型都接受頁面圖片,包括那四個已公開權重、但不接受檔案的開放權重模型。在我們使用的端點上,Gemini 模型接受放在圖片內容欄位中的 PDF data URL;Google 自家的 API 則接受內嵌資料。
怎麼確認模型真的讀了檔案?
問一個只有檔案裡才有答案的問題,再檢查輸入權杖數。不支援的輸入有時會回傳 400 錯誤,有時會被直接忽略,模型仍照常回答。測試時,兩個不具視覺能力的模型忽略了圖片內容,對兩頁文件的回應分別只計入 27 和 98 個輸入權杖。另有一個模型收到的是 URL 而非檔案,卻編造了文件內容來回答。
r = client.chat.completions.create(model=model, messages=[{"role": "user", "content": as_file + [question]}])
read_it = "MF-OPS-2291" in r.choices[0].message.content # a string found only in the document
plausible = r.usage.prompt_tokens > 200 * len(doc) # a dropped file leaves a few dozen tokens
判斷頁面類型不需要模型,後面逐頁選擇傳送方式也會用到這個分類:
def kind(page) -> str:
if len(page.get_text().strip()) < 40:
return "scan" # no text layer: needs OCR or an image
if page.get_images() or len(page.get_drawings()) > 60:
return "visual" # a picture or a chart drawn on the page
return "text"
各家供應商怎麼計算 PDF 檔案的權杖數?
共有四種規則。我們製作了六頁的 PDF,分別測試每頁 0、80、250、500 和約 670 個英文單字的版本,再製作每頁都有圖表的版本。每個版本都以檔案和擷取文字兩種方式傳送。
| 供應商 | PDF 以檔案傳送時的權杖數 |
|---|---|
| GPT-6 | 文字權杖數加上每頁 14.5 個。頁面有圖片時,另加約 650 到 1,700 個 |
| Claude | 文字權杖數加上每頁固定 1,558 個。頁面有圖表也不另計 |
| Gemini | 不論頁面內容,每頁都是 515 個。文字不計入 |
| Qwen 3.8 | 約為文字權杖數的 0.94 倍,加上每頁 2,098 個。有圖表時另加約 770 個 |
權杖是模型的計費單位,一個權杖約等於四分之三個英文單字。同系列模型的計算結果相近,差距只有幾個權杖。
至少在我們實測的傳送路徑上,有兩項規則與供應商公布的說明不同。Google 文件寫的是每頁 258 個權杖,PDF 本身的文字不收費;我們測到每頁 515 個,文字則確實免費。OpenAI 文件表示,PDF 會轉成擷取文字和頁面圖片送入模型;但這次測試中,純文字頁面沒有圖片費用。Anthropic 文件表示,每頁都會以文字和圖片處理,通常需要 1,500 到 3,000 個權杖,與實測相符。
這些規則帶來幾個結果:
- Claude 和 Qwen 的稀疏頁面很貴。一頁只有一行文字,當成檔案傳也要 1,558 或 2,098 個權杖;只傳文字則只需十幾個。
- Gemini 的密集頁面很便宜。一頁約 670 個單字,與空白頁一樣只需 515 個權杖;單傳文字則約需 800 個。
- GPT-6 的檔案費用幾乎等於文字費用,直到頁面出現圖片。整頁都是圖片的掃描頁面,實測需要 2,868 個權杖。
一份 12 頁、每頁約 250 個單字的純文字報告,以檔案傳送時,GPT-6.1 Sol 計入 6,028 個權杖,Gemini 3.8 Flash 為 6,441 個,Claude Sonnet 5.5 為 27,297 個,Qwen 3.8 Flash 為 30,934 個。擷取文字後,十五個模型的計算結果都落在 5,924 到 8,716 個權杖之間。
什麼情況下,擷取文字會失效?
只要答案不在文字層裡就會失效。我們依每題所需的資訊分類,以下彙整十五個模型的結果:
| 傳送方式 | 正文 | 表格儲存格 | 圖表 | 掃描頁面 |
|---|---|---|---|---|
| 擷取文字 | 300 題答對 297 題 | 170 題答對 168 題 | 150 題答對 0 題 | 105 題答對 0 題 |
| OCR 後傳文字 | 105 題答對 104 題 | |||
| PDF 檔案 | 186 題答對 186 題 | 103 題答對 103 題 | 90 題答對 90 題 | 63 題答對 62 題 |
| 頁面圖片,110 dpi | 260 題答對 258 題 | 148 題答對 148 題 | 130 題答對 130 題 | 91 題答對 89 題 |
| 頁面圖片,72 dpi | 260 題答對 257 題 | 148 題答對 142 題 | 130 題答對 130 題 | 91 題答對 88 題 |
每英吋點數(dpi)表示頁面轉成圖片時的解析度;US Letter 頁面在 72 dpi 下是 612 × 792 像素。OCR 是光學字元辨識,用軟體讀取圖片中的文字;我們在本機執行開源的 Tesseract。
所有模型在圖表與掃描文件的擷取文字測試中都答對零題,因為文字裡沒有那些數字。OCR 能把掃描報告還原成文字,以文字價格處理,但無法處理圖表:我們對一份 15 張投影片的圖表簡報執行 OCR,再交給兩個模型,兩者都是 7 題答對 0 題。這次表格能順利擷取,是因為我們用的是簡單的格狀表格。合併儲存格和欄位內換行更難處理,請用自己的文件測試。
怎麼降低文件處理費用?
有七種方法,其中六種做了實測。
1. 依計費規則選擇傳送方式。純文字頁面就傳文字。其他頁面在 Gemini 上傳檔案,在其他供應商上傳 72 dpi 頁面圖片,因為圖片費用不會隨頁面文字量增加。一份內容密集的 6 頁 IRS 表單,在 Claude Sonnet 5.5 上傳文字需要 13,635 個權杖,傳檔案需要 22,871 個,傳 72 dpi 圖片只需 4,015 個;三種方式都答對全部三題。
2. 逐頁選擇傳送方式。實際文件通常混有不同類型的頁面,可以用前面的 kind 函式分類:文字頁傳文字,有圖片的頁面傳 72 dpi 圖片,掃描頁先做 OCR。以下是一份九頁文件的結果,包含四頁文字、三頁圖表、兩頁掃描,搭配 12 題問題:
| 模型 | 傳檔案 | 逐頁選擇傳送方式 | 全部傳 72 dpi 圖片 |
|---|---|---|---|
| GPT-6 Luna | 15,106,答對 12 題 | 5,140,答對 12 題 | 5,750,答對 9 題 |
| Claude Sonnet 5.5 | 17,228,答對 12 題 | 6,543,答對 12 題 | 6,257,答對 12 題 |
| Qwen 3.8 Flash | 25,036,答對 12 題 | 5,313,答對 12 題 | 4,710,答對 12 題 |
| Gemini 3.8 Flash | 5,043,答對 12 題 | 7,110,答對 12 題 | 10,278,答對 12 題 |
與傳檔案相比,逐頁選擇方式讓三家供應商的輸入減少 62% 到 79%,而且仍然全部答對。Gemini 則是直接傳檔案就最便宜。
3. 降低圖片解析度,但文字頁不要降太低。頁面圖片的像素越少,權杖數通常越低;Gemini 是例外,各種尺寸的計費都相同。標籤字體較大的圖表投影片在 36 dpi 仍能辨讀,我們測試的六個模型都至少答對 7 題中的 6 題。15 張投影片在 Claude Haiku 5.5 上只需 2,874 個權杖,傳檔案則需 23,949 個。正文需要 72 dpi:在 50 dpi 下,Claude Haiku 5.5 和 Gemini 仍答對全部 7 題,但 GLM 5.3 Flash 降到只答對 2 題。GPT-6 Luna 在所有低於 96 dpi 的頁面圖片測試中,都有原本答對的題目變成答錯,因此應傳檔案或文字給它。
4. 在 OpenAI 上,圖片頁面把 detail 設為 low。Responses API 支援在 PDF 檔案上指定 detail 欄位。設為 low 後,GPT-6 Luna 讀取 15 張投影片只需 9,985 個權杖,預設則需 22,155 個;掃描報告只需 11,387 個,預設則需 34,396 個,而且所有問題都答對。純文字頁面沒有變化。
5. 只傳需要的頁面。對一份 120 頁手冊,我們先讓 GPT-6 Luna 讀取擷取文字(46,420 個權杖),指出四個問題各自需要哪一頁。接著把這 4 頁組成 PDF,交給 Claude Sonnet 5.5,僅用 8,758 個權杖就答對全部四題。整份檔案在 Claude 上需要 253,822 個權杖;把第一次篩選也算進去,輸入費用從 $0.508 降到 $0.022。
6. 用便宜模型轉寫內容,再讓大型模型推理。便宜的視覺模型把 15 張圖表投影片轉成 Markdown 表格,花費 $0.002 到 $0.011。接著 Claude Opus 5.5 根據約 2,000 個權杖的轉寫文字回答全部七題,輸入費用為 $0.010;直接傳檔案則需 23,949 個權杖,輸入費用為 $0.096。轉寫結果可以保留,之後繼續提問。
7. 快取文件,能等的請求改用批次處理。在 PDF 上設定快取斷點,也就是 Anthropic API 的 cache_control 標記後,向 Claude Sonnet 5.5 問六題的費用從 $0.461 降到 $0.117:第一次把 38,364 個權杖寫入快取,後五次讀取快取,每次約 $0.004。批次處理是唯一沒有實測的方法。OpenAI、Anthropic 和 Google 都公布,24 小時內回傳結果的 batch API 按半價計費;Anthropic 也表示,這個折扣可與快取折扣併用。
有一個價格門檻要留意:120 頁 PDF 在 Claude 上超過 250,000 個權杖,而 Claude Haiku 5.5 對超過 100,000 個權杖的 prompt,會按五倍價格計費。同一份手冊擷取成文字後只有 68,382 個權杖。
Word 檔案怎麼處理?
先轉檔。我們測試的六個模型中,只有 GPT-6.1 Sol 和 GPT-6 Luna 接受直接傳送 .docx 檔案,而且只讀取文字,符合 OpenAI 對非 PDF 檔案的說明。文字和表格用 pandoc 轉成 Markdown 就夠了:一份九頁合約只需 3,144 個權杖,每個模型都答對全部 7 題。一份內嵌圖表的備忘錄用這個方式只答對 5 題中的 2 題;改用 LibreOffice 轉成 PDF 後,5 題全部答對,在 Gemini 3.8 Flash 上需要 1,217 個權杖,在 Claude Sonnet 5.5 上需要 3,827 個。
測試方法
共十份文件:七份自行產生的文件,包括 12 頁報告、8 頁財務表格、15 張投影片的圖表簡報、報告的掃描版本、120 頁手冊、Word 合約和 Word 備忘錄;另外三份是公開文件,包括論文〈Attention Is All You Need〉、IRS Form W-9,以及 NIST 的 AI 風險管理框架。每份文件搭配三到七題問題,每題都有一個可查核的答案。
主要測試把每份文件以每種方式傳给每個模型,每次請求傳一整份文件:2026 年 10 月 10 日共發出 568 次請求,其中 566 次成功,GPT-6 Luna 兩次拒絕了 120 張頁面圖片。計費規則與成本測試則在同一天另外發出 176 次請求,每家供應商選一個低價模型。除了快取測試使用 Messages API、detail 測試使用 Responses API,其餘全部經過 Synthorai 閘道的 OpenAI 相容 chat 端點。美元金額都依牌價計算。
權杖數是這條傳送路徑上的端點回報值。同一模型在其他供應商上,檔案前處理方式可能不同,因此在採用某項規則前,請先在自己的路徑上跑一次六頁測試。每份文件只有三到七題,全部答對只能表示該方式能讀懂文件,不能證明完全沒有資訊損失。
常見問題
PDF 一頁有多少權杖?
取決於供應商。以檔案傳送時,GPT-6 是文字加約 15 個權杖,Claude 是文字加 1,558 個,Gemini 固定 515 個且文字免費,Qwen 3.8 則是文字加約 2,098 個。一張掃描頁面在 GPT-6.1 Sol 上實測為 2,868 個權杖,在 Claude Sonnet 5.5 上為 1,579 個。
傳 PDF 還是擷取文字比較便宜?
純文字頁面在各家供應商上,擷取文字都比較便宜或價格相同,只有 Gemini 例外。Gemini 不計文字權杖,因此文字密集的頁面直接傳檔案反而用掉更少權杖。在 GPT-6.1 Sol 上,傳檔案的費用幾乎與傳文字相同。擷取文字無法回答圖表或掃描頁面的問題。
LLM 能讀取掃描 PDF 嗎?
可以,只要傳送檔案或頁面圖片。掃描文件擷取出的文字是空的,在我們的測試中,105 題答對 0 題。在本機執行 OCR 再傳送結果,則答對 105 題中的 104 題,並按文字價格計費。對印刷文字的掃描文件,這是最便宜的方式。
哪些模型能直接接收 PDF 檔案?
我們測試中支援的有 GPT-6.1 Sol、GPT-6 Luna、三個 Claude 5.5 模型、Gemini 3.1 Pro、Gemini 3.8 Flash、Qwen 3.8 Max 和 Qwen 3.8 Flash。DeepSeek V4.1 Flash、GLM 5.3 Flash、Kimi K3 和 Qwen 3.6 35B 接受頁面圖片,但不接受檔案。
怎麼降低長篇 PDF 的成本?
減少傳送頁數、為每頁選擇最便宜的方式,並重複利用已傳送的內容。先用便宜模型挑出相關頁面,讓 Claude Sonnet 5.5 的 120 頁請求從 253,822 個輸入權杖降到 8,758 個。依頁面類型選擇傳送方式,讓混合型文件的輸入減少 62% 到 79%。使用快取,則讓同一份文件的六題費用從 $0.461 降到 $0.117。
延伸閱讀
- 一張圖片有多少權杖?:頁面圖片所適用的圖片計費規則。
- Claude Haiku 5.5 價格:長篇 PDF 可能跨過的 100,000 個權杖門檻。
- 提示快取的寫入費用:快取文件第一次請求的費用。