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 ئىچىدە: بەت ئىزاھلىرى بىلەن جاۋاب بېرىدۇ؛ تارىخ ئاخىر نۇقتىسى ئارقىلىق تەرجىمە قىلىدۇ
  • تەھرىرلەنگەن تېكىست چىقىرىلىشى: txt, md, docx, pdf, csv, json
  • ئوقۇش ئېلېكتىرونلۇق ماشىنا: cpu (ئاۋۋالقىدەك تېز، چاپلانغان پۈتۈكلەر) ۋە vlm (ئۈچىنچى دەرىجىلىك AI، قوليازما، مۇرەككەپ سىزىق، ماتېماتىكا)

سۈرەتكە ئېلىش

سىزنىڭ ئىسىمىڭىز بىلەن ئىزاھلاش API توكى سىزنى كۈتۈۋاتىمەن ھېسابات تور بېكىتى) بىر Bearer باشلىقى:

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تاللاش قورالى slug (مەسىلەن summarize-pdf, ask-pdfبۇ chat گە يېقىن ئادەمنىڭ 8000 گە يېقىنى يالغۇز ياشايدۇ.

خاتالىقلار ۋە چەكلىمىلەر

كودمەنىسى
400ھۆججەت يوق، ھۆججەت تۈرى قوللانمايدۇ ياكى ھۆججەت چوڭ.
401API توكى يوق ياكى خاتا.
402بەت يوق، كۈندىلىك/ئايلىق ھەقسىز چەكتىن ئاشتى ياكى بەك كۆپ. بۇ يەردە used/cap.
404ئىش UUID نى تاپالمىدىم.
409چۈشۈرۈشنى توختىتىشنى تەلەپ قىلغان.

ھەر بىر پۈتۈكنى ئىشلەتكەندە، بىر قەدەر كۆپ پۇل چىقىدۇ (ئاۋۋالقى دەرىجىدە ھەر بىر پۈتۈككە 1 پۈتۈك، كېيىنكى دەرىجىدە تېخىمۇ كۆپ). ھەقلىق پروگرامما ھۆججەت بىرلىكىگە نىسبەتەن پۈتۈكنىڭ مىقدارىنى ئاشۇرىدۇ ۋە ئالدىنقى ئورۇنغا قويىدۇ. كۆرۈڭ باھا.

كۆپ سورالغان سوئاللار

ھەقسىز ھېسابات قۇرۇش ۋە ئۆزىڭىزنىڭ ھېسابات تور بېكىتىسىز بۇ يەردە توكۇنىڭىزنى كۆچۈرۈش بۆلىكى بىلەن كۆرەلەيسىز.

5-باب ياكى ئۇنىڭدىن ئاز بولغان ھۆججەت POST جاۋابىدا تولۇق نەتىجىنى قايتۇرۇپ بېرىدۇ، شۇڭا كۆپ ساندىكى سۈرەت ۋە قىسقا PDF ھۆججەتلىرى ئۈچۈن پوللاڭ قىلىشقا ھاجەت يوق.

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 ئىش ئاخىرلاشماي تۇرۇپ چۈشۈرۈشنى تەلەپ قىلغان. خاتالىق ئۇچۇرلىرى قىسقىچە ئۇچۇرنى ئۆز ئىچىگە ئالىدۇ.

ھالەت، دەرىجىلەر، تىل، page_count ۋە mean_confidence نى ئۆز ئىچىگە ئالغان ئىش نەرسە، ھەمدە تولۇق مەزمۇن ۋە markdown. بۇ بەت رىقابەتچىسى ھەر بىر بەت بىلەن ئۇنىڭ مەزمۇنىنى، بويۇمنى (bbox) ۋە ھەر بىر بويۇمنىڭ ئىشەنچىسىنى بلوکلارغا بۆلۈپ بېرىدۇ.

پۈتۈكلەرنى تېز، ئاز قىممەت بىلەن تونۇش ئۈچۈن CPU نى ئىشلىتىدۇ. vlm، ئەڭ يۇقىرى AI ئېلېكتىرونلۇق ئىزاھلاش ئېلېمېنتى، قوليازما، مۇرەككەپ ياكى كۆپ سىنىپلىق سىزىقلار، ماتېماتىكا ۋە تەرجىمە ئۈچۈن ئىشلىتىلىدۇ، بۇلار تېخىمۇ توغرا بولىدۇ.

بۇ خىلدىكى خىزمەت ئۈچۈن chat نى ئالدىن سىزىش ئۈچۈن، بۇ قورالنى slug (مەسىلەن summarize-pdf ياكى ask-pdf) بىلەن ئۆتكۈزۈڭ، شۇنىڭ بىلەن ياردەمچى پۈتۈك توغرىسىدا قىسقىچە مەلۇمات بېرىش ياكى سوئاللارغا جاۋاب بېرىش ئۈچۈن تەڭشەلىدۇ.

5 ياكى ئۇنىڭدىن ئاز بوشلۇقتىكى ھۆججەت POST جاۋابىدا يول ئىچىدە قايتۇرۇلىدۇ. چوڭ ھۆججەتلەرنى يەنىلا كۈتۈۋېلىش ياكى ئىشلەش دەپ قايتۇرىدۇ، GET /api/v1/ocr/ نى سوراش<uuid>/ تاكى ئەھۋال تاماملاشقان ياكى مەغلۇپ بولغانغا قەدەر. ھەقلىق پروگرامما ھەر بىر ھۆججەت ئۈچۈن بەت سانىنى ئاشۇرىدۇ.

API HTTPS نىڭ ئۈستىگە REST نى ئىشلىتىدۇ، شۇڭا HTTP خېرىدارى بىلەن ھەر قانداق تىلدا ئىشلەيدۇ، يۇقىرىدىكى Python، Node.js ۋە cURL نىڭ مىساللىرىنى كۆرۈڭ. ئورنىتىشقا SDK يوق، پەقەت HTTP كودى بىر قانچە لىنىيىسىنى ئىشلىتىشىڭىز كېرەك.