WebService::Bluga::Webthumb - fetch website thumbnails via


    use WebService::Bluga::Webthumb;
    my $wt = WebService::Bluga::Webthumb->new(
        user    => $user_id,
        api_key => $api_key,
        size    => $size,  # small, medium, medium2, large (default: medium)
        cache   => $cache_days, # optional - default 14
        # optional settings for local caching:
        cache_dir => '....',
        cache_url_stub => '/images/thumbs/',

    # get a thumbnail URL using the default settings
    my $thumb_url = wt->thumb_url($url);

    # Get a thumbnail URL overriding some settings:
    my $thumb_url = $wt->thumb_url($url, { size => 'large' });

Class methods


Create a new WebService::Bluga::Webthumb object. Takes the following params:


Your webthumb user ID, available from your page.


Your webthumb API key. also available from your user page. (This is used to construct the hash of the thumbnail URL, but not sent directly.)


The size of the thumbnail to generate. Size can be:

  • small - 80x60

  • medium - 160x120

  • medium2 - 320x240

  • large - 640x480


How many days a generated thumbnail can be cached on the webthumb servers before a fresh one is generated. Generating a thumbnail uses a credit whereas serving up a cached one uses a fraction of a credit, so don't set this too low.

If not specified, defaults to 14 days.


If set, generated thumbnails will be saved into this directory, and the URL returned will be constructed using cache_url_stub (so the cache_url_stub setting should be set to the URL at which the contents of cache_dir are available).

The age of the cached thumbnail will be compared against the cache setting, and if it's too old, the cached thumbnail will be replaced with a fresh one.

Instance methods


Given an URL, and optionally size / cache params to override those from the object, returns an URL to the thumbnail, to use in an IMG tag.


An alias for thumb_url. This name was used in 0.01 to reflect the fact that it used the EasyThumb API rather than the full API; however, I think thumb_url is rather clearer as to the actual purpose of the method, and the implementation of it is somewhat unimportant, so consider this method somewhat deprecated (but likely to be supported indefinitely.)


David Precious, <davidp at>


James Ronan


This module is developed on GitHub at:

Bug reports / suggestions / pull requests are all very welcome.

If you find this module useful, please feel free to rate it on cpanratings


Bug reports via Issues on GitHub are preferred, as the module is developed on GitHub, and issues can be correlated to commits. Bug reports via the RT queue are still valued though, if you'd prefer that way.


See the API documentation at

For a basic description of the service, see


You can find documentation for this module with the perldoc command.

    perldoc WebService::Bluga::Webthumb


Copyright 2011 David Precious.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See for more information.