PDF.chat API

Lataa PDF ja chat omalla sovelluksellasi – kysy kysymyksiä ja saat sivulla olevat vastaukset 100+ kielellä.

Yleiskatsaus

PDF.chat API on pieni REST-rajapinta. Ensin POST Asiakirja, jolla se otetaan ja jonka avulla saa työpaikan takaisin asiakirjan tekstillä ja sivukohtainen erittely (teksti, rajalaatikot, itseluottamus). POST Työtä vastaan esitetyt kysymykset ja vastaukset perustuvat asiakirjaan, jossa kukin mainitaan sivulta, jolta se tuli. Työpaikkoja on 5 sivua tai vähemmän, ja suuremmat työt palaavat välittömästi, kun pending statusta, johon asti teet kyselyjä done.

  • Perusverkko- osoite: https://pdf.chat
  • Asiakirjat: PDF, sekä Word, PowerPoint, teksti ja kuvat (PNG, JPG, WEBP, GIF, BMP, TIFF)
  • Chat ulos: vastauksia sivuviittauksilla; dokumentit historian päätetapahtuman kautta
  • Käsitelty teksti julki: txt, md, docx, pdf, csv, json
  • Lukumoottorit: cpu (nopea, painettu) ja vlm (premium tekoäly, käsiala, monimutkainen pohjapiirros, matematiikka)

Todentaminen

Osoita mielipiteesi API-tunnus (löydä se tilisivu) kantapäänä:

Authorization: Bearer YOUR_API_TOKEN

Voit myös läpäistä ?api_token=… kyselyparametrina. Käyttäjän käyttö on mittarina tilisi sivusaldoa vasten.

Lähetä asiakirja

POST /api/v1/ocr/, moniosainen lomake ladattava.

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"

Palauttaa työn. ≤5-sivuisille tiedostoille se on jo done tekstillä; suuremmat tiedostot tulevat takaisin pending/processing, kyselyn tilan päätetapahtuma.

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

Hanki tulos

GET /api/v1/ocr/<uuid>/, kyselyt, kunnes status is done tai failed.

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

Lataa formaatti

GET /api/v1/ocr/<uuid>/download/?format=md, vie tulos. format on yksi 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 asiakirjaa

Kysy kysymyksiä valmiista työstä. Vastaukset perustuvat vain otetekstiin ja viittaavat lähdesivuun. Vaaditaan tilitunnus, chat ominaisuutta on tilikirjattu.

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

Palauttaa avustajaviestin vastauksensa ja listan mainituista sivuista:

{"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/, Hae koko keskusteluyhteys työpaikkaa varten.

Koodiesimerkit

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

Parametrit

KenttäTyyppiTavaran kuvaus
filefileVaadittu. Kuva tai PDF käsittelyyn.
tierstringcpu (oletus, nopea/painoitettu) tai vlm (premium tekoäly: käsiala, pohjapiirros, matematiikka).
languagestringauto (oletus) tai kielikoodi (en, ch, ja, ar,...).
toolstringValinnainen työkalun luoti (esim. summarize-pdf, ask-pdf) esijärjestämään chat:n tehtävän.

Virheitä ja rajoituksia

KoodiMerkitys
400Ei tiedostoja, ei tukityyppiä tai liian suuria tiedostoja.
401Puuttuva tai epäkelpo API-tunnus.
402Sivuilta käsin päivittäin/kuukausittain vapaaraja saavutettu tai ei opintopisteitä. used/cap.
404UUID-työtä ei löytynyt.
409Lataa pyydetty ennen työn päättymistä.

Jokainen käsitelty sivu maksaa hyvitykset (yksi sivu nopealla tasolla, enemmän palkkiolla). Maksetut suunnitelmat nostavat sivukohtaisia sivukattoja ja lisäävät prioriteettia. hinnoittelu.

Usein kysyttyjä kysymyksiä

Luo ilmainen tili ja avaa tilisivu, kuponki näytetään siellä kopionappulalla.

Kyllä, viiden sivun tai alle sivun tiedostot palauttavat koko tuloksen linjaan POST-vastauksessa, joten useimpiin kuviin ja lyhyisiin PDF-papereihin ei tarvita kyselyjä.

Yli 100, mukaan lukien latina, CJK, arabia, kyrilliset ja indic-käsikirjoitukset. language=auto tietyn koodin havaitsemiseksi tai sen välittämiseksi.

Lataukset käsitellään vain vastaamaan kysymyksiisi ja poistetaan automaattisesti. Emme koskaan myy, jaa tai harjoittele dokumenteissasi.

Käyttäjää mitataan sivua kohden tilisi saldoa vasten: nimettömät puhelut saavat päivärahaa IP-tiliä kohti, ilmaiset tilit kuukausittaista ämpäriä ja maksulliset suunnitelmat käyttävät ostettuja luottoja, joiden sivujen kansia ja prioriteettia on enemmän. Kun loppuvat, saa 402, jossa on käytetty ja korkki kehossa.

Voit lähettää PNG:n, JPG:n, WEBP:n, GIF:n, BMP:n, TIFF:n ja monisivuisen PDF:n. Tulokset ladataan txt-, md-, docx-, pdf- (hakukelpoinen), csv- tai json-muodossa latauspäätteen parametrin kautta.

400 on puuttuva tiedosto, tukiton tyyppi tai liian suuri tiedosto, 401 puuttuva tai virheellinen rahake, 402 sivua sivusta, 404 tuntematon työ UUID ja 409 pyydetty lataus ennen tehtävän päättymistä. Virhekoneisiin kuuluu lyhyt viesti.

Työkohde, jossa on status, taso, kieli, sivu_laskenta ja mean_luottamuksellisuus sekä koko teksti ja merkintä. Sivut jakaantuvat lohkoiksi tekstillään, rajalaatikkonsa (bbox) ja lohkokohtaisen itseluottamuksensa kanssa.

Käytä cpu (oletus) nopeaan ja edulliseen puhtaiden painettujen asiakirjojen tunnistamiseen. Käytä Vlm:iä, korkealuokkaista tekoälymoottoria, käsialaa, monimutkaisia tai monisarakeisia asetteluja, matematiikkaa ja käännöstä, missä se on paljon tarkempi.

Syötä työkalulla (esimerkiksi yhteenveto-pdf tai kysy-pdf) chat:n valmiiksi valmiiksi tuota tehtävää varten, joten avustajan on tarkoitus tehdä yhteenveto tai vastata asiakirjaan liittyviin kysymyksiin.

PUHEENJOHTAJAN vastauksessa on 5 sivua tai vähemmän palautusinline-tiedostoja. Suuremmat tiedostot palaavat välittömästi vireillä tai käsittelyssä ja saat kyselyn GET/api/v1/ocr/<uuid>/ kunnes tila on valmis tai epäonnistunut. Maksetut suunnitelmat nostavat per-sivun kansia.

API on tavallinen REST-järjestelmä HTTPS:n yläpuolella, joten se toimii mistä tahansa kielestä HTTP-asiakkaalla, katso yllä Python, Node.js ja CURL-esimerkit. SDK:ta ei ole, vaan muutama rivi normaalia HTTP-koodia riittää.