When to use this skill
When the user asks about meme templates — names, IDs, image URLs, text-box counts — or wants to find a popular meme for captioning. The Imgflip catalog covers ~100 widely-used templates and box_count is the field most agents overlook: it tells you how many text boxes a template has, which determines the captioning layout. For creating captioned images (POST /caption_image), this is the wrong skill — that requires Imgflip credentials.
Your best first call
curl "https://api.imgflip.com/get_memes"
No auth. No key. Returns ~100 meme templates in one JSON response. Fetch this ONCE per session. Index the memes array by id for lookups, or filter by name for text search. Do not re-fetch.
{
"success": true,
"data": {
"memes": [
{
"id": "181913649",
"name": "Drake Hotline Bling",
"url": "https://i.imgflip.com/30b1gx.jpg",
"width": 1200,
"height": 1200,
"box_count": 2,
"captions": 1527750
}
]
}
}
The key fields an agent uses:
id — string (not integer), the template identifier used for captioning
name — human-readable template name (e.g. "Drake Hotline Bling", "Running Away Balloon")
url — direct image URL, no auth needed
box_count — number of text boxes for captioning. Varies from 2 to 5. Filter on this when the user asks "I need a 3-panel meme template."
captions — live counter of total captions created with this template. Treat as a popularity signal, not a stable field — it changes between calls.
Fallbacks (when the best call isn't enough)
- Only animated/GIF templates needed → add
?type=gif to filter for animated meme templates. Returns a smaller subset of MP4/animated entries.
- Creating a captioned meme image →
POST /caption_image with Imgflip username and password. This skill covers the read-only catalog, not the write endpoint.
Pitfalls
id is a string ("181913649"), not an integer. Numeric comparison or filtering will silently match wrong templates.
- There is no search, filter-by-name, or lookup-by-ID endpoint. You must fetch the full list and filter client-side — the API gives you the catalog once and expects you to search it yourself.
captions increments as people create memes. Two calls minutes apart return different values. Do not treat it as a stable identifier.
- Sort order is by popularity and shifts over time. Array position is not a fixed ranking.
One-line summary for the user
I can look up meme templates — names, IDs, text-box counts, image URLs — from the Imgflip catalog in a single unauthenticated GET, but there's no search or ID lookup — fetch the full list and filter client-side.
SKILL.md source (frontmatter + body)
---
name: list-get_memes
description: When the user asks about meme templates — names, IDs, text-box counts, image URLs, or wants to find a popular meme for captioning — reach for the Imgflip meme catalog. Single unauthenticated GET, no search/filter available.
---
## When to use this skill
When the user asks about meme templates — names, IDs, image URLs, text-box counts — or wants to find a popular meme for captioning. The Imgflip catalog covers ~100 widely-used templates and `box_count` is the field most agents overlook: it tells you how many text boxes a template has, which determines the captioning layout. For creating captioned images (POST /caption_image), this is the wrong skill — that requires Imgflip credentials.
## Your best first call
```bash
curl "https://api.imgflip.com/get_memes"
```
No auth. No key. Returns ~100 meme templates in one JSON response. Fetch this ONCE per session. Index the `memes` array by `id` for lookups, or filter by `name` for text search. Do not re-fetch.
```json
{
"success": true,
"data": {
"memes": [
{
"id": "181913649",
"name": "Drake Hotline Bling",
"url": "https://i.imgflip.com/30b1gx.jpg",
"width": 1200,
"height": 1200,
"box_count": 2,
"captions": 1527750
}
]
}
}
```
The key fields an agent uses:
- `id` — string (not integer), the template identifier used for captioning
- `name` — human-readable template name (e.g. "Drake Hotline Bling", "Running Away Balloon")
- `url` — direct image URL, no auth needed
- `box_count` — number of text boxes for captioning. Varies from 2 to 5. Filter on this when the user asks "I need a 3-panel meme template."
- `captions` — live counter of total captions created with this template. Treat as a popularity signal, not a stable field — it changes between calls.
## Fallbacks (when the best call isn't enough)
- **Only animated/GIF templates needed** → add `?type=gif` to filter for animated meme templates. Returns a smaller subset of MP4/animated entries.
- **Creating a captioned meme image** → `POST /caption_image` with Imgflip username and password. This skill covers the read-only catalog, not the write endpoint.
## Pitfalls
- `id` is a string (`"181913649"`), not an integer. Numeric comparison or filtering will silently match wrong templates.
- There is no search, filter-by-name, or lookup-by-ID endpoint. You must fetch the full list and filter client-side — the API gives you the catalog once and expects you to search it yourself.
- `captions` increments as people create memes. Two calls minutes apart return different values. Do not treat it as a stable identifier.
- Sort order is by popularity and shifts over time. Array position is not a fixed ranking.
## One-line summary for the user
I can look up meme templates — names, IDs, text-box counts, image URLs — from the Imgflip catalog in a single unauthenticated GET, but there's no search or ID lookup — fetch the full list and filter client-side.