Generate relevant memes using the memegen.link API. Use this skill when users request memes, want to add humor to content, or need visual aids for social media.
This skill enables creation of memes using the free and open-source memegen.link API.
For comprehensive meme creation guidance:
The memegen.link API allows you to:
URL Format:
https://api.memegen.link/images/{template}/{top_text}/{bottom_text}.{extension}
Example:
https://api.memegen.link/images/buzz/memes/memes_everywhere.png
This generates a Buzz Lightyear meme with "memes" at the top and "memes everywhere" at the bottom.
_) or dashes (-) for spaces in textOne_Does_Not_Simply → "One Does Not Simply"_ or -~n~q~p~s~h'' for single, "" for doubleFor memes with only one line of text, use an underscore for the empty line:
https://api.memegen.link/images/yodawg/_/your_text_here.png
Popular Templates:
buzz - Buzz Lightyear ("X, X Everywhere")drake - Drake Hotline Bling (two panels)doge - Doge (multiple text positions)distracted - Distracted Boyfriendchangemind - Change My Mindsuccess - Success Kidskeptical - Skeptical Third World Kidawesome - Awesome/Awkward Penguinyodawg - Yo Dawgancient - Ancient Aliens Guywonka - Condescending WonkaView all templates:
https://api.memegen.link/templates/https://api.memegen.link/docs/Supported Extensions:
.png - Standard format, best quality.jpg - Smaller file size.webp - Modern format, good compression.gif - Animated (if template supports it)Example:
https://api.memegen.link/images/buzz/memes/memes_everywhere.webp
Width & Height:
?width=800
?height=600
?width=800&height=600 (padded to exact dimensions)
Example:
https://api.memegen.link/images/buzz/memes/memes_everywhere.png?width=1200
Control text positioning with the layout parameter:
?layout=top # Text at top only
?layout=bottom # Text at bottom only
?layout=default # Standard top/bottom
Example:
https://api.memegen.link/images/rollsafe/when_you_have/a_good_idea.png?layout=top
Available fonts:
https://api.memegen.link/fonts/?font=impact (default)Use any image URL as a background:
?style=https://example.com/your-image.jpg
Example:
https://api.memegen.link/images/custom/hello/world.png?style=https://i.imgur.com/abc123.jpg
https://api.memegen.link/images/drake/manual_testing/automated_testing.png
Top panel (rejected): "manual testing" Bottom panel (approved): "automated testing"
https://api.memegen.link/images/distracted/my_code/new_shiny_framework/current_project.png
https://api.memegen.link/images/mordor/one_does_not_simply/fix_a_bug_without_creating_two_more.png
https://api.memegen.link/images/changemind/tabs_are_better_than_spaces.png
https://api.memegen.link/images/success/all_tests_passing/on_the_first_try.png
https://api.memegen.link/images/buzz/memes/memes_everywhere.png?width=1200&height=630
Perfect for Open Graph social media sharing (1200x630).
Template: fry (Futurama Fry - "Not sure if...")
https://api.memegen.link/images/fry/not_sure_if_feature/or_bug.png
Template: interesting (The Most Interesting Man)
https://api.memegen.link/images/interesting/i_dont_always_test_my_code/but_when_i_do_i_do_it_in_production.png
Template: yodawg
https://api.memegen.link/images/yodawg/yo_dawg_i_heard_you_like_docs/so_i_documented_the_documentation.png
Template: fine (This is Fine Dog)
https://api.memegen.link/images/fine/memory_usage_at_99~/this_is_fine.png
When a user requests a meme or you want to add humor:
Here's a relevant meme about your situation:

Generate multiple memes for a topic:
base_url = "https://api.memegen.link/images"
memes = [
f"{base_url}/buzz/features/features_everywhere.png",
f"{base_url}/drake/manual_testing/automated_testing.png",
f"{base_url}/success/all_tests_passing/on_first_try.png"
]
for meme in memes:
print(f"")
Generate memes based on context:
def generate_status_meme(status: str, message: str):
template_map = {
"success": "success",
"failure": "fine",
"review": "fry",
"deploy": "interesting"
}
template = template_map.get(status, "buzz")
top_text = message.split()[0:3] # First 3 words
bottom_text = message.split()[3:6] # Next 3 words
top = "_".join(top_text)
bottom = "_".join(bottom_text)
return f"https://api.memegen.link/images/{template}/{top}/{bottom}.png"
If a meme URL doesn't work:
https://api.memegen.link/templates/# For anonymization features
https://api.memegen.link/images/buzz/pii/pii_everywhere.png
# For data privacy
https://api.memegen.link/images/success/all_data_anonymized/no_leaks.png
# Processing messages
https://api.memegen.link/images/yodawg/yo_dawg_i_heard_you_like_messages/so_i_parsed_your_messages.png
# Data pipeline
https://api.memegen.link/images/buzz/dataframes/dataframes_everywhere.png
# AI writing
https://api.memegen.link/images/interesting/i_dont_always_write_blog_posts/but_when_i_do_llms_write_them.png
# AI confusion
https://api.memegen.link/images/fry/not_sure_if_ai_generated/or_human_written.png
For complete, interactive documentation:
When generating memes:
hello world won't work, use hello_world.png, .jpg, etc.Basic URL:
https://api.memegen.link/images/{template}/{top}/{bottom}.png
With sizing:
?width=1200&height=630
With layout:
?layout=top
With custom background:
?style=https://example.com/image.jpg
View all templates:
https://api.memegen.link/templates/
Interactive docs:
https://api.memegen.link/docs/
The memegen.link API is a powerful, free tool for generating contextual memes. Use it to:
Remember: A good meme is concise, relevant, and uses the right template for the message.