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 (premium AI, γραφικός χαρακτήρας, πολύπλοκη διάταξη, μαθηματικά)

Ταυτοποίηση

Αυθεντικά με σας Σύμβολο API (Βρείτε το στο δικό σας Σελίδα λογαριασμού) ως κεφαλίδα Bearer:

Authorization: Bearer YOUR_API_TOKEN

Μπορείς επίσης να περάσεις ?api_token=… ως παράμετρος ερώτησης. Η χρήση μετράται στο υπόλοιπο της σελίδας του λογαριασμού σας.

Υποβολή εγγράφου

POST /api/v1/ocr/, multipart form upload.

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 με έγγραφο

Οι απαντήσεις είναι βασισμένες μόνο στο κείμενο που εξάγεται και να αναφέρει την πηγή σελίδας. Απαιτεί ένα σύμβολο λογαριασμού, το χαρακτηριστικό chat είναι λογαριασμό-gated.

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Προαιρετική σφαίρα εργαλείων (π.χ. summarize-pdf, ask-pdf) να προσχεδιάσει τις chat για την εν λόγω εργασία.

& Όρια σφαλμάτων

ΚωδικόςΣημασία
400Κανένα αρχείο, μη υποστηριζόμενο τύπο, ή αρχείο πολύ μεγάλο.
401Λείπει ή είναι άκυρο.
402Από σελίδες, καθημερινά / μηνιαία δωρεάν όριο που επιτυγχάνεται, ή χωρίς πιστώσεις. used/cap.
404Η δουλειά UUID δεν βρέθηκε.
409Η λήψη ζητήθηκε πριν από την ολοκλήρωση της εργασίας.

Κάθε σελίδα που επεξεργάζεται πιστώσεις κόστους (1/σελίδα για την ταχεία βαθμίδα, περισσότερο για πριμοδότηση). τιμές.

Συχνές ερωτήσεις

Δημιουργία δωρεάν λογαριασμού και άνοιγμα σας Σελίδα λογαριασμού, το σημείο σας εμφανίζεται εκεί με ένα κουμπί αντιγραφής.

Ναι, τα αρχεία των 5 σελίδων ή λιγότερο επιστρέφουν το πλήρες αποτέλεσμα inline στην απάντηση POST, έτσι δεν απαιτείται δημοσκόπηση για τις περισσότερες εικόνες και σύντομες PDFs.

Πάνω από 100, συμπεριλαμβανομένων λατινικών, CJK, αραβικών, κυριλλικών και Ινδικών σεναρίων. language=auto να ανιχνεύσει ή να περάσει έναν συγκεκριμένο κωδικό.

Τα φορτία υποβάλλονται σε επεξεργασία μόνο για να απαντήσουν στις ερωτήσεις σας και να διαγραφούν αυτόματα.

Η χρήση γίνεται ανά σελίδα στο λογαριασμό σας: ανώνυμες κλήσεις λαμβάνουν ένα ανά-IP ημερήσιο επίδομα, δωρεάν λογαριασμούς ένα μηνιαίο κουβά, και πληρωμένα σχέδια χρησιμοποιούν αγορασμένες πιστώσεις με υψηλότερα ανά αρχείο καπάκια σελίδας και προτεραιότητα.

Μπορείτε να στείλετε PNG, JPG, WEBP, GIF, BMP, TIFF, και πολυσέλιδο PDF. Αποτελέσματα κατεβάστε ως txt, md, doxx, pdf (αναζήτηση), csv, ή json μέσω της παράμετρος μορφής του τελικού σημείου λήψης.

400 είναι ένα αρχείο που λείπει, μη υποστηριζόμενο τύπο, ή αρχείο πολύ μεγάλο; 401 ένα λείπει ή άκυρο μάρκα; 402 από τις σελίδες; 404 μια άγνωστη εργασία UUID; και 409 μια λήψη που ζητήθηκε πριν από την εργασία τελειώσει.

Ένα αντικείμενο εργασίας με κατάσταση, βαθμίδα, γλώσσα, σελίδα_count, και μέση_πεποίθηση, συν το πλήρες κείμενο και τη σήμανση. Η σειρά σελίδων σπάει κάθε σελίδα σε μπλοκ με το κείμενο τους, το πλαίσιο σύνδεσης (bbox), και ανά-μπλοκ εμπιστοσύνη.

Χρησιμοποιήστε cpu (η προεπιλογή) για γρήγορη, χαμηλού κόστους αναγνώριση των καθαρών έντυπων εγγράφων. Χρησιμοποιήστε Vlm, τον κινητήρα υψηλής ποιότητας AI, για τον γραφικό χαρακτήρα, πολύπλοκες ή πολυ-στοιχειώδεις διατάξεις, μαθηματικά, και μετάφραση, όπου είναι πολύ πιο ακριβής.

Περάστε το εργαλείο με μια σφαίρα (για παράδειγμα συνοψίστε-pdf ή ρωτήστε-pdf) για να προ-προγραμματίσει το chat για το έργο αυτό, έτσι ο βοηθός είναι συντονισμένος για να συνοψίσει ή να απαντήσει σε ερωτήσεις σχετικά με το έγγραφο.

Τα μεγαλύτερα αρχεία επιστρέφουν αμέσως ως εκκρεμούσες ή επεξεργάζεσαι, και εσύ γυρίζεις το GET /api/v1/ocr/<uuid>/ μέχρι να γίνει ή να αποτύχει η κατάσταση. Τα πληρωμένα σχέδια αυξάνουν το καπάκι ανά αρχείο σελίδας.

Το API είναι απλό REST πάνω από HTTPS, έτσι λειτουργεί από οποιαδήποτε γλώσσα με ένα πελάτη HTTP, δείτε το Python, Node.js, και cURL παραδείγματα παραπάνω. Δεν υπάρχει SDK για να εγκαταστήσετε? μερικές γραμμές του πρότυπου κώδικα HTTP είναι όλα όσα χρειάζεστε.