Meme API for developers

Meme API. Text in. Finished memes out.

Send a topic, moment, or message. Supermeme finds a fitting template, writes the captions, and returns ready-to-use memes for your app, bot, or workflow.

API access is included with every paid plan, starting at 100 requests per month.

Request to response200 OK
POST/v2/meme/image
{
  "text":
  "Explaining your job...",
  "count": 3
}

Bearer API key

A generated Supermeme about explaining your job to someone outside your field

REST + JSON

A familiar HTTP interface

Bearer auth

One key in the header

1-12

Requested finished memes

1,000+

Curated meme templates

How the meme API works

You bring the idea. We handle the meme knowledge.

A normal image API expects you to know what to make. This one helps decide the template and caption too. That is the useful bit.

  1. 01

    Describe the moment

    Send a topic, observation, or sentence. You do not need to know a meme template name.

  2. 02

    Let Supermeme do the meme work

    The API matches the idea to relevant templates and writes contextual captions.

  3. 03

    Use the output your way

    Return finished image URLs, keep captions editable, or build your own template picker.

Meme API documentation

Choose the output your product needs

Finished images for speed. Separate captions and templates for control. Template search when a human should choose. Minimalist visuals when the idea is better explained than memed.

All endpoints require an API key
Base URL
https://app.supermeme.ai
Authentication
Bearer {api-key}
Signed image URLs
Valid for one hour
Protocol
REST requests and JSON responses
POST/api/v2/meme/image

Finished image URLs

Send text and receive captioned memes that are ready to show inside your product.

Best for: Bots, social tools, internal apps, and automated publishing.

Request parameters

textstringrequired
The idea or source text, up to 2,500 characters. The input language is detected automatically.
countintegeroptional
How many memes to return. Values above 12 are capped at 12.
aspectRatiostringoptional
Optional output ratio: 1:1, 3:4, 4:3, 9:16, or 16:9. Omit it to keep the template ratio.
paddingColorstringoptional
Hex colour used when an aspect ratio needs padding. Defaults to #FFFFFF.

Behaviour

  • Returns PNG image URLs signed for one hour. Copy finished images to your own storage when you need permanent URLs.
  • POST /api/v1/meme/image currently maps to the same handler. Use the v2 path for new integrations.
curl --request POST \
  --url https://app.supermeme.ai/api/v2/meme/image \
  --header "Authorization: Bearer ${SUPERMEME_API_KEY}" \
  --header 'Content-Type: application/json' \
  --data '{
    "text": "Explaining your job to someone outside your field",
    "count": 3,
    "aspectRatio": "4:3"
  }'
Example response200 OK
{
  "memes": [
    "https://.../generated-meme-1.png",
    "https://.../generated-meme-2.png",
    "https://.../generated-meme-3.png"
  ]
}

Set your key once

export SUPERMEME_API_KEY='paste-your-api-key-here'

Need your key? Paid users can create and rotate it from developer settings.

Get an API key

Error responses

Errors are JSON too

Every error includes an HTTP status, a readable message, a correlation ID for support, and a timestamp.

400
Invalid input
401
Missing or invalid key
403
Plan has no API access
429
Monthly quota reached
500
Internal failure
503
Dependency unavailable

Quotas reset with the billing period. The API currently returns 429 without rate-limit response headers, so read usage from the developer dashboard.

Example error429 Too Many Requests
{
  "status": 429,
  "message": "You have reached your API limit",
  "correlationId": "1720000000000-a1b2c3d4e",
  "timestamp": "2026-07-11T09:30:00.000Z"
}
Keep the correlation ID in your logs. It gives support a precise request to trace.

Use with AI Agents

Everything an AI assistant or agent needs to use the Meme API: machine-readable docs, a copy-paste setup prompt, an installable skill, and an MCP server.

Fastest setup: connect via MCP

Using Claude, ChatGPT, or Cursor? Add the Supermeme MCP server and skip API keys entirely — it authenticates with OAuth and gives your assistant meme tools out of the box.

https://mcp.supermeme.ai/mcp
MCP setup guide

Agent setup prompt

Paste this into your agent's instructions (system prompt, custom GPT, Claude project, or CLAUDE.md). Add your API key where indicated.

You have access to the Supermeme.ai meme generation API.

