yii2-tinify Facade of Tinify API for Yii2 Framework.


Tinify API

  1. Installation
  2. Usage
  3. Tests
  4. Licence

Facade of Tinify API for Yii2 Framework. This extension allows you to resize and compress images without loss of quality. For more information you can read official API documentation for PHP.

Build Status Scrutinizer Code Quality Total Downloads Latest Stable Version Latest Unstable Version


Install package

Run command

$ composer require vintage/yii2-tinify

or add

"vintage/yii2-tinify": "~2.0"

to the require section of your composer.json file.


  1. Configure API token in app params with key tinify-api-token or in UploadedFile component
  2. Use \vintage\tinify\UploadedFile instead of \yii\web\UploadedFile

If you need to save some metadata, for example location, you can configure saveMetadata option like follow

use vintage\tinify\UploadedFile;

$file = UploadedFile::getInstance($model, 'image');
$file->saveMetadata = UploadedFile::METADATA_LOCATION;
// or more items
$file->saveMetadata = [UploadedFile::METADATA_LOCATION, UploadedFile::METADATA_CREATION];

You can resize uploaded file

$file = \vintage\tinify\UploadedFile::getInstance($model, 'image');
$file->resize() // creates \vintage\tinify\components\TinifyResize object
    ->fit() // resize algorithm, also you can use scale() and cover()
    ->width(600) // set image width
    ->height(400) // set image height
    ->process(); // resize image

or resize existing image

(new \vintage\tinify\components\TinifyResize('@webroot/uploads/image.jpg'))
  1. Configure console controller in console/config/main.php
'controllerMap' => [
    // ...
    'tinify' => \vintage\tinify\cli\TinifyController::class,
  1. Run in console ./yii tinify/<command>

    Command Description
    $ ./yii tinify/test-connect [api-token] Test connection to API
    $ ./yii tinify/compress '/path/to/src.jpg' '/path/to/dest.jpg' Compress image
    $ ./yii tinify/compress-catalog '/path/to/catalog' Compress all images in catalog
    $ ./yii tinify/count Display compression images count


You can run tests with composer command

$ composer test

or using following command

$ codecept build && codecept run



This project is released under the terms of the BSD-3-Clause license.

Copyright (c) 2017, Vintage Web Production

0 0
1 follower
Yii Version: 2.0
License: BSD-2-Clause
Category: Others
Developed by: greeflas
Created on: Oct 24, 2017
Last updated: 6 years ago

Related Extensions