Image Previews

If your client is going to show typeahead image previews, please use the /images/preview.jpg endpoint, which accepts URL-encoded parameters and returns smaller images to minimize bandwidth:

var typingTimer

$("#form").keyup(function () {
  typingTimer = setTimeout(updatePreview, 500)

function updatePreview() {
  var template = encodeURIComponent($("#template").val())
  var line_1 = encodeURIComponent($("#line_1").val() || " ")
  var line_2 = encodeURIComponent($("#line_2").val() || " ")

  var api = ""
  var url = `${api}?template=${template}&lines[]=${line_1}&lines[]=${line_2}`

  $("#preview").attr("src", url)


For example,[]=live+preview&lines[]=while+typing produces:

Live Preview

The template parameter can be a template ID or URL:

Mode Example
Template ID /images/preview.jpg?lines[]=first+line&lines[]=second+line&template=fry
Template URL /images/preview.jpg?lines[]=first+line&lines[]=second+line&template=
Custom Background /images/preview.jpg?lines[]=first+line&lines[]=second+line&template=

Sample Code

Here are some sample clients to explore:

Platforms Language Website
Slack Python
Slack Go
Hain JavaScript
Web Clojure
Web & Slack
Discord JavaScript

Additional clients can be found by searching for code examples on GitHub.


Unauthenticated API requests are watermarked and may be rate limited. To request an API key please contact us to inquire about pricing for your specific use case.

HTTP Header

Authenticated requests can be made using a header:

$ curl "" --header  "X-API-KEY: myapikey" --output http_header_example.png

Query Parameter

If that's not an option, the API key can also be added as a query parameter:

$ curl "" --output query_parameter_example.png

Custom Watermark

Authenticated requests can also add their own watermark to images using the watermark query parameter. For example,

Zapier Integration

The beta integration is available here: