Your agent can't manipulate a PDF in its sandbox; this merges, splits, extracts, fills, stamps, and compresses them.
Merge, split, extract text and tables, fill forms, stamp/watermark, and compress PDFs. 0.1 credits per page (compress: 0.1 credits per MB of input).
Fill an AcroForm PDF's fields and return the completed document.
Map of AcroForm field name to value. Checkboxes accept true/false.
Pre-signed GET URL of the fillable PDF.
Download URL TTL in seconds.
Filename for the filled PDF. Defaults to filled.pdf.
curl -X POST "https://skill.askfaro.com/skills/pdf-tools/run" \
-H "Authorization: Bearer faro_<your_key>" \
-H "Content-Type: application/json" \
-d '{
"intent": {
"prompt": "Fill this PDF form with name \"Ada Lovelace\" and date \"2026-06-04\""
}
}'askfaro describe pdf-tools/fill_form
Install pip install askfaro-cli, then askfaro auth login.
Comma-separated 1-indexed page ranges, e.g. "1-3,5,8-10". Each group becomes one output PDF.
Split into chunks of N pages each. Ignored if ranges is set.
Pre-signed GET URL of the PDF to split.
Download URL TTL in seconds.
Base filename for the output(s).
curl -X POST "https://skill.askfaro.com/skills/pdf-tools/run" \
-H "Authorization: Bearer faro_<your_key>" \
-H "Content-Type: application/json" \
-d '{
"intent": {
"prompt": "Split out pages 1 to 3 of this PDF"
}
}'askfaro describe pdf-tools/split
Install pip install askfaro-cli, then askfaro auth login.
Optional 1-indexed page selector, e.g. "1-3,5". Defaults to all pages.
Pre-signed GET URL of the PDF.
curl -X POST "https://skill.askfaro.com/skills/pdf-tools/run" \
-H "Authorization: Bearer faro_<your_key>" \
-H "Content-Type: application/json" \
-d '{
"intent": {
"prompt": "Extract the text from this PDF"
}
}'askfaro describe pdf-tools/extract_text
Install pip install askfaro-cli, then askfaro auth login.
Download URL TTL in seconds (default 1h, max 24h).
Pre-signed GET URLs of the PDFs to merge, in order.
Filename for the merged PDF. Defaults to merged.pdf.
curl -X POST "https://skill.askfaro.com/skills/pdf-tools/run" \
-H "Authorization: Bearer faro_<your_key>" \
-H "Content-Type: application/json" \
-d '{
"intent": {
"prompt": "Merge these three PDFs into one file"
}
}'askfaro describe pdf-tools/merge
Install pip install askfaro-cli, then askfaro auth login.
Stamp or watermark every page of a PDF with text or an image.
Watermark text. Provide text or image_url.
Text color as
Image stamp width as a fraction of page width.
Stamp opacity.
Where to place the stamp on each page.
Stamp rotation in degrees.
Text stamp font size in points.
Pre-signed GET URL of a stamp/watermark image. Provide text or image_url.
Pre-signed GET URL of the PDF.
Download URL TTL in seconds.
Filename for the stamped PDF. Defaults to stamped.pdf.
curl -X POST "https://skill.askfaro.com/skills/pdf-tools/run" \
-H "Authorization: Bearer faro_<your_key>" \
-H "Content-Type: application/json" \
-d '{
"intent": {
"prompt": "Watermark this PDF with \"CONFIDENTIAL\" diagonally"
}
}'askfaro describe pdf-tools/stamp
Install pip install askfaro-cli, then askfaro auth login.
Extract simple tables from a PDF as structured rows.
Optional 1-indexed page selector, e.g. "1-3,5". Defaults to all pages.
Pre-signed GET URL of the PDF.
curl -X POST "https://skill.askfaro.com/skills/pdf-tools/run" \
-H "Authorization: Bearer faro_<your_key>" \
-H "Content-Type: application/json" \
-d '{
"intent": {
"prompt": "Extract the tables from this PDF"
}
}'askfaro describe pdf-tools/extract_tables
Install pip install askfaro-cli, then askfaro auth login.
Recompress and linearize a PDF to reduce file size.
Compression effort. balanced and max also linearize for web viewing.
Pre-signed GET URL of the PDF.
Download URL TTL in seconds.
Filename for the compressed PDF. Defaults to compressed.pdf.
curl -X POST "https://skill.askfaro.com/skills/pdf-tools/run" \
-H "Authorization: Bearer faro_<your_key>" \
-H "Content-Type: application/json" \
-d '{
"intent": {
"prompt": "Compress this PDF to make it smaller"
}
}'askfaro describe pdf-tools/compress
Install pip install askfaro-cli, then askfaro auth login.
A self-hosted PDF toolkit: merge, split, extract text/tables, fill AcroForm fields, stamp/watermark, and compress. No third-party service handles your files; processing runs on the Faro worker.
POST /uploads/presign on faro-api to get a put_url + get_url pair.put_url.input_url (or input_urls) set to the get_url(s).download_url, or read inline text/tables.0.1 credits per page for merge, split, extract, fill, and stamp; 0.1 credits per MB of input for compress.
Max input 100 MB and 3000 pages per document; merge takes up to 50 inputs. Extracted text is capped at ~5 MB inline. Inputs are streamed with a hard size cap and every call runs under a wall-clock timeout.