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 (дар компютери шумо пайдо кунед) саҳифаи ҳисоб) ҳамчун сарлавҳаи Carrier:
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?"}'
Параметрҳо
| & Файл | & Навъ | & Тасвирот |
|---|---|---|
file | file | Дархостӣ. Тасвири ё PDF барои коркарди. |
tier | string | cpu (бо нобаёнӣ, тез/чопшуда) ё vlm (Premium AI: дастнависи, тарҳбандии, математика). |
language | string | auto (бо нобаёнӣ) ё рамзи забон (en, ch, ja, ar& Тасвир |
tool | string | Интихоби асбоби slug (мисол summarize-pdf, ask-pdfАҳолиаш chat нафар аст. |
Хатогиҳо ва маҳдудиятҳо
| Код | Маънӣ |
|---|---|
400 | Ягон файл нест, намуди пуштибонӣ нашуда ё файл хеле калон аст. |
401 | Хатогӣ ё нодурустии API-и нишона. |
402 | Аз саҳифаҳо, ҳадди озодии рӯзона/моҳона расидааст, ё кредитҳо нестанд. Дар бадан дохил мешавад used/cap. |
404 | UUID- и масъала ёфт нашуд. |
409 | Боркунӣ пеш аз анҷоми кор дархост шуд. |
Ҳар як саҳифаи коркардшуда ба маблағи кредитҳо арзиш дорад (1/ саҳифа дар сатҳи тез, бештар дар premium). Нақшаҳои пардохташуда ҳадди ҳар саҳифаи файлро баланд мебардоранд ва аҳамияти иловагӣ медиҳанд. Нигаред нархгузорӣ.
Саволҳои маъмул
language=auto барои муайян кардан ё гузаронидани рамзи махсус.