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?"}'
پارامېتىرلار
| رايون | تۈر | چۈشەندۈرۈش |
|---|---|---|
file | file | تەلەپ قىلىنىدۇ. ئىشلەتىدىغان سۈرەت ياكى PDF. |
tier | string | cpu (قەدەملىك، تېز/چاپلانغان) ياكى vlm (ئالتۇن دەرىجىلىك AI: قوليازما، سىزىق، ماتېماتىكا). |
language | string | auto (ئۈچۈنچى) ياكى تىل كودى (en, ch, ja, ar. |
tool | string | تاللاش قورالى slug (مەسىلەن summarize-pdf, ask-pdfبۇ chat گە يېقىن ئادەمنىڭ 8000 گە يېقىنى يالغۇز ياشايدۇ. |
خاتالىقلار ۋە چەكلىمىلەر
| كود | مەنىسى |
|---|---|
400 | ھۆججەت يوق، ھۆججەت تۈرى قوللانمايدۇ ياكى ھۆججەت چوڭ. |
401 | API توكى يوق ياكى خاتا. |
402 | بەت يوق، كۈندىلىك/ئايلىق ھەقسىز چەكتىن ئاشتى ياكى بەك كۆپ. بۇ يەردە used/cap. |
404 | ئىش UUID نى تاپالمىدىم. |
409 | چۈشۈرۈشنى توختىتىشنى تەلەپ قىلغان. |
ھەر بىر پۈتۈكنى ئىشلەتكەندە، بىر قەدەر كۆپ پۇل چىقىدۇ (ئاۋۋالقى دەرىجىدە ھەر بىر پۈتۈككە 1 پۈتۈك، كېيىنكى دەرىجىدە تېخىمۇ كۆپ). ھەقلىق پروگرامما ھۆججەت بىرلىكىگە نىسبەتەن پۈتۈكنىڭ مىقدارىنى ئاشۇرىدۇ ۋە ئالدىنقى ئورۇنغا قويىدۇ. كۆرۈڭ باھا.
كۆپ سورالغان سوئاللار
language=auto مەلۇم كودنى بايقاپ ياكى ئۆتۈنۈش ئۈچۈن.