drawtexthttps://api.pixlab.io/drawtext
Description
Draw some text on Top, Center or Bottom of a given image.
HTTP Methods
GET, POST
Request Parameters
Required
Fields | Type | Description |
---|---|---|
img | URL | Input media URL. If you want to upload your image directly from your app, then submit a multipart/form-data POST request. |
top | String | Text to draw on top center of the image . (See below for draw options). |
center | String | Text to draw on center of the image . (See below for draw options). |
bottom | String | Text to draw on bottom center of the image . (See below for draw options). |
key | String | Your PixLab API Key. You can also embed your key in the WWW-Authenticate: HTTP header and omit this parameter if you want to. |
Optional
Fields | Type | Description |
---|---|---|
blob | Boolean | By default, this command return a JSON object holding the link to the image output. But, if this parameter is set to true then the image binary contents is returned instead. |
font | String | Font name which default to the popular Impact if not set. The following fonts are available: impact, college, bold, square, arial, mario, vera, owl, wolf, gym, dotty, meth, puppy. Consult dafont.com for additional information. You can also register your own font if you want to from the support tab of your dashboard. |
cap | Boolean | If true, capitalize all text characters. |
size | Integer | Font size. |
color | String | Font color which default to white. Use hex color code such as #cef45f if you want to. |
strokecolor | String | Stroke color. Use hex color code or color name such as black if you want to. |
strokewidth | Float | Text stroke width (border) which default to 2 if stroke color is available. |
strokeopacity | Float | Text stroke opacity which default to 0.9 if stroke color is available. |
POST Request Body (If you plan to use POST instead of a simple GET request)
Allowed Content-Type:
multipart/form-data
application/json
Use multipart/form-data if you want to upload your media file directly (refer to the sample set for a working example). If you are using JSON, then the media file must be already uploaded somewhere. Call store if you want to upload an image for example before invoking this endpoint.
Response
application/json if the optional blob parameter is not set.
This command return a JSON object after each call only if the optional blob parameter is not set. Otherwise the image binary contents is returned instead. The following are the JSON fields returned in response body:
Fields | Type | Description |
---|---|---|
status | Integer | Status code 200 indicates success, any other code indicates failure. |
link | URL | Link to the media output which is usually stored on the pixlab.xyz storage server unless you set your own S3 keys (refer to your dashboard on how to do that). |
id | String | Unique media ID. |
error | String | Error message if status != 200. |
Python Example
import requests
import json
# Draw some funny text on top & button of the famous Michael Jordan crying face.
req = requests.get('https://api.pixlab.io/drawtext',params={
'img': 'https://pixlab.io/images/jdr.jpg',
'top': 'someone bumps the table',
'bottom':'right before you win',
'cap':True, # Capitalize text,
'strokecolor': 'black',
'key':'Pix_Key',
})
reply = req.json()
if reply['status'] != 200:
print (reply['error'])
else:
print ("Meme: "+ reply['link'])
See Also
drawtextat, merge, nsfw, facedetect, drawrectangles, drawlines, drawpoints, annotate, mogrify, crop, rotate