A PHP SDK for the API

v1.1.1 2020-11-26 11:49 UTC

This package is auto-updated.

Last update: 2024-04-15 15:06:49 UTC


Latest Version Latest Unstable Version Software License Build Status

A PHP SDK for the API.



Open a command console, enter your project directory and execute the following command to download the latest stable version of this library:

$ composer require setono/kraken-io-php-sdk

This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.

Install HTTP client

This library is HTTP client agnostic so you need to provide your own PSR18 HTTP client implementation. If you don't want to bother with this, you can just do this:

$ composer require kriswallsmith/buzz nyholm/psr7

This will install the PSR18 HTTP client, Buzz and HTTP message factories used to create requests, responses, and streams.


Upload file via URL and wait for a response

use Setono\Kraken\Client\Client;
use Setono\Kraken\Client\Response\WaitResponse;

$client = new Client('Your API key', 'Your API secret');

/** @var WaitResponse $response */
$response = $client->url('', true);

/** @var SplFileInfo $optimizedImageFile */
$optimizedImageFile = $response->getFile();

Get user status

use Setono\Kraken\Client\Client;
use Setono\Kraken\Client\Response\UserStatusResponse;

$client = new Client('Your API key', 'Your API secret');

/** @var UserStatusResponse $response */
$response = $client->status();

echo sprintf('Quota total: %s', $response->getQuotaTotal());
echo sprintf('Quota used: %s', $response->getQuotaUsed());
echo sprintf('Quota remaining: %s', $response->getQuotaRemaining());

I want to use my own HTTP client implementation and message factories

You can inject your own implementations when instantiating the client:

use Setono\Kraken\Client\Client;

$client = new Client('Your API key', 'Your API secret', $httpClient, $httpRequestFactory, $httpStreamFactory);