80trust / 100

Pdf Repair

by Tanod pdfpeek in Documents & files

x402 APIPassing, checked 3 h ago

pdfpeek (Tanod) PDF repair: a damaged file rebuilt, optionally linearized for fast web view.

POST https://tanod.dev/v1/pdf/repair

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
272 ms typical, 808 ms slowest 5%
Last check
3 h ago
Next check
any minute now

How to call it

# bash or zsh: see the payment challenge (nothing is charged)
curl -g -i -X POST 'https://tanod.dev/v1/pdf/repair' \
  -H 'content-type: application/json' \
  --data-raw '{"linearize":true,"url":"https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Ftanod.dev%2Fv1%2Fpdf%2Frepair
const res = await pay("https://tanod.dev/v1/pdf/repair", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: "{\"linearize\":true,\"url\":\"https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf\"}",
});
console.log(await res.json());

Example input

{
  "linearize": true,
  "url": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"
}

Example output

{
  "active_content_removed": {},
  "bytes_after": 13730,
  "bytes_before": 13264,
  "file": {
    "bytes": 13730,
    "content_type": "application/pdf",
    "data_base64": "JVBERi0xLjQKJb/3... (trimmed: 18,308 base64 characters in the reply)",
    "name": "repaired.pdf",
    "pages": 1
  },
  "input_bytes": 13264,
  "input_pages": 1,
  "linearized": true,
  "operation": "repair",
  "output_bytes": 13730,
  "reconstructed": false,
  "repaired": false,
  "untrusted_content": true,
  "warning_count": 0,
  "warnings": []
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
3 h agoPassed402273 ms$0.005
7 h agoPassed402263 ms$0.005
11 h agoPassed402266 ms$0.005
15 h agoPassed402265 ms$0.005
19 h agoPassed402275 ms$0.005
22 h agoPassed402616 ms$0.005
26 h agoPassed402392 ms$0.005
29 h agoPassed4021.3 s$0.005
33 h agoPassed402272 ms$0.005
36 h agoPassed402262 ms$0.005
40 h agoPassed402280 ms$0.005
44 h agoPassed402280 ms$0.005
2 days agoPassed402348 ms$0.005
2 days agoPassed402808 ms$0.005
2 days agoPassed402268 ms$0.005