Base URL: https://app.supermeme.ai
API key: provided in the SUPERMEME_API_KEY environment variable (get one at https://supermeme.ai/account/developers)
Auth: send the header `Authorization: Bearer <api key>` on every request.
Full reference: https://supermeme.ai/meme-api.md (markdown) or https://app.supermeme.ai/openapi.json (OpenAPI 3.1)

Endpoints:
- POST /api/v2/meme/image — body {"text", "count"?, "aspectRatio"?, "paddingColor"?} returns {"memes": [urls], "expiresAt"}. Finished meme images with captions rendered in. This is the main endpoint. text <= 2500 chars, count 1-12, aspectRatio one of "1:1","3:4","4:3","9:16","16:9".
- POST /api/v1/minimalist-visual — body {"text", "count"? (1-3), "aspectRatio"?} returns {"images": [urls], "expiresAt"}. Hand-drawn minimalist illustrations.
- POST /api/v1/meme/text — body {"text"} returns {"memes": [{"caption", "image"}], ...}. Captions plus blank template URLs, for rendering text yourself.
- GET /api/v1/search?query=... — returns {"templates": [urls]}. Blank meme template search.

Rules:
- Generated image URLs expire after 1 hour (see "expiresAt") — download or re-host them immediately, never store the URLs.
- Generation takes 10-60 seconds; use an HTTP timeout of 120 seconds and don't retry while a request is running.
- Responses carry X-RateLimit-Limit / X-RateLimit-Remaining / X-RateLimit-Reset (unix seconds) headers. HTTP 429 means the monthly quota is exhausted — stop and don't retry before the reset time.
- Errors are JSON {"status", "type", "message"}; branch on "type": validation_error (fix request), unauthorized (bad key), forbidden (plan has no API access), quota_exceeded (429), internal_error (one retry OK).
- In "text", describe the situation or feeling rather than writing a literal caption — the API detects the emotion and writes captions itself, in the language of the input.

Claude skill

Using Claude Code or the Claude apps? Install the Supermeme skill and Claude picks it up automatically whenever memes come up:

mkdir -p ~/.claude/skills/supermeme && \
curl -fsSL -o ~/.claude/skills/supermeme/SKILL.md \
  https://supermeme.ai/skills/supermeme/SKILL.md
View SKILL.md

Not just another image endpoint

A meme API should understand memes

Returning a folder of templates is useful. Turning an idea into a relevant meme is more useful.

Static template API

  • --Search for the right template yourself
  • --Write and format every caption
  • --Compose and host the final image

Supermeme meme API

  • Send normal text instead of a template ID
  • Get contextual templates and generated captions
  • Choose finished images or editable parts

Popular meme API use cases

Six useful things to build with a meme API

These workflows already start with text. That makes them a natural fit for an API that turns text into finished memes.

Community bots

Slack and Discord meme bots

Turn a slash command or channel message into a meme without maintaining your own template map.

/meme shipping on Friday -> finished meme posted to the channel

Social publishing

Social media scheduling tools

Generate meme options from a campaign idea or post draft inside the existing content queue.

Post draft -> 3 captioned images ready for review

AI products

AI agents and copilots

Give a custom agent a meme tool so it can return a relevant visual when the conversation calls for one.

Conversation context -> meme URL in the assistant response

Product experience

Reactions and achievements

Celebrate milestones, soften empty states, or respond to familiar moments with contextual memes.

Achievement event -> shareable reaction meme

Marketing automation

Campaign and content workflows

Turn launch briefs, webinar quotes, or article summaries into meme options for a human to approve.

Content brief -> editable captions or finished images

Learning and work

Education and internal comms

Make a lesson, company announcement, or recurring workplace situation easier to remember.

Key message -> multilingual meme for the audience

API access and limits

Start small. Ask for more when it works.

Every paid plan includes meme API access. Larger production quotas are available without inventing a mysterious pricing tier.

Compare plans
PlanAPI requests
Solo100 / month
Pro1,000 / month
Startup2,000 / month
Enterprise5,000+ / month

Meme API FAQ

The questions worth answering before you build

Still deciding between the REST API and an AI-assistant integration? Read about the Supermeme meme MCP server.

What is a meme API?

A meme API lets software request meme content programmatically. With Supermeme, you send text through a REST endpoint and receive finished meme images, editable caption-and-template pairs, or matching template paths.

How is Supermeme different from a static meme template API?

A static template API usually makes you choose the template, write the caption, and compose the image yourself. Supermeme can interpret the text, find a relevant template, write the caption, and return a finished meme.

Which meme API endpoint should I use?

Use POST /api/v2/meme/image for finished memes, POST /api/v1/meme/text for captions and clean templates, GET /api/v1/search for template paths, and POST /api/v1/minimalist-visual for hand-drawn-style illustrations.

How does meme API authentication work?

Every request uses a Supermeme API key in the Authorization header as a Bearer token. Paid users can create and manage the key from the developer settings page.

How many API requests are included?

Solo includes 100 API requests per month, Pro includes 1,000, Startup includes 2,000, and Enterprise includes 5,000. Contact us when you need a larger quota.

Does the meme API support multiple languages?

The text-to-meme endpoint supports 110+ languages and detects the input language automatically. Endpoint-specific language support is documented alongside each request.

Do generated image URLs expire?

Yes. Image URLs returned by POST /api/v2/meme/image and POST /api/v1/minimalist-visual are signed for one hour. Save the images to your own storage when your product needs permanent URLs.

Should I use the meme API or the meme MCP server?

Use the REST API when you are building meme generation into an app, bot, or backend. Use the meme MCP server when you want an MCP-compatible AI assistant to search and generate memes inside a conversation.

POST text. GET memes.

Build the part that needs memes

Get an API key, make the first request, and see whether your idea gets funnier. We think it will. (The API still returns JSON either way.)

Get an API key