AI meme image generator API: make the picture, then set the caption

For a meme, generate the image without words and add the caption in code, or quote it for GPT Image 2.5 and check the spelling. A Sume request.

4 min readSume
All posts

To generate a meme with an image API, you have two options: have the model draw the caption into the picture, or generate a clean image and add the text yourself. Adding text yourself is more reliable. If you want the model to draw it, use a model that renders text well, put the caption in quotation marks, and read the result letter by letter. On Sume, openai/gpt-image-2.5 and Ideogram V3 are the first models to try for text (text rendering models).

Option A: text added in code

Ask for the scene with an empty band at the top or bottom: "a cat staring at a laptop, large empty space at the top, no text". Then draw the caption with Pillow or your editor. You can fix a typo without paying for a new image, and the same picture can carry captions in several languages.

Option B: the model draws it

Write the caption exactly, in quotes, and say how many times it appears and where: "The text 'WHEN THE BUILD PASSES' appears once, at the top, in white block capitals." A model can still double a word or drop a letter, so proofread the output (headline appears twice).

curl -X POST https://api.sume.com/v1/images \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "openai/gpt-image-2.5",
  "prompt": "A cat staring at a laptop. The text 'WHEN THE BUILD PASSES' appears once at the top in white block capitals.",
  "aspect_ratio": "1:1",
  "quality": "medium"
}'

Which to use

Pick by what you do with the output.

Mind rights: do not generate a real person's likeness or a trademarked character for a public post without clearance.

Caption approaches (read 2026-10-03)
ApproachTypo fix costLanguagesBest for
Caption added in codeFreeEasyBatches and localisation
Model draws captionNew generationOne per callOne-off posts

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume