Skip to main content Generate memes using the memegen.link API. Use when users request memes, want to add humor to content, or need visual aids for social media. Supports 100+ popular templates with custom text and styling.
npx skills add softaworks/agent-toolkit --skill meme-factory agent-skills ai automation claude claude-code coding-agent
Meme Factory
Create memes using the free memegen.link API and textual meme formats.
Triggers
Trigger Description /meme-factoryManual invocation /meme-factory {template} {top} {bottom}Direct meme generation meme-factory: create a meme about XNatural language request
Quick Reference
Action Format Basic meme https://api.memegen.link/images/{template}/{top}/{bottom}.png
<details>
<summary><strong>Deep Dive: Advanced Features</strong></summary>
</details>
<details>
<summary><strong>Deep Dive: Contextual Memes</strong></summary>
</details>
<details>
<summary><strong>Deep Dive: Workflow Integration</strong></summary>
</details>
<details>
<summary><strong>Deep Dive: API Reference</strong></summary>
</details>
With sizing ?width=1200&height=630
Custom background ?style=https://example.com/image.jpg
Quick Start
Basic Meme Structure https://api.memegen.link/images/{template}/{top_text}/{bottom_text}.{extension}
https://api.memegen.link/images/buzz/memes/memes_everywhere.png
Result: Buzz Lightyear meme with "memes" at top and "memes everywhere" at bottom.
Text Formatting Character Encoding Space _ or -Newline ~nQuestion mark ~qPercent ~pSlash ~sHash ~hSingle quote ''Double quote ""
Popular Templates Template Use Case Example buzzX, X everywhere bugs/bugs_everywhere drakeComparisons manual_testing/automated_testing successVictories deployed/no_errors fineThings going wrong server_on_fire/this_is_fine fryUncertainty not_sure_if_bug/or_feature changemindHot takes tabs_are_better_than_spaces distractedPriorities my_code/new_framework/current_project mordorOne does not simply one_does_not_simply/deploy_on_friday
Template Selection Guide Context Template Why Comparing options drakeTwo-panel reject/approve format Celebrating wins successPositive outcome emphasis Problems ignored fineIronic "everything is fine" Uncertainty fry"Not sure if X or Y" format Controversial opinion changemindStatement + challenge Ubiquitous things buzz"X, X everywhere" Bad ideas mordor"One does not simply..."
Validation
Platform Dimensions Platform Dimensions Social media (Open Graph) 1200x630 Slack/Discord 800x600 GitHub Default
Anti-Patterns Avoid Why Instead Spaces without encoding URL breaks Use _ or - Too much text Unreadable 2-6 words per line Wrong template Message mismatch Match template to context Missing extension Invalid URL Always include .png, .jpg, etc. Unencoded special chars URL breaks Use ~q, ~s, ~p, etc. Assuming template exists 404 error Check templates list first
Verification Meme generation is successful when:
URL is valid - Returns HTTP 200
Image renders - Displays correctly in markdown
Text is visible - Properly formatted on image
Context matches - Template fits the message
curl -I "https://api.memegen.link/images/buzz/test/test.png"
# Should return: HTTP/2 200
Image Formats Extension Use Case .pngBest quality, default .jpgSmaller file size .webpModern, good compression .gifAnimated templates
Dimensions ?width=800
?height=600
?width=800&height=600 (padded to exact)
Layout Options ?layout=top # Text at top only
?layout=bottom # Text at bottom only
?layout=default # Standard top/bottom
Custom Fonts
Custom Images Use any image as background:
https://api.memegen.link/images/custom/hello/world.png?style=https://example.com/image.jpg
Code Reviews Template: fry
https://api.memegen.link/images/fry/not_sure_if_feature/or_bug.png
Deployments Template: interesting
https://api.memegen.link/images/interesting/i_dont_always_test/but_when_i_do_i_do_it_in_production.png
Documentation Template: yodawg
https://api.memegen.link/images/yodawg/yo_dawg_i_heard_you_like_docs/so_i_documented_the_documentation.png
Performance Issues Template: fine
https://api.memegen.link/images/fine/memory_usage_at_99~/this_is_fine.png
Successful Deploy Template: success
https://api.memegen.link/images/success/deployed_to_production/zero_downtime.png
Generating Memes in Response Here's a relevant meme:

Dynamic Generation (Python) def generate_status_meme(status: str, message: str):
template_map = {
"success": "success",
"failure": "fine",
"review": "fry",
"deploy": "interesting"
}
template = template_map.get(status, "buzz")
words = message.split()
top = "_".join(words[0:3])
bottom = "_".join(words[3:6])
return f"https://api.memegen.link/images/{template}/{top}/{bottom}.png"
Using the Helper Script from meme_generator import MemeGenerator
meme = MemeGenerator()
url = meme.generate("buzz", "features", "features everywhere")
print(url)
Endpoints Endpoint Purpose /templates/List all templates /templates/{id}Template details /fonts/Available fonts /images/{template}/{top}/{bottom}.{ext}Generate meme
API Characteristics
Free and open-source
No API key required
No rate limiting (normal use)
Stateless (all info in URL)
Images generated on-demand
Error Handling
Check template at https://api.memegen.link/templates/
Verify text formatting (underscores for spaces)
Check special character encoding
Ensure valid extension
Test URL in browser
References
Scripts
Summary Generate contextual memes to:
Add humor to conversations
Create social media visuals
Make code reviews engaging
Celebrate successes
Golden rule: Keep text concise, match template to context.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).