Skip to content

A php library to provide API calls & handle authentication with the Bluemix visual recognition using PHP


Notifications You must be signed in to change notification settings


Repository files navigation

IBM Watson Visual Recognition API

This PHP library provides integration with the IBM Watson Visual Recognition service.

See API documentation.

Scrutinizer Code Quality Code Coverage Build Status


The structure of this library was inspired by the Omnipay suite of packages.

One of the things that this means is the library doesn't hide away that fact that API requests are being made. For each API request, the request should be created with parameters passed in, sent and then response reviewed.

All requests are available via the Client.

use Bobbyshaw\WatsonVisualRecognition\Client;
use Bobbyshaw\WatsonVisualRecognition\Classifier;

$client = new Client();

The client should then be initialized with parameters, e.g. username and password (your IBM Watson Service credentials).

$client->initialize(['username' => 'abcdef', 'password' => '12356])

The following can be used find default parameters


Each method matches an API request and returns a request object ready to be sent. Most of the time you'll want to send the request straight away.

$request = $client->getClassifiers();
$response = $request->send();

Each response has a class which helps to manage the response, e.g with the Classifier and Image classes.

/** @var Classifier[] $classifiers */
$classifiers = $response->getClassifiers();


The library also comes with a set of commands to use on the command line

Get Classifiers

php app/console classifiers:get [-d|--version-date="..."] username password

Classify Image(s)

php app/console classifiers:classify [-c|--classifiers="..."] [-d|--version-date="..."] username password images

Get Classifier Info

php app/console classifier:get [-d|--version-date="..."] username password classifier_id

Create/Train Classifier

php app/console classifier:create [-d|--version-date="..."] username password positive_examples negative_examples name

Delete Classifier

php app/console classifier:delete [-d|--version-date="..."] username password classifier_id


Run phpunit tests with:


This is also using grumphp to automatically check for PSR style formatting as well.

Test images are provided by Pixabay.


PHPDocumentor is being used for creating library documentation. So make sure to add function comments


You may need to install graphViz on your machine if you don't already have it. This can be done on mac with homebrew

brew install graphviz


A php library to provide API calls & handle authentication with the Bluemix visual recognition using PHP








No packages published