Format Conversion

We are preparing a new feature for rethumb: format conversion.

At the moment our API creates images with the same image format as the input.
E.G.: PNG images are converted to PNG thumbnails, etc.

This new feature will allow our users to select the output format.
In that way it’ll be possible to convert PNG images to JPG thumbnails, etc.

Our API will support conversion from PNG, JPG, GIF, TIFF and WEBP to PNG, JPG, GIF, TIFF and WEBP.

New HTTP Header: access-control-allow-origin

We have added a new HTTP header to our API responses:

access-control-allow-origin: *

This header will allow you to call our service from any domain. We had this header in place for JSON requests but it is available for all types of requests.

You can read more about Access Control Allow Origin at HTTP access control (CORS).


HTTP response headers for successful requests (status code 200):

HTTP/1.1 200 OK
Content-Type: image/jpeg
Etag: d16c7a75b11ea555016afb2b3655cb870b32df4c
access-control-allow-origin: *
Cache-Control: max-age=2592000
Strict-Transport-Security: max-age=15768000

HTTP response headers for cached requests (status code 304):

HTTP/1.1 304 Not Modified
access-control-allow-origin: *
Cache-Control: max-age=2592000
Strict-Transport-Security: max-age=15768000

HTTP response headers for errors (status code 400):

HTTP/1.1 400 Bad Request
Content-Type: image/png
rethumb-error-message: Square must be numeric. (#701)

Short-term Roadmap

This post presents rethumb’s short-term roadmap. These features are a mix of user requests and in-house ideas given the usage of our service. We expect to start working on them by January.

In the next few days we’ll add a new blog entry with details on the new API operations: convert and qualilty.


CNAME Records Support

This feature will allow the usage of your domain as an alias to our api.rethumb.com so that you can keep your brand while using our service.

More about CNAME here: https://en.wikipedia.org/wiki/CNAME_record


Default Images for Errors

When our service finds an error, while processing a request, it sends an image with the error message (and a HTTP header with the same message).

rethumb error response

Our idea is to allow the user to setup a default image that our service will send in place of the black box with the error. This could be useful to hide errors from your users and give them a less disruptive experience.


Allow Paths in Sources

At the moment when you add a new source it can only be a domain or a sub-domain. With this feature you will be able to add a path:

  • domain.com/folder
  • sub.domain.com/folder/in

This can be used to limit access to your image sources with higher granularity.

E.G.: AWS S3 urls can be something like: https://s3.amazonaws.com/<your_folder>/. With this feature you will be able to limit your plan only to your folder on S3.


SLA for Paid Plans

We’ll start offering a SLA for our paid plans so that our users know what to expect from each plan. In order to provider a better service we are also implementing rate limiting on the number of new images processed by minute.

More on SLA: https://en.wikipedia.org/wiki/Service-level_agreement

Tutorials in Go programming language

If you want to use rethumb with Go check these tutorials:

Please check our GPS example for a more idiomatic syntax, thanks to rogpeppe.

Check our tutorials page for more examples: http://rethumb.com/tutorials.

TIFF Convertion

Unitl now TIFF images were converted to PNG before processing, resulting in a PNG thumbnail.

Starting this week rethumb have full support for TIFF images. This means that TIFF images keep their file format and the generated thumbnail is also a TIFF file.

TIFF is an image file format that is mainly professional oriented. You can learn more about it at Wikipedia.

Now with 100% more ImageMagick

We are in the process of changing the image processing software that our API uses to handle requests. This week we deployed a new version of our API that takes advantage of ImageMagick.

Why ImageMagick?

  • Access to a lot of features that we can pass to our users in a form of a simple URL-based and fast API.
  • Very stable and mature product with over 25 years of development.

Just to give an idea of how we will start taking advantage of this change:

  • Provide convert and quality parameters to control file format and quality of the final thumbnail.
  • Expand the current set of file formats by adding support to WEBP, BMP, PSD, SVG, PDF, EPS, XPM and others.

Current users don’t need to take any action.

Sources

Not long ago we changed a term used in our product. Domains are now Sources.

With this change we expect to give a clearer idea of how rethumb works and what this means in practical terms.

When you change to a paid plan you have access to new features on the requests that you can make, but rethumb needs a way to differentiate your requests from those using a free plan (which apply by default to all sources). We do this by asking you to register in which source the images that you want to process are hosted.

A source is something like this:

  • domain.com
  • sub.domain.com
  • etc.

So all images hosted on domain.com and sub.domain.com are avaible to process using the features of your plan.

For now we only accept HTTP(S) sources but in the future we plan to allow new protocols like FTP, S3 and anonymous locations. Authentication is also something that we want to work on.

Our FAQ have more information on this subject.