The Tinify ecosystem
One image engine. Everywhere you work.
The same compression engine behind the free web tools also runs the API, the SDK, the CLI, the MCP server, and the GitHub Action. 500 operations free every month, no card.
Create a free API key+
images processed
Live total across compress, resize, crop, and convert.
free operations every month
Only successful operations count toward usage.
%
cheaper than TinyPNG at 10,000 operations
Tinify Pro at $29 vs TinyPNG pay-as-you-go at $85.50 a month.
Every surface
Pick where the image lives.
Browser, terminal, codebase, CI, or an AI agent. Every path calls the same versioned API, counts operations the same way, and keeps the same honest results.
Web tools
Compress, resize, crop, and convert in the browser, with no account and up to 50 files per batch.
- Free, no signup
- AVIF, WebP, JPEG, PNG, and GIF
- Files deleted after two hours
Image API
The same engine over a versioned HTTP API with idempotent requests and a stable error model.
- 500 free operations every month
- Only successful operations count
- Download URLs expire after two hours
curl -X POST https://api.tinify.dev/api/v1/images/compress \
-H "Authorization: Bearer tnf_live_..." \
-F "file=@hero.png" -F "quality_mode=balanced"MCP server
Give Claude, Cursor, Codex, and any MCP client five image tools backed by the API.
- Runs over stdio with npx
- Node.js 20 or newer
- Same 500 free operations
claude mcp add tinify -e TINIFY_API_KEY=tnf_live_... -- npx -y @tinify-dev/mcpJavaScript SDK
A zero-dependency TypeScript client for compress, resize, crop, convert, usage, and batches.
- Dual ESM and CommonJS build
- Idempotency keys added for you
- Typed errors from real API codes
npm i @tinify-dev/clientCLI
Compress a folder of images from the terminal. The SDK ships a binary, so there is nothing extra to install.
- Bundled with the SDK
- Glob inputs, writes *.min.png next to each file
- compress, resize, crop, convert
npx @tinify-dev/client compress *.pngGitHub Action
Compress images in CI and only rewrite files that actually get smaller.
- check or write mode
- Sticky per-file pull request comment
- Never grows a file, never pushes on its own
- uses: tinify-dev/compress-action@v1
with:
api_key: ${{ secrets.TINIFY_API_KEY }}
mode: check
comment: trueClaude Code plugin
Add the MCP server to Claude Code from the plugin marketplace in two commands.
- Wraps @tinify-dev/mcp
- Runs inside Claude Code
- Same tools, same free tier
/plugin marketplace add Stianlars1/tinify-claude-plugin
/plugin install tinify@tinifyHonest by design
The same promises on every surface.
The rules that make the web tools trustworthy are the rules the API, SDK, and agents inherit. Nothing changes when you automate.
Compression never returns a larger file
When an encoded result would be bigger, the API returns the original and marks it optimized: false. This holds for compression only; resize and convert report changes plainly.
Files are deleted after two hours
Uploads and results expire two hours after processing. Nothing is retained, and file names and image contents are never used for analytics.
Only successful operations count
A failed operation is free. The 500 monthly operations and every paid plan count completed work, not attempts.
No ads, no watermarks, no signup
The web tools run in the browser without an account. Paid plans add volume, not features held back from the free tier.
Start with 500 free operations.
Create a key, or read the docs first. Only successful operations count, and the free tier resets every month.