Redact PDF | agent view
The same page content and links, with explicit tool capabilities. Tools marked with an API can run directly through HTTP. Other tools require the browser interface or are not connected yet.
Tool capabilities
{
"id": "redact-pdf",
"category": "pdf-tools",
"built": true,
"requirements": "True removal of underlying text/images, metadata and annotations; black boxes alone do not qualify.",
"implementation": {
"fields": [
{
"key": "search",
"label": "Exact text to permanently remove",
"value": "",
"type": "text"
},
{
"key": "page",
"label": "Page (0 means all pages)",
"value": 0,
"type": "number",
"min": 0,
"max": 500,
"step": 1
}
],
"files": true,
"accept": ".pdf",
"multiple": false,
"input": false,
"processing": "Server required",
"native": true,
"maxFileBytes": 20971520,
"note": "Processed by the local, self-hosted engine. No third-party conversion service is used. Permanently removes matching selectable text and overlapping image/vector content, then strips metadata, annotations, and attachments. Scanned text needs OCR first. Inspect the output before sharing.",
"experience": {
"automatic": false,
"single": false,
"label": "Your text",
"placeholder": "Type or paste your input…",
"help": "Up to 1,000,000 characters. Review the settings before running.",
"action": null
},
"mode": "explicit",
"interactive": false
},
"execution": "POST /api/v1/tools/redact-pdf/run",
"api": {
"id": "redact-pdf",
"name": "Redact PDF",
"category": "pdf-tools",
"description": "Permanently remove matching selectable text from a PDF.",
"notes": "Processed by the local, self-hosted engine. No third-party conversion service is used. Permanently removes matching selectable text and overlapping image/vector content, then strips metadata, annotations, and attachments. Scanned text needs OCR first. Inspect the output before sharing.",
"human_path": "/en/pdf-tools/redact-pdf/",
"method": "POST",
"endpoint": "/api/v1/tools/redact-pdf/run",
"schema_url": "/api/v1/tools/redact-pdf",
"input_schema": {
"type": "object",
"additionalProperties": false,
"properties": {
"input": {
"type": "string",
"maxLength": 1000000,
"default": "",
"description": "Plain text input. File tools use files instead unless otherwise documented."
},
"options": {
"type": "object",
"additionalProperties": false,
"properties": {
"search": {
"type": "string",
"description": "Exact text to permanently remove",
"default": ""
},
"page": {
"type": "number",
"description": "Page (0 means all pages)",
"default": 0.0,
"minimum": 0,
"maximum": 500,
"multipleOf": 1
}
}
},
"files": {
"type": "array",
"maxItems": 1,
"items": {
"type": "object",
"required": [
"name",
"base64"
],
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"description": "Filename only, no path."
},
"mime": {
"type": "string",
"maxLength": 150
},
"bytes": {
"type": "integer",
"minimum": 0,
"description": "Optional decoded byte count; must match content if supplied."
},
"base64": {
"type": "string",
"contentEncoding": "base64",
"description": "File bytes as padded base64. Use the tool-specific limits.files_bytes value for the total decoded input size."
}
}
}
}
}
},
"output_schema": {
"type": "object",
"required": [
"tool",
"result"
],
"properties": {
"tool": {
"type": "string"
},
"result": {
"type": "object",
"required": [
"text",
"files"
],
"properties": {
"text": {
"type": [
"string",
"null"
]
},
"data": {
"description": "Parsed JSON when the textual result is JSON."
},
"name": {
"type": "string"
},
"mime": {
"type": "string"
},
"files": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"mime",
"bytes",
"base64"
],
"properties": {
"name": {
"type": "string"
},
"mime": {
"type": "string"
},
"bytes": {
"type": "integer"
},
"base64": {
"type": "string",
"contentEncoding": "base64"
}
}
}
}
}
}
}
},
"processing": "Server; self-hosted native engine, no external conversion service",
"limits": {
"request_bytes": 31457280,
"input_characters": 1000000,
"files_bytes": 20971520,
"max_files": 1,
"timeout_seconds": 90
}
},
"agent_processing": "Server; self-hosted native engine, no external conversion service",
"browser_agent": {
"supported": true,
"name": "run_current_tool",
"discovery": "WebMCP on the human page in a supporting browser",
"verification": "See audit/API-AUDIT.md; availability is not verification"
}
}Page guide
Permanently remove matching selectable text from a PDF.
Useful next steps
How to use Redact PDF
- Choose a file in PDF.
- Review the settings, then choose Run Redact PDF.
- Review the result, then use Copy result or a download link when available.
What to expect
Permanently remove matching selectable text from a PDF. Processed by the local, self-hosted engine. No third-party conversion service is used. Permanently removes matching selectable text and overlapping image/vector content, then strips metadata, annotations, and attachments. Scanned text needs OCR first. Inspect the output before sharing.