PDF.chat API

PDF файлыг татаж аваад өөрийн програмаасаа chat-ыг нь нэмнэ - асуулт асууж, 100-аас дээш хэл дээрх хуудаснаас иш татан хариулт авах. Хуудасны тоогоор, гайхалтай зүйл байхгүй.

Тодорхойлолт

PDF.chat API нь жижиг REST интерфэйс юм. Эхлээд та POST Хуулийг оруулж, хуулбарлах ажилд оруулах, мөн хуулбарлах ажилд оруулах, мөн хуудасны хуваалт (хэсэг, хязгаарлах хайрцаг, найдвартай байдал)- ийг оруулах. POST Энэ ажилд асуулт тавьж, баримтад суурилсан хариулт авах, хуудас бүр нь гарчигтай.5хэсэгээс бага хуудастай ажил нь мөрөнд буцаана; том ажил нь шууд урт үсгээр буцаана pending Та юуг хүсч байна вэ? done.

  • Үндсэн URL: https://pdf.chat
  • Хуулийн сэдэв: PDF, Word, PowerPoint, текст, зураг (PNG, JPG, WEBP, GIF, BMP, TIFF)
  • Chat-аас: хуудасны ишлэлтэй хариулт; түүхийн төгсгөлийн цэгээс дамжуулан бичлэгүүд
  • Үйлчлүүлсэн текст: txt, md, docx, pdf, csv, json
  • Унших хөдөлгүүр: cpu (шууд, хэвлэгдсэн баримтууд) ба vlm (хүнд AI, гарын үсэг, хэцүү загвар, математик)

Ангилал

Таныг баталгаажуулах API тэмдэгт (Таны компьютер дээр олж авна) Тохиргооны хуудас) -ийг үүрэн дээрх толгойн хэсэгт:

Authorization: Bearer YOUR_API_TOKEN

Та мөн дамжуулж болно ?api_token=… Асуултын параметр болгон ашиглах. Хэрэглэл нь таны дансны хуудасны тэнцвэртэй харьцуулагдана.

Хуулийг илгээх

POST /api/v1/ocr/, олон хэсэгт хуваагдсан маягт өргөх.

curl -X POST https://pdf.chat/api/v1/ocr/ \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -F "file=@invoice.pdf" \
  -F "tier=vlm" \
  -F "language=auto"

Ажлыг буцаана. ≤5 хуудастай файлуудад энэ нь бэлэн болсон done тексттэй; том файлууд буцаж ирнэ pending/processing, нөхцөлийн эцсийн цэгийг асуу.

{
  "uuid": "9f2c1b7e4a...",
  "status": "done",
  "tier": "vlm",
  "language": "auto",
  "page_count": 1,
  "mean_confidence": 0.98,
  "text": "INVOICE\nAcme Corp\nTotal: 215.00 USD",
  "markdown": "# INVOICE\n\n**Acme Corp** ...",
  "pages": [ { "index": 0, "text": "...", "blocks": [ { "text": "...", "bbox": [x0,y0,x1,y1], "confidence": 0.98 } ] } ]
}

Үр дүнг авах

GET /api/v1/ocr/<uuid>/, асуулт status нь done эсвэл failed.

curl https://pdf.chat/api/v1/ocr/9f2c1b7e4a.../ \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Хуудасны өнгө

GET /api/v1/ocr/<uuid>/download/?format=md, үр дүнг экспортлох. format нэг нь txt, md, docx, pdf, csv, json.

curl -L "https://pdf.chat/api/v1/ocr/9f2c1b7e4a.../download/?format=docx" \
  -H "Authorization: Bearer YOUR_API_TOKEN" -o result.docx

Chat with a document

Хийсэн ажлын талаар асуулт асуу. Хариулт нь зөвхөн түүвэрлэгдсэн текст болон эх сурвалж хуудаснаас хамаарна. Тооцооны тэмдэг шаардагдана, chat- ийн онцлог нь дансны хаалттай.

POST /api/v1/chat/<uuid>/, JSON бие {"message": "your question"}.

