PDF.chat API
پی ڈی ایف اور chat کو آپلوڈ کریں اپنے اپلیکیشن سے - سوالات پوچھو اور صفحے پر 100+ زبانوں میں نقل کردہ جواب حاصل کریں. ہر صفحے کے لئے میٹر، کوئی تعجب نہیں.
خلاصہ
PDF.chat API ایک چھوٹا سا REST انٹرفیس ہے. پہلے آپ POST اس کو ضم کرنے کے ليے دستاوين کو مطلوبه ترين ترين دستاوين کو ضم کريں اور دستاوين کے متن اور پر صفحہ بر ےڈ اؤ ں کے ليے يو رگيٹ کريں (تصو ر، با نڈنگ باکس، اعتماد) POST اس کام کے خلاف سوالات اور دستاوين ميں بنياد پر جواب حاصل کريں ، ہر ایک صفحہ کو نقل کريں جو اس سے آيا هے 5 صفحے يا کم کے کام ان لائن واپسيں ؛بڑے کام فوري طور پر واپسيں pending حالت جسے آپ پو ل تک done.
- بنياد URL:
https://pdf.chat - دستاویزات: PDF، اور ورڈ، پاور پوائنٹ، تحریر اور تصویریں (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 ایک دستاویزی کے ساتھ
آخري کام کے بارے ميں سوالات پوچھيں جواب صرف خراج متن ميں بنياد پر هے اور ذريعہ صفحے کو بيان کريں کھينچ ٹکنن کو ضرورت هے ، 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 ایک مخصوص کوڈ کو دریافت کرنے یا منتقل کرنے کے لئے.