ForHosting KIT · Images

Add text to an image

Stamp a price on a product photo, a headline on a banner or a Sold label on a listing, with the text baked into the pixels. You choose the position, size, color and an optional background box. You pay per use, with no subscription.

Coming soonPer request + per image$0.002

This task is not available right now, so it cannot be purchased. Nothing is charged for it.

How it works & API
Use it from Web API onlyAPIEmailTelegramApp soon

A product photo without a price sticker, a banner without a headline, a thumbnail without a caption — all of them are unfinished until text lands on the pixels.

Why an image is not finished until the text is on it

A product photo without its price, a banner without a headline or a thumbnail without a caption is only half done. What separates a raw photo from a ready image is a handful of small decisions: where the price goes, how big the headline is, and whether the text needs a background box to stay readable over a busy picture. For a person those choices are easy once, but tedious when repeated all day. Here you state them once, the text, its position, its size, its color and the optional box, and they are applied the same way to every image.

Where it is used, and one thing to keep in mind

Marketplaces stamp the current price on each product photo the moment a seller updates it. Marketing teams build a week of social banners from one background and a spreadsheet of headlines and dates. Property sites mark listing photos as Available, Sold or Under Contract as the status changes, and content schedulers place a daily quote on a background before it is posted. Keep your clean original: the text is drawn into the pixels rather than kept as a separate layer, so to change a word you create a new version from the original.

Marketplace price stamping

A listings platform overlays the current price onto every product photo the moment a seller updates it, keeping images in sync with inventory.

Batch promotional banners

A marketing team generates a week's worth of social banners from one background template and a spreadsheet of headlines and dates.

Real estate status labels

A property site stamps 'Available', 'Sold' or 'Under Contract' across listing photos automatically as status changes.

Quote and caption graphics

A content scheduler burns a daily quote onto a background image before it's queued for posting, with no manual design step.

Is there a free trial?

There's no free tier — free tiers get abused and slow everyone down. No subscription, no tokens, no invented credits, and a failed task is never charged.

Can I add more than one line of text?

Yes, multiple text elements can be placed on the same image in a single call, each with its own position and styling.

Which image formats are supported?

Common raster formats such as JPEG and PNG are accepted, and the output preserves the format and dimensions of the source image.

Can I control the font, size and color?

Yes, font size, color and an optional background box are all parameters you set per text element for full control over the result.

Am I charged if the overlay fails?

No. A failed task is retried automatically up to three times and never billed; you get a clear error instead of a charge.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/image/text-overlay

One authenticated POST creates the task; the result comes back by webhook or a signed link. This capability is currently available through the API, not as an interactive Web tool.

curl -X POST https://api.kit.forhosting.com/image/text-overlay \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"image":"https://ejemplo.com/imagen.jpg","text":"OFERTA"}'
{
  "image": "https://ejemplo.com/imagen.jpg",
  "text": "OFERTA"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.text_overlay",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002
Per image$0.005

Published price — no tokens, no invented credits. A failed task is never charged.

max_mb15
max_megapixels12
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

This endpoint places one or more strings of text onto an image at the position, size and color you specify, and hands back a finished file instead of a half-built one.

The gap between a photo and a finished asset

A raw photo and a marketing-ready image are separated by a handful of design decisions that are trivial for a person and tedious to automate: where does the price go, how big is the headline, does the text need a background box to stay readable over a busy photo. This endpoint takes those decisions as parameters — text, position, font size, color, optional background — and applies them the same way every time, which matters far more than it sounds once you're doing it a thousand times a day.

Who is placing text on images at scale

Marketplaces stamping a price or a 'sold' badge across every listing photo, e-commerce teams generating a batch of promotional banners from one template and a spreadsheet of headlines, social media schedulers burning a quote or a caption onto a background image before it posts, real estate platforms adding a status label like 'available' or 'under contract' to every property photo.

What actually happens to the file

You submit the source image plus the text and its placement, receive a task_id right away, and the job renders the text directly into the image — not as a separate layer, but baked into the pixels — so the file that comes back is ready to publish as-is, with no design software involved.

Where it sits in a bigger pipeline

Because each call is billed per image and returns asynchronously, it slots naturally after an image is uploaded or generated and before it's published: a listing gets photographed, the price is overlaid automatically, and the finished image moves straight to the storefront without a human opening an editor in between.

A small operation with outsized leverage

Overlaying text is one of the oldest tricks in image editing — it predates digital tools entirely, going back to hand-lettered signage and darkroom printing — but doing it correctly and consistently across thousands of images a day is a different problem than doing it once well in an editor, and that's the gap this endpoint closes, quietly, request after request, without anyone re-checking alignment by eye.

How do I add text to an image with this API?

Send a POST to /image/text-overlay with the source image and the text plus its position, size and color; you get a task_id and the finished image comes back by webhook or signed link.

How is it priced?

$0.002 per request plus $0.005 per image, published and flat regardless of how much text is placed.

Can I process a batch of product photos at once?

Each call handles one image and returns its own task_id, so batching a thousand product photos is simply a thousand parallel requests collected by webhook.

Read the full KIT documentation →