happytails.ai

EPUB to PDF

Open EPUB to 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": "epub-to-pdf",
  "category": "document-tools",
  "built": true,
  "requirements": "Reflow to chosen page size with readable fonts/TOC; disclose DRM and layout limitations.",
  "implementation": {
    "fields": [],
    "files": true,
    "accept": ".epub",
    "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. Reflows unencrypted EPUB content onto A4 pages. Does not remove DRM.",
    "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": "Convert file"
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "POST /api/v1/tools/epub-to-pdf/run",
  "api": {
    "id": "epub-to-pdf",
    "name": "EPUB to PDF",
    "category": "document-tools",
    "description": "Convert EPUB files to PDF with the available format settings.",
    "notes": "Processed by the local, self-hosted engine. No third-party conversion service is used. Reflows unencrypted EPUB content onto A4 pages. Does not remove DRM.",
    "human_path": "/en/document-tools/epub-to-pdf/",
    "method": "POST",
    "endpoint": "/api/v1/tools/epub-to-pdf/run",
    "schema_url": "/api/v1/tools/epub-to-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": {}
        },
        "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

Convert EPUB files to PDF.

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 EPUB to PDF
  1. Choose a file in EPUB.
  2. Review the settings, then choose Convert file.
  3. Review the result, then use Copy result or a download link when available.

Useful next steps

What to expect

Convert EPUB files to PDF with the available format settings. Processed by the local, self-hosted engine. No third-party conversion service is used. Reflows unencrypted EPUB content onto A4 pages. Does not remove DRM.