PDF to Audio
Open PDF to Audio 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": "pdf-to-audio",
"category": "speech-tools",
"built": true,
"requirements": "Extract PDF reading order with preview; choose sections; generate chaptered audio. OCR optional for scans; tables and multi-column layouts need review before synthesis.",
"implementation": {
"fields": [
{
"key": "rate",
"label": "Reading speed (words per minute)",
"value": 170,
"type": "number",
"min": 80,
"max": 300,
"step": 1
}
],
"files": true,
"accept": ".pdf",
"multiple": false,
"input": false,
"processing": "Server required",
"native": true,
"extra": true,
"maxFileBytes": 20971520,
"note": "Processed locally on this website’s server without an external conversion API. Uses the installed local macOS voice. Up to 6,000 extracted characters. Scans need OCR first. Linux needs a separate local voice engine.",
"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/pdf-to-audio/run",
"api": {
"id": "pdf-to-audio",
"name": "PDF to audio",
"category": "speech-tools",
"description": "Read selectable PDF text aloud using a local system voice.",
"notes": "Processed locally on this website’s server without an external conversion API. Uses the installed local macOS voice. Up to 6,000 extracted characters. Scans need OCR first. Linux needs a separate local voice engine.",
"human_path": "/en/speech-tools/pdf-to-audio/",
"method": "POST",
"endpoint": "/api/v1/tools/pdf-to-audio/run",
"schema_url": "/api/v1/tools/pdf-to-audio",
"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": {
"rate": {
"type": "number",
"description": "Reading speed (words per minute)",
"default": 170.0,
"minimum": 80,
"maximum": 300,
"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
Hear selectable PDF text read aloud with an available system voice.
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 categoryHow to use PDF to audio
- Choose a file in PDF.
- Review the settings, then choose Convert file.
- Review the result, then use Copy result or a download link when available.
Useful next steps
What to expect
Read selectable PDF text aloud using a local system voice. Processed locally on this website’s server without an external conversion API. Uses the installed local macOS voice. Up to 6,000 extracted characters. Scans need OCR first. Linux needs a separate local voice engine.