PDF.chat API

PDF ۽ chat سان گڏ پنهنجي ايپليڪيشن مان اپ لوڊ ڪريو - سوال پڇو ۽ صفحي تي حوالو ڏنل جواب حاصل ڪريو، 100 کان وڌيڪ ٻولين ۾. صفحي تي ميٽرنگ، ڪوبه حيرت ناهي.

نظرثاني

PDF.chat API هڪ ننڍو REST واسطو آھي. پھرين توھان POST هڪ دوتاھ کي ان کي ڳنڍڻ ۽ دوتاھ جي متن سان ۽ صفحي جي ورهاست سان (لکڻي، حدن وارا بڪس، اعتماد) هڪ ڪم واپس وٺڻ لاءِ. پوءِ توھان POST ان ڪم جي خلاف سوال ۽ دوتائين ۾ بنياد تي جواب حاصل ڪريو، هر هڪ صفحي کي بيان ڪندي جيڪو ان مان آيو. 5 صفحن يا گهٽ جا ڪم لاٽ ۾ موٽائيندا؛ وڏيون نوڪريون فوري طور تي هڪ pending حالت جيڪا توھان پوئلڳي ڪئي آھي done.

  • بنياد URL: https://pdf.chat
  • دڪان PDF، plus Word، PowerPoint، متن ۽ تصويرون (PNG، JPG، WEBP، GIF، BMP، TIFF)
  • Chat ٻاهر: صفحي جي حوالن سان جواب ڏيو؛ تاريخ جي آخر واري نقطي ذريعي نقل ڪريو
  • پروسيس ٿيل متن ٻاهر: txt, md, docx, pdf, csv, json
  • پڙهڻ جا انجن: cpu (شريعت، پرنٽ ٿيل دڪان) ۽ vlm (پريميئم اي آءِ ، هٿ لکيل ، پيچيده نقشو ، حساب)

تصديق

توھان جي توثيق 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?"}'

پيراميڊس

ميدانقسمبيان
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 صفحن يا گهٽ جي فائلون پوسٽ جواب ۾ مڪمل نتيجو لاٽ ۾ موٽائين ٿيون، تنھنڪري گھڻن تصويرن ۽ مختصر PDFs لاءِ ڪوبه پوسٽنگ جي ضرورت نه آھي.

100 کان وڌيڪ، جن ۾ ليٽين، CJK، عربي، سريليڪ ۽ هندي اسڪرپٽ شامل آھن. language=auto خاص ڪوڊ ڳولڻ يا موڪلڻ لاءِ.

اپ لوڊ صرف توھان جي سوالن جا جواب ڏيڻ لاءِ پروسيس ڪيا ويندا آھن ۽ پاڻمرادو ختم ڪيا ويندا آھن. اسان توھان جا دڪان ڪڏهن به نه واپاريندا آھيون، ونڊيندا آھيون يا توھان جي دڪانن تي تربيت ڏيندا آھيون.

استعمال هر صفحي جي حساب سان حساب ڪيو ويندو آهي: نامعلوم ڪالون هڪ ڏينهن جي روزاني فيس حاصل ڪندا آهن، مفت اڪائونٽس مهيني جي بئڪ ۾، ۽ ادا ڪيل منصوبا خريد ڪيل ڪرڊٽ استعمال ڪندا آهن جيڪي وڌيڪ هر فائيل صفحي جي ڪپڙن ۽ ترجيح سان. جڏهن توهان ٻاهر نڪري وڃو ته توهان کي 402 سان استعمال ڪيو ويو ۽ جسم ۾ ڪپڙو.

توهان PNG، JPG، WEBP، GIF، BMP، TIFF ۽ ڪيترن ئي صفحن جي PDF موڪلي سگهو ٿا. نتيجا txt، md، docx، pdf (searchable)، csv يا json ذريعي ڊائون لوڊ ڪن ٿا ڊائون لوڊ ڪن ٿا.

400 هڪ ڪامل نه ٿيل فائل، ناپسنديده قسم يا فائل تمام وڏي آھي؛ 401 ڪامل نه ٿيل يا غلط ٽوڪون؛ 402 صفحن مان ٻاهر؛ 404 نامعلوم ڪم UUID؛ ۽ 409 ڪم جي ختم ٿيڻ کان اڳ ڊائون لوڊ ڪرڻ جي درخواست. غلطي جي جسم ۾ مختصر پيغام شامل آھي.

هڪ ڪم جو عنصر حالت، درجي، ٻولي، صفحو_شمار، ۽ mean_confidence سان گڏ پورو متن ۽ مارڪ ڊائون سان گڏ. صفحن جي آرري هر صفحي کي سندن متن، حد بڪس (bbox) ۽ پر-بڪس اعتماد سان بلڪ ۾ ورهايو.

cpu استعمال ڪريو (درآمد) صاف پرنٽ ٿيل دڪانن جي جلدي، گهٽ قيمت واري سڃاڻپ لاءِ. vlm استعمال ڪريو، پرائمري AI انجن، هٿ لکيل، ڏکيو يا گھڻو-ستون وارو نقشو، حساب، ۽ ترجمو، جتي اھو گھڻو صحيح آھي.

سلگ سان وسيلن کي پاس ڪريو (مثال طور summarize-pdf يا ask-pdf) ان ڪم لاءِ chat کي اڳ-فريم ڪرڻ لاءِ، ته جيئن مددگار دڪان جي باري ۾ سوالن جو خلاصو ڪرڻ يا جواب ڏيڻ لاءِ ٽون ڪيو وڃي.

5 صفحن يا گهٽ جي فائلون POST جواب ۾ لاٽ ۾ موٽائي وينديون آھن. وڏيون فائلون فوري طور تي واپس اچي وينديون آھن جيئن ته انتظار يا عمل ۾ آھن، ۽ توھان GET /api/v1/ocr/ کي پوسٽ ڪريو ٿا<uuid>/ جيستائين حالت مڪمل يا ناڪام ٿئي. ادا ڪيل منصوبا هر فائيل صفحي جي مٿي.

API HTTPS تي صاف REST آهي، تنهنڪري اهو HTTP ڪلينٽ سان ڪنهن به ٻولي کان ڪم ڪري ٿو، Python، Node.js، ۽ cURL مثالن کي ڏسو. انسٽال ڪرڻ لاءِ ڪو SDK ناهي؛ معياري HTTP ڪوڊ جي ڪجهه لائين توهان کي سڀ ضرورت آهي.