PDF.chat API

Pakua alama ya PDF na chat kwa kutumia programu yako mwenyewe Éche kuuliza maswali na kupata majibu yaliyotajwa kwenye ukurasa huu, katika lugha 100+.

Muhtasari

Watu PDF.chat% ni wadogo wanaowasiliana kwa njia ya umoja. POST Hati ya kuimeza na kupata kazi ya kuandika maandishi na mvunjiko wa kila ukurasa (habari, kufunga masanduku, uhakika). POST Kila mmoja wao anaangalia ukurasa huo kwa mara ya kwanza na kueleza maana yake. pending msimamo ambao unapiga kura mpaka done.

  • Base URUL: https://pdf.chat
  • Hati: PDF, pamoja na Neno, PowerPoint, maandishi, na picha (PNG, JPG, WEBP, GIF, BMP, TINF)
  • Chat out: majibu ya ukurasa; nakala kupitia historia zimemalizika
  • Maandishi yaliyoandaliwa: txt, md, docx, pdf, csv, json
  • Mota za Kusoma: cpu (Dima, chapwa) na vlm (Tabimia AI, mwandiko, mpangilio tata, hesabu)

Kupatana

Jiepusheni na mambo yenu MILIONI (Itasemwa juu yako! ukurasa waKama kwamba wao ni jeshi litakalo funika?

Authorization: Bearer YOUR_API_TOKEN

Pia unaweza kupita ?api_token=… Ukiwa paraji ya meta moja, unajikwa kwenye ukurasa wako.

Ruhusu hati

POST /api/v1/ocr/, Sehemu nyingi hufanyiza mizigo.

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"

Arudi kazini. kwa faili za kurasa 175 tayari zimeshaandikwa done kwa maandishi; faili kubwa zaidi zarudi pending/processing, chunguza hali hiyo.

{
  "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 } ] } ]
}

Matokeo ni kwamba

GET /api/v1/ocr/<uuid>/, print operation status status ni done au failed.

curl https://pdf.chat/api/v1/ocr/9f2c1b7e4a.../ \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Pakua muundo

GET /api/v1/ocr/<uuid>/download/?format=md, Matokeo ya biashara hiyo yauzwa nje. format ni wa aina moja 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 wakiwa na hati

Ask questions about a finished job. Answers are grounded only in the extracted text and cite the source page. Requires an account token, the chat feature is account-gated.

POST /api/v1/chat/<uuid>/, GSON ↓ {"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?"}'

Arudi ujumbe wa msaidizi kwa jibu lake na orodha ya kurasa zilizotajwa:

{"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/, Pata nakala kamili ya mazungumzo ya kazi.

Vielelezo vya sheria

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

Juzi

ShambaAinaMaelezo
filefileIlihitajiwa. Picha au PDF ili kujifanyiza.
tierstringcpu (Afault, relate/naed) au vlm (Tabi AI: mwandiko, mpangilio, hesabu).
languagestringauto (Abhani) au msimbo wa lugha (ya Kiingereza)en, ch, ja, ar...).
toolstringKifaa cha kuunganisha voosy (e.g. summarize-pdf, ask-pdf) kwa ajili ya kuweka ramani mapema wale chat kwa kazi hiyo.

Makosa na Mipaka

KanuniMaana
400Hakuna faili, chapa isiyotegemezwa, au faili kubwa mno.
401Ile ishara ya kukosa au ya kasoro.
402Katika kurasa, kila siku (upengo wa uhuru wa mwezi/kwa mwezi) ulifikiwa, au hakuna mkopo. used/cap.
404Jarida la Ayubu UUID halikupatikana.
409Pakia watu wengi aliomba kazi kabla ya kumaliza kazi.

Kila ukurasa uliotayarishwa unagharimu mkopo (1ukurasa kwenye safu ya kasi, zaidi ya ada). Mipango ya ukadiriaji inapandisha vichwa vya ukurasa mmoja na kuongeza nafasi ya kwanza. unyoo.

Maswali yaliyoulizwa mara nyingi

Na ingiza katika yako yako akaunti inayo pitiwa. ukurasa wa, ishara yako inaonyeshwa hapo kwa kubonyeza nakala.

Naam, faili za kurasa 5 au chache zinarudisha matokeo kamili katika majibu ya POST, kwa hiyo hakuna upigaji kura unaohitajika kwa picha nyingi na tafiti fupi za PDF.

Zaidi ya hati 100, kutia ndani Kilatini, CJK, Kiarabu, Kisirili na Kisiricism. language=auto ili kugundua, au kupitisha ujumbe fulani hususa.

Masanduku hutayarishwa ili kujibu maswali yako na kufutwa bila jitihada zozote.

Usage husambazwa kwa kila ukurasa kwenye akaunti yako kwa kiasi hiki: simu zisizofahamika zinapewa kila siku, akaunti za bure kwa kila mwezi, na mipango ya malipo ya matumizi ya fedha iliyonunuliwa kwa vichwa na kipaumbele cha kila ukurasa.

Unaweza kutuma PNG, JPG, WEBP, GIF, BMP, TIF, na tovuti ya PDF. Matokeo ni kwamba unaweza kupakua karatasi za aina ya plantertere, docx, pdf (utafiti), csv, au json kupitia mfumo wa ramani wa shuka wa kupakua.

400 ni faili isiyopatikana, aina ya chapa isiyo na utegemezo, au faili kubwa mno; marhamu iliyokosekana au isiyo na maandishi; 402 kutoka kwenye kurasa; 404 kazi isiyojulikana iitwayo UUID; na barua - pepe iliyopakuliwa kabla ya kazi kumalizika.

Kitu cha kazi chenye hadhi, tabaka, lugha, ukurasa_noma, na maana_tty, pamoja na maandishi kamili na alama za chini. (vipande vya kurasa) (vinapounganishwa kwa maandishi, kushindilia sanduku), na kwa kukosa uhakika kabisa.

Tumia cep (mchuzi) kwa ajili ya utambuzi wa haraka, wa chini wa hati zilizochapwa. Use vlm, injini ya AI ya malipo, kwa mwandiko, miundo tata au mifanyizo ya hesabu, na tafsiri, ambapo ni sahihi zaidi.

Kifaa cha kupitiwa na gari chenye osteli (kwa mfano pridf au kuuliza-pdf) ili kuonyesha mapema watu chat kwa kazi hiyo, kwa hiyo msaidizi amejiandaa kutoa muhtasari au kujibu maswali kuhusu hati hiyo.

Mafaili makubwa yanakuja mara moja kama muda wa kusubiri au kutayarisha, na mnapiga kura /api/v1/cor/<uuid>/ mpaka ifanyike au shindwa. mipango ya kupandisha picha ya video ya ukurasa wa kwanza.

MWAMAMA huyu ni mFUFUMIZI wa HTPS, kwa hiyo, anatafsiri kutoka lugha yoyote na mteja wa HTP, anamuangalia Python, Node.js, na NEL mifano hapo juu. Hakuna SDK ya kuweka; kuna namna chache za sheria za msingi za HTP ambazo wahitaji tu.