Integrate image compression into your workflow. Choose your platform.
Python
Python SDK
One-line image compression. Batch processing. Async support coming soon.
pip install deflato
Node.js
Node.js SDK
Native fetch, zero dependencies. Works with Node 16+.
npm install deflato
AI
MCP Server
Compress images from Claude, Cursor, Windsurf. First image compressor with MCP. Published on npm.
npx mcp-server-deflato
REST
REST API
Simple HTTP API. Send file, get compressed. Works with any language.
POST /api/v1/compress
Python Python SDK
Install and compress images in 3 lines of code.
pip install deflato
from deflato import Deflato
client = Deflato("your-api-key")
result = client.compress("photo.jpg", format="WEBP", quality=75)
print(f"Saved {result.savings_percent}% → {result.output_path}")
info = client.info("photo.jpg", format="AVIF")
print(f"{info.input_size:,} → {info.output_size:,} bytes")
import glob
files = glob.glob("./images/*.jpg")
results = client.compress_batch(files, output_dir="./compressed", format="WEBP")
for r in results:
print(f" {r.output_path}: -{r.savings_percent}%")
Methods:
compress(path, output, quality, max_dimension, format, strip_exif) → CompressResult
info(path, quality, format) → CompressResult (sizes, dimensions, savings)
compress_batch(paths, output_dir, quality, format) → list[CompressResult]
Node.js Node.js SDK
Zero dependencies. Uses native fetch (Node 18+) or form-data for older versions.
npm install deflato
const Deflato = require('deflato');
const client = new Deflato('your-api-key');
const result = await client.compress('photo.jpg', {
format: 'WEBP',
quality: 75,
maxDimension: 1920,
});
console.log(`Saved ${result.savingsPercent}% → ${result.outputPath}`);
const info = await client.info('photo.jpg', { format: 'AVIF' });
console.log(`${info.input_size} → ${info.output_size} bytes`);
const results = await client.compressBatch(
['img1.jpg', 'img2.png', 'img3.heic'],
{ outputDir: './compressed', format: 'WEBP' }
);
AI MCP Server — For AI Assistants
The first image compressor with MCP support. Compress images directly from Claude, Cursor, Windsurf, or any MCP-compatible AI assistant.
Setup for Claude Code
One command. No downloads. No dependencies.
claude mcp add deflato npx mcp-server-deflato -e DEFLATO_API_KEY=your-key
Setup for Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"deflato": {
"command": "npx",
"args": ["mcp-server-deflato"],
"env": {
"DEFLATO_API_KEY": "your-api-key"
}
}
}
}
Setup for Cursor / Windsurf
npm install -g mcp-server-deflato
DEFLATO_API_KEY=your-key mcp-server-deflato
What you can ask your AI
"Compress all PNG files in the ./images folder to WEBP"
"Reduce photo.jpg to under 500KB"
"Convert all screenshots to AVIF with quality 60"
"What would the file size be if I compressed banner.jpg?"
Available Tools
compress_image — Compress a file. Params: file_path, output_path, quality, max_dimension, output_format
image_info — Get compression stats without saving
Requirements
Node.js 18+ (for npx). No other dependencies — everything is included.
npm: npmjs.com/package/mcp-server-deflato
REST REST API
Works with any programming language. Full documentation: API Docs
curl -X POST https://deflato.com/api/v1/compress \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@photo.jpg" \
-F "quality=75" \
-F "output_format=WEBP" \
--output compressed.webp
Endpoints:
POST /api/v1/compress — Compress image, returns binary file
POST /api/v1/info — Compression info, returns JSON
POST /api/v1/key — Generate API key
GET /api/v1/keys — List your API keys
Get Your API Key
- Sign up at deflato.com
- Activate Pro — use promo code or subscribe
- Go to Account → Generate API Key
- Copy the key and use it in your SDK/MCP/API calls
Pro plan includes 500 API requests/day. All SDKs and MCP are included.