Ghostscript downsampling with four presets: screen, ebook (default), printer, prepress. If compression would grow the file, you get the original back.
Get a key first – no signup: curl -X POST https://api.bigapi.dev/v1/keys (100 free operations, 7 days).
curl -X POST https://api.bigapi.dev/v1/pdf/compress -H 'Authorization: Bearer $KEY' -F 'file=@big.pdf' -F 'level=ebook' -o small.pdf
Add BiGapi to Claude Desktop, Cursor or any MCP client – the server fetches its own key on first use:
{
"mcpServers": {
"bigapi": { "command": "npx", "args": ["-y", "@bigapi/mcp"] }
}
}
Then simply ask: “Compress this PDF for e-mail.” – the model calls the pdf_compress tool.
| Param | Type | Required | Notes |
|---|---|---|---|
file | file | yes | |
level | string | no | one of screen, ebook, printer, prepress · default ebook |
Idempotency-Key are free · prepaid credit from $5, never expires.Every response carries X-BigAPI-Cost, X-BigAPI-Balance and X-BigAPI-Free-Ops – your agent can budget on its own.
| Status | Meaning | Agent action |
|---|---|---|
401 | missing/invalid key | POST /v1/keys for a fresh one |
402 | credit exhausted | show the upgrade_url from the response to a human |
413 | file too large | split the input (limit 100 MB) |
422 | conversion failed | check the detail field – costs $0 |
429 | rate limited | wait retry_after seconds |
ebook is the safe default (150 dpi images). screen for smallest, printer/prepress for print quality.
Ghostscript sometimes inflates already-optimized files – we detect that and return the original, so the result is never worse.
No – text stays vector; only embedded images are downsampled.