Skip to content

Images vs Text PDFs

Most real‑world faxes in 2025 are images — scans of insurance cards, lab results, driver’s licenses, or signed forms. Faxbot supports two content types only: PDF and TXT. This guide explains how to handle image content correctly and how to balance file size with HIPAA concerns.

Quick guidance - If you have a PDF that is a scan/photo (image‑based): send it as‑is. Do not try to extract text. Use send_fax with filePath (stdio) or upload the PDF via the REST API/SDKs. - If you have a pure text document: either send the .txt file (Faxbot converts to PDF) or a text‑based PDF. - If you have images (PNG/JPG): convert to PDF first, then send.

Conversions - macOS Preview: File → Export As… → Format: PDF - macOS CLI: sips -s format pdf "in.png" --out "out.pdf" - Linux: img2pdf in.png -o out.pdf or magick convert in.png out.pdf - Windows: open image → Print → “Microsoft Print to PDF”

MCP tooling: which option to use? - send_fax with filePath (stdio) — recommended for image PDFs. Sends the original image; no text extraction. - faxbot_pdf — for text PDFs only. Extracts text and sends as TXT to avoid base64/token issues. It will fail fast on image‑only PDFs and instruct you to use send_fax. - HTTP/SSE MCP transports — require base64; keep files small (≤ ~100 KB), or prefer stdio with filePath for local usage.

File size and quality - API default limit is MAX_FILE_SIZE_MB=10. - For scans, use 150–200 DPI and grayscale when possible to reduce size without losing readability. - For personal/one‑off use (patients): local stdio MCP with filePath avoids base64 bloat; token limits don’t apply.

HIPAA considerations - Healthcare providers (Covered Entities/Business Associates): use HIPAA‑aligned transports and controls. - Prefer OAuth‑protected SSE MCP for assistant integrations or use the REST API/SDKs directly. - Use HTTPS for PUBLIC_API_URL (Phaxio) and enable signature verification. - Patients (sending their own documents): HIPAA obligations differ; using local stdio MCP is generally acceptable because you are not a covered entity and Faxbot does not receive faxes. Providers still must protect inbound faxes on their side.

Troubleshooting - “Unsupported file type”: only PDF and TXT are accepted. Convert images to PDF. - “No extractable text” from faxbot_pdf: your PDF is an image — use send_fax with filePath. - Shell path issues with spaces/odd characters: quote the entire path or rename using a wildcard (e.g., cp Screenshot*.pdf card.pdf).