curl -X POST https://pdf.chat/api/v1/chat/9f2c1b7e4a.../ \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"message": "What is the invoice total and due date?"}'

Хариулт болон ишлэл хуудасны жагсаалтыг агуулсан туслах мэдээг буцаана:

{"conversation": "a1b2…", "message": {
   "role": "assistant",
   "content": "The total is $42, due on March 3 (p. 1).",
   "citations": [{"page": 1, "cited_text": "The invoice total is $42…", "document_id": "9f2c1b7e4a…"}]
}}

GET /api/v1/chat/<uuid>/history/, Ажлын бүх ярианы бичлэгийг авах

Кодын жишээ

import requests, time

BASE = "https://pdf.chat/api/v1"
H = {"Authorization": "Bearer YOUR_API_TOKEN"}

# 1. Upload a PDF
with open("contract.pdf", "rb") as f:
    job = requests.post(BASE + "/ocr/", headers=H, files={"file": f}).json()

# 2. Wait until it's ready to chat
while job["status"] in ("pending", "processing"):
    time.sleep(2)
    job = requests.get(f"{BASE}/ocr/{job['uuid']}/", headers=H).json()

# 3. Ask questions — every answer is cited to the page
ans = requests.post(f"{BASE}/chat/{job['uuid']}/", headers=H,
    json={"message": "What is the termination notice period?"}).json()
print(ans["message"]["content"])
print(ans["message"]["citations"])
import fs from "fs";

const BASE = "https://pdf.chat/api/v1";
const H = { Authorization: "Bearer YOUR_API_TOKEN" };

// 1. Upload a PDF
const form = new FormData();
form.append("file", new Blob([fs.readFileSync("contract.pdf")]), "contract.pdf");
let job = await (await fetch(`${BASE}/ocr/`, { method: "POST", headers: H, body: form })).json();

// 2. Wait until it's ready to chat
while (["pending", "processing"].includes(job.status)) {
  await new Promise(r => setTimeout(r, 2000));
  job = await (await fetch(`${BASE}/ocr/${job.uuid}/`, { headers: H })).json();
}

// 3. Ask questions — every answer is cited to the page
const ans = await (await fetch(`${BASE}/chat/${job.uuid}/`, {
  method: "POST", headers: { ...H, "Content-Type": "application/json" },
  body: JSON.stringify({ message: "What is the termination notice period?" })
})).json();
console.log(ans.message.content, ans.message.citations);
# 1. Upload a PDF
curl -X POST https://pdf.chat/api/v1/ocr/ \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -F "file=@contract.pdf"

# 2. Ask questions (use the uuid from step 1) — answers cited to the page
curl -X POST https://pdf.chat/api/v1/chat/UUID/ \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"message": "What is the termination notice period?"}'

Параметрүүд

