Genbox

← all tools · generate

😂 Meme Generator

Turn a photo - or an instant AI image - into a meme with top and bottom captions

About this tool

Turn any picture into a ready-to-share meme. Upload your own image, or generate one instantly from a text prompt with the AI image generator - then add a top caption, a bottom caption, or both. The picture stays whole: each caption is added as a clean bar above or below it (no text means no bar), and the canvas grows to fit, so nothing is cropped or covered. Pick the bar and text colours (a black bar with white text by default), then play with the post-production controls - a colour grade plus saturation, brightness, contrast, temperature and hue - to make it pop. Free, no signup, no watermark.

Upload a photo, or type a prompt and hit Generate for an instant AI image.

⬆ Drag & drop a file here
Upload a photo to turn into a meme.

API

POST /api/tools/meme-generator/run (multipart/form-data) → JSON with outputs[].url, a zip link and a config_url.

Every run also hands you the config JSON (button above). It is the request body - POST it straight back to replay the exact generation:

curl -X POST -H 'Content-Type: application/json' \\
  --data @genbox-config-meme-generator.json \\
  /api/tools/meme-generator/run
For AI agents · API specs

Technical specs

Categorygenerate
Slugmeme-generator
Run endpointPOST /api/tools/meme-generator/run
Content typemultipart/form-data (with file uploads) or application/json
ResponseJSON: job, notes, outputs[].url, zip, config_url
Rate limitAPI: 1 request / minute / IP. Live preview and image renders have their own separate limits, plus a short global cooldown between renders (storm protection). Over a limit you get HTTP 429 + a Retry-After header (local requests are unlimited)
Machine-readable specGET /api/tools/meme-generator
OpenAPI 3.1 (Swagger)this tool (JSON) · all tools

Request body

Every parameter accepted by the run endpoint, in request-body order. Fields are optional unless marked required. The same schema is published as OpenAPI 3.1. Upload files with multipart/form-data; a JSON body replays a saved config.

ParameterTypeRequiredDefault / allowed valuesDescription
photos file no Upload a photo to turn into a meme.
gen_prompt genprompt no
top_caption text no Leave empty for no top bar.
bottom_caption text no Leave empty for no bottom bar.
bar_color color no #000000
font_color color no #ffffff
grade select no none · warm · cool · vivid · cinematic · vintage · faded · mono
saturation range no 0
brightness range no 0
contrast range no 0
temperature range no 0
hue range no 0

Call it from an agent

  • GET /api/tools/meme-generator - machine-readable spec of this tool (inputs, category, API block).
  • GET /api/tools - list of every tool plus the categories.
  • POST /api/tools/meme-generator/run - run it. Accepts multipart/form-data (with files) or a raw application/json body. Returns JSON with outputs[].url, zip and config_url.
  • The config_url JSON is the request body - POST it back to replay the same generation.
# agent example
curl -s https://genbox.eu/api/tools/meme-generator/run \\
  -H 'Content-Type: application/json' \\
  --data @genbox-config-meme-generator.json

Rate limits

  • Max 1 request per minute per IP on the run endpoint.
  • Over the limit you get HTTP 429 with retry_after (seconds) - wait that long and retry.
  • Higher limits and API keys are coming soon: an API key will lift the per-IP throttle. Not available yet.