Generate images on the fly by adding text + overlay to any image URL. Perfect for Make.com, social posts, quotes, thumbnails, product promos, and email marketing visuals.
Tip: Use URL encoding for text and image. New lines in text can be sent using %0A.
Runs on your own server (WordPress REST). No Glitch, no 3rd party hosting issues.
Just a GET request returns a PNG. Add apiKey to remove watermark.
Use it inside Make.com to generate unlimited visuals programmatically.
https://textoverimg.com/wp-json/shakels/v1/image?text=Hello%20World%0Afrom%20TextOverImages&image=https%3A%2F%2Fi.ibb.co%2FF7z59LM%2Fdelivery-man-with-folder-1368-230.jpg&fontSize=18px&fontColor=%23000000&x_align=160&y_align=90&textAlign=center&margin=10&overlay_color=2800f030
https://textoverimg.com/wp-json/shakels/v1/image?text=Hello%20World%0APro%20Mode&image=https%3A%2F%2Fi.ibb.co%2FF7z59LM%2Fdelivery-man-with-folder-1368-230.jpg&fontSize=18px&fontColor=%23ffffff&x_align=160&y_align=90&textAlign=center&margin=10&overlay_color=90000080&apiKey=PROxxxxxxxxxxxxxx
If your key is expired or usage limit reached → it switches to Free Mode automatically.
This preview loads the real PNG from your API endpoint so it matches exactly.
You call the API endpoint with your image URL + text + style parameters. The API instantly returns a PNG.
Free mode: no apiKey (or invalid key) → adds watermark randomly on edges.
Paid mode: valid apiKey → no watermark.
In Make.com, use an HTTP module (GET), pass the parameters, and you’ll get an image. You can then upload it to social platforms, email tools, or storage.
If you want, you can also add a step to upload the PNG to ImgBB (optional).
Base URL
https://textoverimg.com/wp-json/shakels/v1/image
Method: GET
Response: image/png (PNG bytes)
| Parameter | Required | Example | Description |
|---|---|---|---|
| image | Yes | https%3A%2F%2F... |
Background image URL (must be public, URL-encoded). |
| text | No | Hello%20World%0Aline2 |
Text to draw. New lines via %0A. URL-encode text. |
| fontSize | No | 15px |
Approx size (maps to built-in fonts). Bigger px → bigger font. |
| fontColor | No | %23000000 |
Text color hex (URL-encoded #). Example black = %23000000 |
| x_align | No | 150 |
X coordinate in pixels. |
| y_align | No | 100 |
Y coordinate in pixels. |
| textAlign | No | center |
left, center, or right. |
| margin | No | 18 |
Extra padding added to placement. |
| overlay_color | No | 2800f030 |
Overlay color in AARRGGBB hex. Example: 2800f030. |
| apiKey | Optional | PROxxxx... |
If valid → watermark removed. If missing/invalid/limit reached → watermark stays. |
https://textoverimg.com/wp-json/shakels/v1/image?text=none%20of%20this%0Aworks&image=https%3A%2F%2Fi.ibb.co%2FF7z59LM%2Fdelivery-man-with-folder-1368-230.jpg&fontSize=15px&fontColor=%23000000&x_align=100&y_align=100&textAlign=center&margin=18&overlay_color=2800f030
https://textoverimg.com/wp-json/shakels/v1/image?text=none%20of%20this%0Aworks&image=https%3A%2F%2Fi.ibb.co%2FF7z59LM%2Fdelivery-man-with-folder-1368-230.jpg&fontSize=15px&fontColor=%23000000&x_align=100&y_align=100&textAlign=center&margin=18&overlay_color=2800f030&apiKey=PROxxxxxxxxxxxxxx
✅ Missing apiKey → watermark shown
✅ Invalid / expired / usage limit reached → watermark shown
✅ Valid apiKey → watermark removed
✅ Watermark position is randomized (top/bottom/left/right) per request
Your endpoint can work in two modes: PNG mode (preview) and ImgBB mode (returns JSON with the final URL).
Use this when you want to preview in browser. It returns raw PNG bytes.
https://textoverimg.com/wp-json/shakels/v1/image?image=IMAGE_URL&text=TEXT&fontSize=18px&fontColor=%23000&x_align=240&y_align=270&textAlign=center&margin=18&rotate=-27&overlay_color=292800f0&apiKey=YOUR_PLAN_KEY
Add imgbbApiKey and your endpoint will upload the final PNG to ImgBB,
then return JSON that contains img_url (the final image link).
https://textoverimg.com/wp-json/shakels/v1/image?image=IMAGE_URL&text=TEXT&fontSize=18px&fontColor=%23000&x_align=240&y_align=270&textAlign=center&margin=18&rotate=-27&overlay_color=292800f0&apiKey=YOUR_PLAN_KEY&imgbbApiKey=YOUR_IMGBB_KEY
img_url as the final image link.{
"ok": true,
"img_url": "https://i.ibb.co/xxxx/final.png",
"delete_url": "https://ibb.co/delete/xxxx",
"paid": true,
"watermark": false,
"expiresAt": "2026-02-02T00:00:00.000Z"
}
img_url and send it anywhere:
WhatsApp, Google Sheets, Email, etc.
Use your custom app fields (Text, Image URL, Overlay, Rotation, API Key, ImgBB API Key). The important part is: ImgBB API Key must be filled.
Map:
img_url → your final image URL
expiresAt → expiration date (optional)
paid / watermark → status (optional)
Skip setup, skip debugging.
Get the ready-to-use Make.com custom app for generating
text over images with ImgBB support.
Does Free plan work without apiKey?
Yes — just call the endpoint without apiKey. Watermark will appear.
What happens if I hit usage limit?
Your apiKey switches to freeMode and watermark returns until you renew.
Can I use it in Make.com?
Yes. Use an HTTP GET module and pass the URL parameters.