compress-pdf
// Compress a user-provided PDF by uploading it to Cross-Service-Solutions, polling until completion, then returning a download URL for the compressed file.
$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namecompress-pdf
descriptionCompress a user-provided PDF by uploading it to Cross-Service-Solutions, polling until completion, then returning a download URL for the compressed file.
licenseMIT
compatibility[object Object]
metadata[object Object]
allowed-toolshttp,files
compress-pdf
Purpose
This skill compresses a PDF by:
- accepting a PDF file from the user,
- uploading it to the Cross-Service-Solutions compression API,
- polling the job status until it is finished,
- returning the compressed file download URL.
Credentials
The API requires an API key used as a Bearer token:
Authorization: Bearer <API_KEY>
How the user gets an API key:
- They can sign up and get their key at: https://login.cross-service-solutions.com/register
- Or they can provide an API key directly to the bot.
Rule: never echo or log the API key.
API endpoints
Base URL:
https://api.xss-cross-service-solutions.com/solutions/solutions
Create compression job:
POST /api/29multipart/form-dataparameters:file(PDF Dokument) — required — PDF fileimageQuality— required — number 0..100 (default 75)dpi— required — number 72..300 (default 144)
Get result by ID:
GET /api/<ID>
When done, the response contains:
output.files[]with{ name, path }wherepathis a downloadable URL.
Inputs
Required
- A PDF file (binary)
- An API key (string)
Optional
imageQuality(0..100), default 75dpi(72..300), default 144
Output
Return a structured result:
job_id(number)status(string)download_url(string, when done)file_name(string, when available)settings(object)
Example output:
{
"job_id": 123,
"status": "done",
"download_url": "https://.../compressed.pdf",
"file_name": "compressed.pdf",
"settings": { "imageQuality": 75, "dpi": 144 }
}