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 out: ਪੇਜ਼ ਹਵਾਲਾ ਨਾਲ ਜਵਾਬ; ਅਤੀਤ ਅੰਤ- ਬਿੰਦੂ ਰਾਹੀਂ ਟਰਾਂਸਕਰੀਪਸ਼ਨ
- ਪਰੋਸੈੱਸ ਟੈਕਸਟ ਆਉਟ:
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?"}'
ਪੈਰਾਮੀਟਰ
| ਖੇਤਰ | ਟਾਈਪ | ਵੇਰਵਾ |
|---|---|---|
file | file | ਲੋੜੀਦਾ ਹੈ । ਪਰੋਸੈੱਸ ਕਰਨ ਲਈ ਚਿੱਤਰ ਜਾਂ PDF ਹੈ । |
tier | string | cpu (ਮੂਲ, ਤੇਜ਼/ਛਪਿਆ) ਜਾਂ vlm (ਪ੍ਰੀਮੀਅਮ AI: ਹੱਥ-ਲਿਖਤ, ਲੇਆਉਟ, ਗਣਿਤ) |
language | string | auto (ਮੂਲ) ਜਾਂ ਇੱਕ ਭਾਸ਼ਾ ਕੋਡ (en, ch, ja, ar,...) |
tool | string | ਚੋਣਵੀਂ ਟੂਲ ਸਲਾਗ (ਜਿਵੇਂ ਕਿ summarize-pdf, ask-pdfਇਸ ਕੰਮ ਲਈ chat ਨੂੰ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਫਰੇਮ ਕਰਨ ਲਈ। |
ਗਲਤੀਆਂ ਅਤੇ ਸੀਮਾਵਾਂ
| ਕੋਡ | ਅਰਥ |
|---|---|
400 | ਕੋਈ ਫਾਇਲ ਨਹੀਂ, ਨਾ- ਸਹਾਇਕ ਕਿਸਮ, ਜਾਂ ਫਾਇਲ ਬਹੁਤ ਵੱਡੀ ਹੈ । |
401 | ਗੁੰਮ ਜਾਂ ਅਢੁੱਕਵਾਂ API ਟੋਕਨ ਹੈ । |
402 | ਪੇਜ਼ਾਂ ਤੋਂ ਬਾਹਰ, ਦਿਨ/ਮਹੀਨੇ ਮੁਫ਼ਤ ਲਿਮਟ ਪਹੁੰਚ ਗਈ, ਜਾਂ ਕੋਈ ਕ੍ਰੈਡਿਟ ਨਹੀਂ ਹੈ। ਬਾਡੀ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ used/cap. |
404 | ਜਾਬ UUID ਨਹੀਂ ਲੱਭਿਆ । |
409 | ਕੰਮ ਮੁਕੰਮਲ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਡਾਊਨਲੋਡ ਕਰਨ ਦੀ ਮੰਗ ਕੀਤੀ ਗਈ ਹੈ । |
ਹਰੇਕ ਪਰੋਸੈੱਸ ਪੇਜ਼ ਲਈ ਕ੍ਰੈਡਿਟ ਲਾਗਤ ਹੈ (ਫਾਸਟ ਟਾਇਰ ਉੱਤੇ 1/ਪੇਜ਼, ਪ੍ਰੀਮੀਅਮ ਉੱਤੇ ਹੋਰ) । ਭੁਗਤਾਨ ਕੀਤੇ ਪਲਾਨ ਪ੍ਰਤੀ ਫਾਇਲ ਪੇਜ਼ ਕੈਪ ਵਧਾਉਦੇ ਹਨ ਅਤੇ ਤਰਜੀਹ ਸ਼ਾਮਲ ਕਰਦੇ ਹਨ । ਵੇਖੋ ਕੀਮਤ.
ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ
language=auto ਖੋਜਣ ਲਈ, ਜਾਂ ਖਾਸ ਕੋਡ ਪਾਸ ਕਰਨ ਲਈ ।