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 out: җаваплар бит цитаты белән; транскрипцияләр тарих ахыры белән
  • Эшләнгән мәкалә: 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 (Казан, 1996) (авторлык, тәрҗемә, аңлатмалар).
languagestringauto (стандарт) яки тел коды (en, ch, ja, ar(Казан шәһәре).
toolstringРФ су реестры мәгълүматлары: Слюдянка (Слюдянка). summarize-pdf, ask-pdf) to pre-frame the chat for that task.

Хаталар һәм чикләүләр

КодМәгънә
400Файль юк, файлның төре ярдәм итми яки файл бик зур.
401API токен юк яки дөрес түгел.
402Бәйләнешләр саны җитми, көнлек/айлык бушлай чик җитте яки кредитлар юк. Төркем эчендә used/cap.
404Таләпнең UUIDы табылмады.
409Таләп тәмамланмас борын төшерү сорала.

Һәр эшкәртелгән бит кредитлар белән бәяләнә (1/бет тизрәк дәрәҗәдә, күбрәк премиум дәрәҗәдә). Плата планнары файлга бер битне арттыра һәм өстенлекне өсти. Карагыз бәяләү.

Кайвакыт бирелә торган сораулар

Бушлай исәп-хисап булдырыгыз һәм үзегезнең шәхси кабинетыгызны ачыгыз хисап бите, сезнең уенчык анда күчерү төймәсенә күрсәтелә.

5000 дән артык фәнни хезмәт авторы, шул исәптән 5 монография, 100 дән артык фәнни хезмәт авторы, шул исәптән 10 монография авторы.

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 булган эш объекты, шулай ук тулы мәтнә һәм маркировка. Бәйләнешле битләр һәрбер битне блокларга бүлеп, аларның мәтнәсен, чикләү мәйданын (bbox) һәм блокка ышанычлылыгын күрсәтә.

Процессорны (стандарт) тиз һәм арзан бәягә басылган документларны танырга куллану. vlm, AI моторын кул белән язу, катлаулы яки күп колонкалы рәсемнәр, математика һәм тәрҗемә өчен куллану, бу дөресрәк.

chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat-нче елларда, chat

5 яки аннан азрак битле файллар POST җавапларында юл эчендә кайтарыла. Зуррак файллар көтелә торган яки эшкәртелә торган дип тиздән кире кайтарыла, һәм сез GET /api/v1/ocr/ сорау бирәсез<uuid>/ хәтта хәле тәмамланганга яки хаталанганга кадәр. Платалы планнар файл өчен битләр саны чикләүләрен арттыра.

API HTTPS өстеннән гади REST, шуңа күрә ул HTTP клиенты белән теләсә нинди телдән эшли, Python, Node.js, һәм cURL мисалларын карагыз. Сүз уңаеннан, урнаштыру өчен SDK юк; стандарт HTTP кодының берничә юлын гына кирәк.