PDF.chat API
Pakua alama ya PDF na chat kwa kutumia programu yako mwenyewe Éche kuuliza maswali na kupata majibu yaliyotajwa kwenye ukurasa huu, katika lugha 100+.
Muhtasari
Watu PDF.chat% ni wadogo wanaowasiliana kwa njia ya umoja. POST Hati ya kuimeza na kupata kazi ya kuandika maandishi na mvunjiko wa kila ukurasa (habari, kufunga masanduku, uhakika). POST Kila mmoja wao anaangalia ukurasa huo kwa mara ya kwanza na kueleza maana yake. pending msimamo ambao unapiga kura mpaka done.
- Base URUL:
https://pdf.chat - Hati: PDF, pamoja na Neno, PowerPoint, maandishi, na picha (PNG, JPG, WEBP, GIF, BMP, TINF)
- Chat out: majibu ya ukurasa; nakala kupitia historia zimemalizika
- Maandishi yaliyoandaliwa:
txt,md,docx,pdf,csv,json - Mota za Kusoma:
cpu(Dima, chapwa) navlm(Tabimia AI, mwandiko, mpangilio tata, hesabu)
Kupatana
Jiepusheni na mambo yenu MILIONI (Itasemwa juu yako! ukurasa waKama kwamba wao ni jeshi litakalo funika?
Authorization: Bearer YOUR_API_TOKEN
Pia unaweza kupita ?api_token=… Ukiwa paraji ya meta moja, unajikwa kwenye ukurasa wako.
Ruhusu hati
POST /api/v1/ocr/, Sehemu nyingi hufanyiza mizigo.
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"
Arudi kazini. kwa faili za kurasa 175 tayari zimeshaandikwa done kwa maandishi; faili kubwa zaidi zarudi pending/processing, chunguza hali hiyo.
{
"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 } ] } ]
}
Matokeo ni kwamba
GET /api/v1/ocr/<uuid>/, print operation status status ni done au failed.
curl https://pdf.chat/api/v1/ocr/9f2c1b7e4a.../ \
-H "Authorization: Bearer YOUR_API_TOKEN"
Pakua muundo
GET /api/v1/ocr/<uuid>/download/?format=md, Matokeo ya biashara hiyo yauzwa nje. format ni wa aina moja 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 wakiwa na hati
Ask questions about a finished job. Answers are grounded only in the extracted text and cite the source page. Requires an account token, the chat feature is account-gated.
POST /api/v1/chat/<uuid>/, GSON ↓ {"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?"}'
Arudi ujumbe wa msaidizi kwa jibu lake na orodha ya kurasa zilizotajwa:
{"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/, Pata nakala kamili ya mazungumzo ya kazi.
Vielelezo vya sheria
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?"}'
Juzi
| Shamba | Aina | Maelezo |
|---|---|---|
file | file | Ilihitajiwa. Picha au PDF ili kujifanyiza. |
tier | string | cpu (Afault, relate/naed) au vlm (Tabi AI: mwandiko, mpangilio, hesabu). |
language | string | auto (Abhani) au msimbo wa lugha (ya Kiingereza)en, ch, ja, ar...). |
tool | string | Kifaa cha kuunganisha voosy (e.g. summarize-pdf, ask-pdf) kwa ajili ya kuweka ramani mapema wale chat kwa kazi hiyo. |
Makosa na Mipaka
| Kanuni | Maana |
|---|---|
400 | Hakuna faili, chapa isiyotegemezwa, au faili kubwa mno. |
401 | Ile ishara ya kukosa au ya kasoro. |
402 | Katika kurasa, kila siku (upengo wa uhuru wa mwezi/kwa mwezi) ulifikiwa, au hakuna mkopo. used/cap. |
404 | Jarida la Ayubu UUID halikupatikana. |
409 | Pakia watu wengi aliomba kazi kabla ya kumaliza kazi. |
Kila ukurasa uliotayarishwa unagharimu mkopo (1ukurasa kwenye safu ya kasi, zaidi ya ada). Mipango ya ukadiriaji inapandisha vichwa vya ukurasa mmoja na kuongeza nafasi ya kwanza. unyoo.
Maswali yaliyoulizwa mara nyingi
language=auto ili kugundua, au kupitisha ujumbe fulani hususa.