PHPackages                             giveitsmaller/sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. giveitsmaller/sdk

ActiveLibrary

giveitsmaller/sdk
=================

PHP SDK for GISL (Give It Smaller) compression service

0.15.0(1mo ago)04Apache-2.0PHPPHP ^8.1

Since Jul 8Pushed 1w agoCompare

[ Source](https://github.com/giveitsmaller/php-sdk)[ Packagist](https://packagist.org/packages/giveitsmaller/sdk)[ RSS](/packages/giveitsmaller-sdk/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (22)Versions (3)Used By (0)

`giveitsmaller/sdk` — PHP SDK for GISL
======================================

[](#giveitsmallersdk--php-sdk-for-gisl)

The official PHP SDK for **Give It Smaller** (GISL) — a file compression and media-processing service. Compress, convert, thumbnail, and merge images, video, audio, and documents from PHP 8.1+.

> **Read-only mirror.** This repository is automatically published from Give It Smaller's private monorepo on each release. Do **not** open issues or pull requests here — they are not monitored. Licensed under [Apache-2.0](./LICENSE).

📖 Full documentation: [giveitsmaller.com](https://giveitsmaller.com)

Install
-------

[](#install)

The SDK code-targets PSR-18 / PSR-17 and resolves a concrete HTTP client at runtime via `php-http/discovery`. Install the SDK plus any PSR-18 implementation — Guzzle is the path of least resistance:

```
composer require giveitsmaller/sdk guzzlehttp/guzzle http-interop/http-factory-guzzle
```

Requires **PHP ^8.1**.

> **Bring your own PSR-18 client.** The SDK's runtime imports only PSR-18 interfaces, so you can use any implementation (e.g. Symfony HttpClient) instead of Guzzle — inject it via `Gisl::create(httpClient: ...)`. Published on [Packagist](https://packagist.org/packages/giveitsmaller/sdk) — the `composer require` above is all you need (no `repositories` block or auth token).

Quickstart
----------

[](#quickstart)

The SDK is **file-first**: you always start from a file (`->file($path)` for one, `->files([$paths])` for many) and call operations *on* it.

```
