Da Button Factory

Create pretty buttons online, quickly!

The Da Button Factory API

Table of contents

Overview

The Da Button Factory API lets you dynamically generate buttons. It returns an image in response to a URL. The URL format is the following:

http://dabuttonfactory.com/b?<parameter 1>&<parameter 2>&<parameter n>

Parameters are separated using the ampersand character (&). You can specify as many parameters as you like, in any order. For example, the API returns the following button in response to the URL below:

http://dabuttonfactory.com/b?t=Hello,+API!&ts=20&bgc=lightblue&c=8&bs=1

The online button designer uses this API behind the hood. While using the editor, you can see the current button URL in the text field below it.

Parameters specification

A Size value is an integer in range 0-2000 (inclusive). All the sizes are in pixels (even the font size).

A Color value is either:

Each parameter has a long and a short name, usable indifferently. The long name is more explicit, but the short one -obviously- takes less characters.

Don't forget to URL-encode the parameters values.

Long nameShort nameDescriptionPossible values/formatDefault value
texttText of the buttona string (UTF-8 encoded)none (no text)
fontfText font
  • sans-serif
  • serif
  • monospace
  • DejaVuCondensed
  • Calibri
  • Caviar
  • Walkway
  • Burlington
  • Candela
  • SF_Arch_Rival
  • Komika
Suffix the font name with:
  • '-Bold' to use the bold variant of the font
  • '-Italic' to use the italic variant
  • '-Bold-Italic' to use the bold italic variant
sans-serif
text-colortcColor of the texta Colorblack
text-sizetsSize of the texta Size12
text-shadow-spacingtshsSpace between the text and its shadowa Size0 (no shadow)
text-shadow-colortshcColor of the shadowa Color#777
cornerscRadius of the button cornersa Size, or the special value round0 (rectangular)
bg-typebgtType of the background coloration
  • unicolored
  • two-colors
  • gradient
  • pyramid
unicolored
bg-colorbgcColor of the whole background if unicolored, or the color of the topa Color#00f
end-bg-colorebgcColor of the bottom of the background if two-colors or gradient, or the central color if pyramida Color#0ff
border-sizebsSize of the bordera Size0 (no border)
border-colorbcColor of the bordera Color#888
shadow-sizeshsSize of the button shadowa Size0 (no shadow)
shadow-colorshcColor of the shadowa Color#666
shadow-orientshoOrientation of the shadow
  • a vertical direction (n for north, or s, south)
  • an horizontal direction (w or e)
  • a combination of a vertical and an horizontal direction (e.g: nw)
se (south east)
bubble-effectbeDraw a shiny ellipse on top of the button0 or 10 (no bubble effect)
hpaddinghpSpace between the text and the button left/right extremities (not counting the border and/or shadow size)a Size12
vpaddingvpSpace between the text and the button top/bottom extremities (not counting the border and/or shadow size)a Size10
widthwTotal width of the button. Overwrites hpaddinga Sizenone
heighthTotal height of the button. Overwrites vpaddinga Sizenone
typeitFiletype of the generated image
  • png
  • gif
  • jpeg
  • ico
png

Response codes

The HTTP response code is:

The response body is the image data if the creation was successful, or a text/plain message giving details about the error otherwise.

Usage policy, limits

The largest possible area for a button is 76_800 pixels (that's 320x240). Any size parameter must be below 0 and 2000 (inclusive).

At least 10 queries every 4 seconds are allowed for a client. There is no limit on the total number or API calls per day.

You CAN directly link to a button URL on a website. Frequently accessed buttons are cached on RAM, so don't worry about speed.

However, we reserve ourselves the right to block any use that we regard as abusive. Contact us if you think you will generate several requests by second.