PDF.chat API

Kutsitsa PDF ndi chat ndi izo kuchokera pa app yanu yapadera - funsani mafunso ndi kupeza mayankho ochokera patsamba, m'zinenero zoposa 100. Kuwerengedwa patsamba, palibe zokhumudwitsa.

Kufotokozera

The PDF.chat API ndi REST m'dera laling'ono. POST alemba pa bokosi la nkhani kuti ayambe kulowa mkati mwake ndipo apeza ntchito yopitanso ndi mawu a nkhaniyo ndi kugawa kwa tsamba (mawu, mabokosi ozungulira, kukhulupilira). POST Mafunso otsutsa ntchitoyo ndi kupeza mayankho ochokera mu ndondomeko, aliyense kutchulidwa tsamba linachokera. Ntchito za 5 masamba kapena ochepa kubwezera inline; zikuluzikulu ntchito kubwezera mofulumira ndi pending khalidwe kuti inu poll mpaka done.

  • Base URL: https://pdf.chat
  • Mabuku mu: PDF, kuphatikizapo Word, PowerPoint, malemba ndi zithunzi (PNG, JPG, WEBP, GIF, BMP, TIFF)
  • Chat kunja: mayankho ndi tsamba zitsanzo; transcripts mwa kutsatira mbiri endpoint
  • Kusintha kwa mawu txt, md, docx, pdf, csv, json
  • Kuwerenga injini: cpu (mosavuta, zosindikizidwa docs) ndi vlm (premium AI, kulemba, zophweka layout, mathematics)

Kutsimikizira

Kutsimikizira ndi API token (kupeza izo pa tsamba la akaunti) monga Bearer header:

Authorization: Bearer YOUR_API_TOKEN

Mukhozanso kupita ?api_token=… Kugwiritsa ntchito kumawerengedwa motsutsana ndi akaunti yanu ya akaunti ya tsamba.

Kutumiza fayilo

POST /api/v1/ocr/, multipart form upload.

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"

Kubwerera ntchito. Kwa ≤5-tsamba owona izo kale done ndi malemba; zikuluzikulu mafayilo abwerera pending/processing, poll khalidwe endpoint.

{
  "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 } ] } ]
}

Kupeza zotsatira

GET /api/v1/ocr/<uuid>/, poll until status ndi done kapena failed.

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

Kutsitsa mtundu

GET /api/v1/ocr/<uuid>/download/?format=md, kugulitsa zotsatira. format ndi mmodzi wa 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 ndi chidziwitso

Pitani mafunso pa ntchito yomaliza. Mayankho amachokera pa mawu ochokera m'mawu ochokera ndi kulemba tsamba lochokera. Amafuna akaunti yofunikira, chat inali akaunti yofunikira.

POST /api/v1/chat/<uuid>/, Mtundu wa 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?"}'

Kubwerera mnzake uthenga ndi yankho lake ndi mnda wa masamba anatchula:

{"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/, GET: GET kulandira zonse kulankhulana transcript kwa ntchito.

Kodi chitsanzo

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?"}'

Ma parameters

MaloChigawoKufotokozera
filefileZofunika. Imelo adiresi.
tierstringcpu (default, m'njira yosavuta/printed) kapena vlm (premium AI: kulemba, layout, mathematics).
languagestringauto (default) kapena kodi ya zinenero (en, ch, ja, ar, …).
toolstringChosankha chida slug (mwachitsanzo. summarize-pdf, ask-pdf) kuti pre-frame chat kwa ntchito imeneyi.

Mavuto & mipaka

KodiKutanthauza
400Siyinakhalepo fayilo, mtundu umenewo siwuthandizidwa, kapena fayiloyo ndi yayikulu kwambiri.
401Osapezeka kapena ayi API token.
402Kuchokera patsamba, tsiku / mwezi ufulu kumapeto anafika, kapena palibe ndalama. used/cap.
404Job UUID sapezeka.
409Kutsitsa kwafunsidwa pambuyo pa ntchitoyo yatha.

Patsamba lililonse lomwe limatha kuchitidwa, ndalama zolipira zimagulitsidwa (1 / tsamba panthawi yothamanga, zambiri pa premium). Malamulo olipira amawonjezera masamba a tsamba la fayilo ndi kuwonjezera kufunika. Kugulitsa.

Mafunso ofunsidwa nthawi zambiri

Kukhazikitsa ufulu akaunti ndi kutsegulira wanu tsamba la akaunti, token yanu imawonekerapo ndi batani la kopanira.

Ndikofunika, fayilo ya 5 masamba kapena ochepa amabwerera kumapeto kwa zotsatira za POST, kotero palibe kufunsa komwe kumafunikira kwa zithunzi zambiri ndi PDFs ochepa.

Kuposa 100, kuphatikizapo Latin, CJK, Arabic, Cyrillic ndi Indian scripts. language=auto kuzindikira, kapena kupita lamulo lapadera.

Kutsitsa kumachitidwa kuti mudziwe mafunso anu ndipo kumatha kuchotsanso mosasinthasintha. Sitingagule, sitigawana kapena sitiphunzitsa zolemba zanu.

Kugwiritsa ntchito kumawerengedwa patsamba lililonse m'malo mwa ndalama zanu za akaunti: zokambirana zosadziwika zimalandira ndalama za tsiku ndi tsiku za IP, ndalama zosalipira ndalama za mwezi, ndipo maphunziro olipira amagwiritsa ntchito ndalama zogulitsidwa ndi masamba opitilira masamba ndi ma priority.

Mukhoza kutumiza PNG, JPG, WEBP, GIF, BMP, TIFF, ndi PDF yokhala ndi masamba ambiri.Mafunso atsitsa ngati txt, md, docx, pdf (osaka), csv, kapena json pogwiritsa ntchito fayilo ya fayilo ya fayilo ya fayilo.

400 ndi fayilo yosapezeka, yosagwirizana ndi mtundu, kapena fayilo yolemera kwambiri; 401 ndi fayilo yosapezeka kapena yosavomerezeka; 402 ndi patsamba; 404 ndi ntchito yosadziwika UUID; ndi 409 ndi download yofunidwa pambuyo ntchito yatha.

A ntchito chinthu ndi khalidwe, tier, zinenero, page_count, ndi mean_confidence, kuphatikizapo zonse malemba ndi markdown. Masambatolankhani amatenga mbali iliyonse ya tsamba m'ma blocks ndi malemba awo, kuzungulira katundu (bbox), ndi per-block confidence.

Use cpu (the default) for fast, low-cost recognition of clean printed documents. Use vlm, the premium AI engine, for handwriting, complex or multi-column layouts, math, and translation, where it is far more accurate.

Kupita chida ndi slug (mwachitsanzo summarize-pdf kapena funsani-pdf) kuti pre-frame chat kwa ntchito imeneyi, kotero mlangizi ndi tunened kuti ayambe kapena kuyankha mafunso pa ndondomeko.

Fayilo ya 5 masamba kapena ochepa kumbuyo inline mu POST yankho. Zochulukirapo fayilo akubweranso mwamsanga monga kuyembekezera kapena kugwiritsira ntchito, ndipo inu poll GET /api/v1/ocr/<uuid>/ mpaka lamuloli lidzachitika kapena kulephera. Maphunziro olipira amawonjezera kapangidwe ka tsamba la per-file.

API ndi REST yoyera pa HTTPS, ndipo imagwira ntchito kuchokera ku chilichonse ndi HTTP client, onani Python, Node.js, ndi cURL chitsanzo pamwambapa. Palibe SDK yokhazikitsa; masamba angapo a standard HTTP code ndi onse omwe mukufuna.