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?"}'

Параметрҳо

& Файл& Навъ& Тасвирот
filefileДархостӣ. Тасвири ё PDF барои коркарди.
tierstringcpu (бо нобаёнӣ, тез/чопшуда) ё vlm (Premium AI: дастнависи, тарҳбандии, математика).
languagestringauto (бо нобаёнӣ) ё рамзи забон (en, ch, ja, ar& Тасвир
toolstringИнтихоби асбоби slug (мисол summarize-pdf, ask-pdfАҳолиаш chat нафар аст.

Хатогиҳо ва маҳдудиятҳо

КодМаънӣ
400Ягон файл нест, намуди пуштибонӣ нашуда ё файл хеле калон аст.
401Хатогӣ ё нодурустии API-и нишона.
402Аз саҳифаҳо, ҳадди озодии рӯзона/моҳона расидааст, ё кредитҳо нестанд. Дар бадан дохил мешавад used/cap.
404UUID- и масъала ёфт нашуд.
409Боркунӣ пеш аз анҷоми кор дархост шуд.

Ҳар як саҳифаи коркардшуда ба маблағи кредитҳо арзиш дорад (1/ саҳифа дар сатҳи тез, бештар дар premium). Нақшаҳои пардохташуда ҳадди ҳар саҳифаи файлро баланд мебардоранд ва аҳамияти иловагӣ медиҳанд. Нигаред нархгузорӣ.

Саволҳои маъмул

Эҷод кардани ҳисобҳои ройгон ва кушодани ҳисобҳои шумо саҳифаи ҳисоб, нишонаи шумо дар он ҷо бо тугмаи нусха бардорӣ нишон дода мешавад.

Ҳа, файлҳои 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 дархост барои боргирӣ пеш аз анҷоми кор. Дар таркиби хатогӣ иттилооти кӯтоҳе мавҷуд аст.

Объекти кор бо ҳолати, дараҷа, забон, саҳифа_ шумора ва mean_ confidence, илова бар матни пурра ва markdown. Рақами саҳифа ҳар саҳифаро ба блокҳо бо матни онҳо, қуттии маҳдудкунанда (bbox) ва эътимоди ҳар блок тақсим мекунад.

Истифодаи cpu (бо нобаёнӣ) барои зуд, шиносоии арзони ҳуҷҷатҳои чопшудаи тоза. Истифодаи vlm, двигатель AI premium, барои дастнависи, мураккаб ё сутунҳои бисёр, математика ва тарҷума, ки он хеле дақиқтар аст.

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.

Файлҳои 5 саҳифа ё камтар дар ҷавоби POST дар сатр бармегарданд. Файлҳои калон ба таври худкор ҳамчун интизор ё коркард бармегарданд ва шумо GET /api/v1/ocr/-ро пурсидан мехоҳед<uuid>/ то он даме, ки ҳолати иҷро ё нокомӣ бошад. Тарҳҳои пардохташудаи ҳар як файли саҳифаи маҳдудиятро баланд мебардоранд.

API REST- и оддӣ дар HTTPS мебошад, бинобар ин он аз ҳар забоне бо муштарии HTTP кор мекунад, мисолҳои Python, Node. js ва cURL- ро дар боло бубинед. Ягон SDK барои насбкунӣ нест; танҳо чанд сатри коди стандартии HTTP лозим аст.