ХуудасТоглоомын төрөлТодорхойлолт
filefileЗаавал Хийх зураг эсвэл PDF.
tierstringcpu (стандарт, хурдан/ хэвлэгдсэн) эсвэл vlm (premium AI: гарын үсэг, загвар, математик) Name
languagestringauto (стандарт) эсвэл хэлний код (en, ch, ja, ar,...).
toolstringӨөрийн сонгосон хэрэгслийн бөгж (жишээ нь summarize-pdf, ask-pdfchat-ыг энэ ажилд бэлтгэх.

Буруу ба хязгаарлалт

КодҮг
400Файл байхгүй, дэмжигдээгүй төрөл эсвэл файл хэт том.
401API түлхүүр алга эсвэл хүчингүй.
402Хуудас дууссан, өдөр/сарын чөлөөт хязгаар хүрсэн, эсвэл кредит байхгүй. Тархинд нь used/cap.
404Ажлын UUID олж чадахгүй байна.
409Ажлыг дуусгахаас өмнө татаж авахыг хүссэн.

Бүх хуудас нь кредитээр үнэлэгдэх болно (1 хуудас нь хурдан түвшинд, илүү нь дээд түвшинд). Үнэтэй төлөвлөгөө нь файлын хуудасны дээд хэмжээг нэмэгдүүлж, тэргүүлэх зэрэглэлийг нэмнэ. үнэ.

Жишээ асуултууд

Үнэгүй дансаа үүсгэж, өөрийн Тохиргооны хуудасТа өөрийн түлхүүрийг энд хуулбарлах товчтойгоор харуулна.

Тийм ээ,5хэсэгээс бага файлууд POST хариуд бүрэн дүнг өгнө. Тиймээс олон зураг болон богино PDF файлуудад асуулт асуух шаардлагагүй.

100-аас дээш, латин, CJK, Араб, кирилл, хинди үсэгнүүд. language=auto тодорхой кодыг илрүүлэх, дамжуулах.

Хуудас өргөх нь зөвхөн таны асуултанд хариулах зорилгоор хийгддэг бөгөөд автоматаар устгагдана. Бид таны баримт бичгийг хэзээ ч зарж, хуваалцаж, эсвэл сургахгүй.

Хэрэглэхэд хуудас бүрийн хэрэглээ таны дансны үлдэгдэлтэй харьцуулагдана: нууц дуудлага өдөр бүр IP-ийн нэгийг, үнэгүй дансанд сар бүр нэгийг, төлбөртэй дансанд файлын хуудасны дээд хязгаар болон нэн тэргүүний хязгаартай худалдан авсан кредитийг ашиглана. Хэрэглэхэд дууссаны дараа хэрэглэсэн болон хязгаартай 402-г хүлээн авна.

Та PNG, JPG, WEBP, GIF, BMP, TIFF, олон хуудастай PDF файлуудыг илгээж болно. Товчлуурыг txt, md, docx, pdf (эрэлхийлэхэд боломжтой), csv, эсвэл json хэлбэрээр татаж авах боломжтой.

400 нь файл алга, дэмжигдээгүй төрөл, эсвэл файл хэт том байна; 401 нь файл алга эсвэл хүчингүй тэмдэгт; 402 хуудас байхгүй; 404 нь ажил UUID- ийг мэдэхгүй; 409 нь ажил дуусахаас өмнө татаж авахыг хүссэн.

Бүх текст, тэмдэглэгээг агуулсан байдал, түвшин, хэл, хуудасны_ тоо, дундаж_ найдвартай байдалтай ажлын объект. Хуудасны багц нь хуудас бүрийг текст, хязгаарлах хайрцаг (bbox), блок бүрийн найдвартай байдалтай блок болгон хуваана.

Цөмийн процессор ашиглах (стандарт) хурдан, бага өртөгтэй хэвлэсэн баримтыг олж мэдэхийн тулд. vlm, өндөр чанартай AI хөдөлгүүрийг гарын үсэг, хэцүү эсвэл олон мөрт дүрслэл, математик, орчуулгад ашиглах нь илүү нарийвчлалтай.

chat-ийг энэ үүргийн өмнөх сэдэв болгохын тулд (жишээ нь summarize- pdf эсвэл ask- pdf) слугтэй хэрэгслийг дамжуулна. Ингэснээр туслах нь баримт бичгийн талаарх асуултанд хариулах эсвэл дүгнэлт хийхэд тохирно.

5 хуудас эсвэл түүнээс бага файлууд POST хариуд шууд буцаж ирнэ. Их файлууд нэн даруй хүлээж байгаа эсвэл боловсруулж байгаа гэж буцаж ирнэ, та GET /api/ v1/ ocr/-г асууна.<uuid>/ - ийг гүйцэтгэх эсвэл алдаа гарах хүртэл. Үнэтэй төлөвлөгөө нь файлын хуудасны хэмжээг нэмэгдүүлдэг.

API нь HTTPS дээрх энгийн REST, тиймээс HTTP клиенттэй ямар ч хэлнээс ажиллана, Python, Node. js, cURL-ийн дээрх жишээг үзнэ үү. Суулгах SDK байхгүй; стандарт HTTP кодны хэдэн мөр л хэрэгтэй.