PDF.chat API

Laadi üles PDF ja chat koos sellega oma rakendusest ~ Küsi küsimusi ja saada vastuseid lehele, 100+ keeles. Metered per page, no üllatusi.

Ülevaade

PDF.chat API on väike REST liides. Esiteks POST dokumendi, mis neelab selle alla ja saab tagasi töö dokumendi teksti ja lehekülje kaupa (tekst, mis seob kastid, usaldus). POST küsimused selle töö vastu ja saada vastuseid põhjendatud dokumendis, iga tsiteerides lehekülge, mis see tuli. Tööd 5 lehekülge või vähem tagasi interline; suuremad töökohad tagasi kohe pending staatus, mida sa valid kuni done.

  • Baas URL: https://pdf.chat
  • Dokumendid: PDF, pluss sõna, PowerPoint, tekst ja pildid (PNG, JPG, WEBP, GIF, BMP, TIFF)
  • Chat väljas: vastused lehekülje tsitaatidega; ärakirjad ajaloo lõpp-punkti kaudu
  • Töödeldud tekst välja: txt, md, docx, pdf, csv, json
  • Lugemismootorid: cpu (kiired, trükitud dokumendid) ja vlm (premium AI, käekiri, keeruline paigutus, matemaatika)

Autentimine

Autentige oma API märgis (Leia see oma konto lehekülg) kui kandja päis:

Authorization: Bearer YOUR_API_TOKEN

Võid ka läbida ?api_token=… päringu parameetrina. Kasutamine on mõõdetud sinu konto leheküljebilansiga.

Dokumendi esitamine

POST /api/v1/ocr/, mitmeosalise vormi üleslaadimine.

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"

Tagastab töö. ≤ 5 leheküljeliste failide puhul on see juba olemas done teksti; suuremad failid tulevad tagasi pending/processing, küsitleda staatuse tulemusnäitajat.

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

Saa tulemus

GET /api/v1/ocr/<uuid>/, küsitlus kuni status on done või failed.

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

Vormingu allalaadimine

GET /api/v1/ocr/<uuid>/download/?format=md, ekspordib tulemuse. format on üks 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 koos dokumendiga

Küsige küsimusi töö lõpetamise kohta. Vastused on esitatud ainult väljavõtetekstis ja tsiteerige lähtelehte. Nõuab konto märgi, chat funktsioon on kontoga seotud.

POST /api/v1/chat/<uuid>/, JSON- i keha {"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?"}'

Tagastab abisõnumi vastusega ja viidatud lehekülgede nimekirjaga:

{"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/, hangi töö jaoks kogu vestluse protokoll.

Koodi näited

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

Parameetrid

VäliTüüpKirjeldus
filefileVajalik. PDF-pilti või PDF- i töödelda.
tierstringcpu (vaikimisi, kiire/trükitud) või vlm (premium AI: käekiri, paigutus, matemaatika).
languagestringauto (vaikimisi) või keelekood (en, ch, ja, ar,...).
toolstringValikuline tööriistanälkjas (nt summarize-pdf, ask-pdf) seada selle ülesande jaoks ette chat.

Vead ja piirangud

KoodTähendus
400Ei mingit faili, toetamata tüüpi ega liiga suurt faili.
401Puuduv või vigane API märgis.
402Lehekülgedest, iga päev/kuus tasuta piir saavutatud, või ei krediiti. Organisse kuulub used/cap.
404Tööd UUID ei leitud.
409Allalaadimine on nõutav enne töö lõpetamist.

Iga lehe töödeldud kulud krediiti (1/lehekülg kiire tase, rohkem lisatasu). Tasulised plaanid tõsta faili lehe ülempiirid ja lisada prioriteet. Vaata hinnakujundus.

Korduma kippuvad küsimused

Loo vaba konto ja ava konto lehekülg, oma märgi on seal näha koopia nuppu.

Jah, failid 5 lehekülge või vähem tagasi kogu tulemus inline POST vastus, nii et ei ole vaja küsitlusi enamik pilte ja lühike PDF.

Üle 100, sealhulgas ladina, CJK, araabia, kirillitsa ja indika skripte. language=auto avastada või edastada erikood.

Üleslaadimised töödeldakse ainult selleks, et vastata teie küsimustele ja kustutada need automaatselt. Me ei müü, jaga ega treeni kunagi teie dokumentides.

Kasutamine on mõõdetud lehe kohta vastu oma konto saldo: anonüümsed kõned saada per-IP päevaraha, tasuta kontod kuu ämber, ja makstud plaanid kasutada ostetud krediiti kõrgema per-faili lehe korgid ja prioriteet. Kui otsa saad 402 kasutatud ja kork keha.

Saate saata PNG, JPG, WEBP, GIF, BMP, TIFF ja mitmeleheküljeline PDF. Tulemused alla laadida kui txt, md, docx, pdf (otsitav), csv, või json kaudu allalaadimise tulemusnäitajate parameeter.

400 on puudub fail, toetamata tüüp või fail liiga suur; 401 puudub või vigane märgis; 402 lehekülgedelt; 404 tundmatut tööd UID; ja 409 allalaadimine enne töö lõpetamist. Vigade korral lisatakse lühike teade.

Tööobjekt oleku, taseme, keele, lehekülje_ arvu ja keskmise_ enesekindlusega, pluss kogu tekst ja märgis. Lehed vad iga lehekülje plokkideks, mis on seotud teksti, bboxi ja plokipõhise usaldusega.

Kasuta cpu (vaikimisi) kiire, odav tunnustamine puhtad trükitud dokumendid. Kasuta vlm, premium AI mootori, käekirja, keeruline või mitme veeru paigutused, matemaatika, ja tõlkimine, kus see on palju täpsem.

Pass tööriist nälkja (näiteks kokku-pdf või küsi-pdf) eelnevalt raami chat selle ülesande, nii assistent on häälestatud kokku või vastata küsimustele dokumendi kohta.

Failid 5 lehekülge või vähem tagastage postituse vastuses. Suuremad failid tulevad kohe tagasi kui ootel või töötlemine, ja te küsitlus GET /api/v1/ocr /<uuid>/ kuni status on tehtud või nurjus. Pay plaanid tõsta per- faili lehe kork.

API on tavaline REST üle HTTPS, nii et see töötab mis tahes keeles HTTP klient, vt Python, Node.js, ja cURL näited eespool. Ei ole SDK paigaldada; mõned read standard HTTP kood on kõik, mida vaja.