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

پارامٹر

شعبہقسمبیان
filefileضروری. تصویر یا PDF جسے پروسیسنگ کرنے کے لیے.
tierstringcpu (معیار، تیز/پرنٹ) یا vlm (پریمیم AI: ہاتھ لکھا، لئوگ، ریاضی)
languagestringauto (درآمد) يا زبان کا کوڈ (en, ch, ja, ar,...)
toolstringاختیاری ٹول سلگ (مثلاً summarize-pdf, ask-pdfاس کام کے لئے chat کو پہلے سے فریم کرنے کے لئے.

غلطیاں اور حدیں

کوڈمعني
400کوئی فائل نہیں، ناممکن قسم، یا فائل بہت بڑی ہے.
401غائب یا غیر معتبر API ٹوکن.
402صفحات سے باہر، روزانہ/ ماہانہ مفت حد پہنچی، یا کوئی کریڈٹ نہیں. used/cap.
404کام UUID نہیں ملا.
409کام ختم ہونے سے پہلے ڈاؤن لوڈ کی درخواست کی گئی.

ہر صفحہ پروسیسنگ کی قیمت کریڈٹ (1/صفحہ تیز سطح پر، پرائم پر زیادہ)۔ پیسے کے پلان پر فائل صفحہ کی حد بڑھاتے ہیں اور ترجیح شامل کرتے ہیں۔ دیکھو قیمت.

بار بار پوچھے گئے سوالات

ایک مفت اکاؤنٹ بناؤ اور اپنا اکاؤنٹس, آپ کا ٹوکن وہاں کاپي بٹن کے ساتھ دکھايا جاتا ہے.

ہاں، 5 صفحے یا اس سے کم کی فائلیں POST جواب میں پورے نتائج کو واپس لائیں گی، اس لئے زیادہ تر تصاویر اور مختصر PDFs کے لیے کوئی پولنگ نہیں چاہیے.

100 سے زائد ، لاطيني ، CJK ، عربي ، سيريلل اور هندي سکيپٹس شامل ہیں استعمال language=auto ایک مخصوص کوڈ کو دریافت کرنے یا منتقل کرنے کے لئے.

آپ لوڈ صرف آپ کے سوالات کا جواب دینے کے لیے پروسیسنگ کی جاتی ہے اور خودکار طور پر حذف کی جاتی ہے ہم کبھی بھی نہیں بیچتے، نہیں تقسیم کرتے، یا آپ کے دستاویزات پر تربیت نہیں دیتے.

استعمال آپ کے اکاؤنٹ کے بلنڈ کے مقابلے میں ہر صفحے کے مطابق میٹر کیا جاتا ہے: نامعلوم کالوں کو ہر IP دن کے لیے ایک وقفہ ملتا ہے، مفت اکاؤنٹس کو ماہانہ ایک باٹل ملتا ہے، اور پیسہ دینے والے منصوبے خریدے گئے کریڈٹ استعمال کرتے ہیں جن میں ہر فائیل کے لیے زیادہ صفحہ کی حد اور ترجیح ہوتی ہے۔ جب آپ باہر نکلتے ہیں تو آپ کو 402 ملتا ہے جس میں استعمال اور جسم میں کیپ شامل ہوتا ہے۔

آپ PNG، JPG، WEBP، GIF، BMP، TIFF اور کثیر صفحہ PDF بھیج سکتے ہیں. نتائج txt، md، docx، pdf (سرچائی جاسکتی)، csv، یا json کے طور پر ڈاؤن لوڈ کیے جا سکتے ہیں.

400 ایک غائب فائل ہے، نا سہیدہ قسم، یا فائل بہت بڑی ہے؛ 401 ایک غائب یا غیر معتبر ٹوکن ہے؛ 402 صفحات سے باہر ہے؛ 404 ایک نامعلوم کام UUID ہے؛ اور 409 ایک ڈاؤنلوڈ کی درخواست ہے جو کام ختم ہونے سے پہلے کی گئی ہے۔ غلطی کے جسم میں ایک مختصر پیغام شامل ہے.

ایک کام کا عائد جس میں حالت، سطح، زبان، صفحہ شمار، اور میانہ اعتماد، اور مکمل متن اور مارک ڈاون شامل ہیں. صفحہ آرری ہر صفحے کو انکے متن، باؤنڈنگ باکس (bbox) اور پر بلاک اعتماد کے ساتھ بلاکس میں تقسیم کرتا ہے.

صاف پرنٹ دستاوين کے جلدي ، کم قيمتي تسليم کے ليے سي پي يو استعمال کريں vlm استعمال کريں ، پرائم AI انجن ، ہاتھ نوشتہ ، پیچیدہ يا کثیر کالم لزے ، رياضيات اور ترجمے کے ليے ، جہاں اسکے ليے زیادہ دقت هے

اس کام کے ليے chat کو پرا فر ئم کر نے کے ليے سلگ کے ساتھ ٹو ل پاس کريں (مثال طور summarize-pdf يا ask-pdf) ، اس ليے اسيسنٹ کو دستا ن کے بارے ميں سوالات کا خلاصہ کر نے يا جواب دينے کے ليے تجويز کريے

5 صفحات یا اس سے کم کی فائلیں POST جواب میں ان لائن واپس آئیں.بڑی فائلیں فوراً واپس آئیں جیسے انتظار یا پروسیسنگ، اور آپ پول GET /api/v1/ocr/<uuid>/ جب تک کہ حالت ختم ہو یا ناکام ہو. پیسے کے پلان پر فائیل صفحہ کی حد بڑھاتے ہیں.

API HTTPS پر صاف REST ہے، تو یہ HTTP کلائنٹ کے ساتھ کسی بھی زبان سے کام کرتا ہے، Python، Node.js، اور cURL مثالیں اوپر دیکھیں. انسٹال کرنے کے لئے کوئی SDK نہیں ہے؛ معیاری HTTP کوڈ کی چند لائنیں آپ کو سب کچھ ضرورت ہے.