PDF.chat API

پەڕەی پی دی ئێف و chat لاپەڕە لە ئەپەکەتەوە دابگرە - پرسیار بکە و وەڵامەکانت بۆ پەڕەکەت ببە، بە زیاتر لە 100 زمان. بە پێی پەڕەکەت، هیچ سەرسامییەک نییە.

چاوپێکەوتن

PDF.chat API ی REST ی بچوکە. یەکەمجار تۆ POST بۆ ئەوەی دەستکاریی پەڕگەیەک بکەیت و کارێکت پێبدرێت کە تێیدا پەڕگەکەت و پەڕگەکەت بۆ پەڕگەیەک دابەشبکرێت (نووسراو، پەڕگە، پەڕگە POST پرسیارەکان لە دژی ئەو کارە و وەڵامەکان لە پەڕگەدا دەست دەکەوێت، هەریەکێک لە پەڕگەکە دەگەڕێتەوە کە لێی کەوتۆتەوە. کارەکانی ٥ لاپەڕە یان کەمتر لە ناو ڕستەدا دەگەڕێتەوە؛ کارەکانی گەورەتر بە خێرایی بە pending دۆخی کە تۆ لێپرسینەوەت کردوە تا done.

  • پێگەی بنەڕەتی: https://pdf.chat
  • سندووقەکان لە: پی دی ئێف، هەروەها وورد، پاوێزپۆینت، نوسراو، وێنە (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"

کارەکە دەگەڕێنێتەوە. بۆ فایلەکانی ≤٥ لاپەڕە پێشتر ئەوە 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

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>/, جەستە {"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 (پرۆمیۆم ئای: نووسینی دەستکاریکراو، شێوەی نووسراو، بیرکاری).
languagestringauto (پێشبینیکراو) یان کۆدی زمان (en, ch, ja, ar.
toolstringئامرازی هەڵبژێردراوی شلگ (م.ب. summarize-pdf, ask-pdf) to pre-frame the chat for that task.

هەڵە و سنوور

کۆدمانا
400هیچ فۆڕمێک نییە، جۆرێک پاڵپشتی ناکرێت، یان فۆرمەکە زۆر گەورەیە.
401ناپەسەند یان ناپەسەند
402لە ماڵپەڕەکان دەرچوو، سنووری ڕۆژانە/ مانگانە گەیشت، یان هیچ کرێدیتێک نییە. لەشەکە بریتییە لە used/cap.
404نەتوانرا UUIDی کارەکە بدۆزێتەوە.
409پێش تەواوبوونی کارەکە داواکاری دابەزاندن کرا.

هەر لاپەڕەیەک کە پڕۆسێس دەکرێت نرخی کرێدی هەیە (١/لاپەڕە لەسەر پلەی خێرا، زیاتر لەسەر پلەی پڕۆمیۆم). پلانەکانی پارەدان زیادکردنی پەڕەی هەر فۆڕمێک و زیادکردنی پێشەنگیان هەیە. بڕوانە نرخ.

پرسیاری زۆر کراوە

حسابێکی بێ پارە دروست بکە و ماڵپەڕی حساب,

بەڵێ، فۆڕمەکانی ٥ لاپەڕە یان کەمتر ئەنجامی تەواو دەدەنەوە لە وەڵامی پۆستدا، بۆیە بۆ زۆربەی وێنەکان و پی دی ئێفەکانی کورت پێویست بە پۆلێنکردن نییە.

زیاتر لە ١٠٠، لەوانە لاتین، CJK، عەرەبی، سیریل و نوسراوەکانی هیندی. بەکاربهێنە language=auto بۆ دۆزینەوەی، یان پەڕاندنی کۆدی تایبەت.

دابەزاندنەکان تەنها بۆ وەڵامدانەوەی پرسیارەکانت ئەنجام دەدرێن و بە ئۆتۆماتیکی ناپەسەند دەکرێن. ئێمە هەرگیز نافرۆشین، نابەشدەکەین، یان فێرمان ناکەین لەسەر بەڵگەنامەت.

بەکارهێنان بۆ هەر لاپەڕەیەک پێوانە دەکرێت لە بەرامبەر پارەی حسابەکەتدا: بانگکردنی نادیارەکان بۆ هەر IP ڕۆژانە پارە وەردەگرن، حسابە بێ نرخەکان بۆ مانگانە و پلانە پارەدارەکان بەکاردەهێنن کە کرێدی کڕین بەکاردەهێنن لەگەڵ بەرزتر بۆ هەر فایلێک و پێشەنگی لاپەڕەکان. کاتێک کە بەکاردێت 402 بەدەست دەهێنیت لەگەڵ بەکارهاتوو و قەبارەی لە ناوەوەی.

دەتوانیت PNG، JPG، WEBP، GIF، BMP، TIFF و PDFی چەند لاپەڕەیی بنێریت. ئەنجامەکان دابەزێنرێت وەک txt، md، docx، pdf (لەدواییدا دەگەڕێت)، csv، یان json لەڕێگەی پارامەتری فۆرمەکانی کۆتا خاڵەوە.

٤٠٠ فۆڕمێکی ونبووە، جۆرێکی پاڵپشتی نەکراوە، یان فۆڕمێکی زۆر گەورە؛ ٤٠١ فۆڕمێکی ونبووە یان ناپەسەند؛ ٤٠٢ لە ناو ماڵپەڕەکان؛ ٤٠٤ UUIDێکی نەزانراو بۆ کارێک؛ و ٤٠٩ داواکاری دابەزاندن پێش تەواوبوونی کارەکە. بەشی هەڵە پەیامێکی کورت دەگرێتە خۆ.

بابەتێکی کار لەگەڵ بارودۆخ، پلە، زمان، ژمارەی لاپەڕەکان، و بڕوای مامناوەند، هەروەها نوسراوەکانی تەواو و نووسراوەکان. ڕیزبەندی لاپەڕەکان هەموو لاپەڕەیەک دابەشدەکات بۆ بلۆکە لەگەڵ نوسراوەکانیان، بۆڵدێکی سنووردار (ببۆکس)، و بڕوای هەر بلۆکە.

CPU بەکاربهێنە (پێوانە) بۆ ناساندنی خێرا، نرخی کەمی بەڵگەنامە چاپکراوەکان. vlm بەکاربهێنە، کە بزوێنەری AI یە، بۆ نووسینی دەستکاریکراو، ئاڵۆز یان ستانداردەکانی چەند ستوونی، بیرکاری، و وەرگێڕان، کە زۆر باشترە

Pass tool with a slug (for example summarize-pdf or ask-pdf) to pre-frame the chat for that task, so the assistant is tuned to summarize or answer questions about the document.

فۆڕمەکانی ٥ لاپەڕە یان کەمتر لە وەڵامی پۆستدا دەگەڕێنەوە. فۆڕمەکانی گەورەتر بە خێرایی دەگەڕێنەوە وەک چاوەڕێکردن یان پەرەپێدان، وە تۆ پرسیار دەکەیت لە GET /api/v1/ocr/<uuid>/ تاوەکو دۆخەکە تەواو بێت یان شکست بهێنێت. پلانەکانی پارەدان زیاد دەکەن بۆ هەر فۆڕمێک

ئەم ئەپی یە REST ی سادە لەسەر HTTPS، بۆیە لە هەر زمانێکەوە کاردەکات لەگەڵ کڕیارێکی HTTP، بیبینە پایتۆن، نودە. جێز، و نمونەی cURL لە سەرەوە. هیچ SDK یەکی تێدا نییە بۆ داگرتن؛ چەند ڕستەی کۆدی HTTP ستاندارد هەموو شتێکە کە پێویستت پێیە.