happytails.ai

Redact PDF

Open Redact PDF on Happytails.ai. This view has the same page content and links, with explicit tool capabilities. Read the processing notes before using a tool.

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,
      "inputMaxLength": 1000000,
      "inputMode": "text",
      "label": "Your text",
      "placeholder": "Type or paste your input…",
      "help": "Up to 1,000,000 characters. Review the settings before running.",
      "helpParts": [
        "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

Remove matching selectable text from a PDF, then inspect the result before sharing.

This tool needs server processing

The public server is not connected yet. File selection and processing are unavailable on this website.

Browse other tools in this category
How to use Redact PDF
  1. Choose a file in PDF.
  2. Review the settings, then choose Run Redact PDF.
  3. Review the result, then use Copy result or a download link when available.

Useful next steps

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.