jacebrowning / Memegen
Programming Languages
Projects that are alternatives of or similar to Memegen
An API to programmatically generate memes based solely on requested URLs.
Buy me a coffee to help keep this site running!
Images
The API is stateless so URLs contain all the information necessary to generate meme images. For example, https://api.memegen.link/images/buzz/memes/memes_everywhere.png produces:
Available Formats
Clients can request .jpg
instead of .png
for smaller files:
Format | Example |
---|---|
PNG | /images/ds/small_file/high_quality.png |
JPEG | /images/ds/high_quality/small_file.jpg |
Custom Dimensions
Images can be scaled to a specific width via ?width=<int>
or a specific height via ?height=<int>
. If both parameters are provided (?width=<int>&height=<int>
), the image will be padded to the exact dimensions.
For example, https://api.memegen.link/images/both/width_or_height/why_not_both~q.png?height=350&width=600 produces:
Special Characters
In URLs, spaces can be inserted using underscores or dashes:
- underscore (
_
) → space ()
- dash (
-
) → space ()
- 2 underscores (
__
) → underscore (_
) - 2 dashes (
--
) → dash (-
) - tilde + N (
~n
) → newline character
Reserved URL characters can be included using escape patterns:
- tilde + Q (
~q
) → question mark (?
) - tilde + A (
~a
) → ampersand (&
) - tilde + P (
~p
) → percentage (%
) - tilde + H (
~h
) → hashtag/pound (#
) - tilde + S (
~s
) → slash (/
) - tilde + B (
~b
) → backslash (\
) - 2 single quotes (
''
) → double quote ("
)
For example, https://api.memegen.link/images/doge/~hspecial_characters~q/underscore__-dash--.png produces:
All of the POST
endpoints will return image URLs with speical characters replaced with these alternatives.
Templates
The list of predefined meme templates is available here: https://api.memegen.link/templates/
Alternate Styles
Some memes come in multiple forms, which can be selected via ?style=<style>
.
For example, the https://api.memegen.link/templates/ds/ template provides these styles:
/images/ds.png |
/images/ds.png?style=maga |
---|---|
Custom Backgrounds
You can also use your own image URL as the background. For example, https://api.memegen.link/images/custom/_/my_background.png?background=http://www.gstatic.com/webp/gallery/1.png produces:
Sample Code
Here are some popular apps and integrations to check out:
Platforms | Language | Website |
---|---|---|
Slack | Python | https://github.com/nicolewhite/slack-meme |
Slack | Go | https://github.com/CptSpaceToaster/slackbot |
Slack | -- | http://www.memetizer.com |
Hain | JavaScript | https://github.com/Metrakit/hain-plugin-meme |
Web | Clojure | https://github.com/jasich/mighty-fine-memes |
Web & Slack | -- | https://memecomplete.com |
Discord | JavaScript | https://github.com/parshsee/discordbot |
Additional clients can be found by searching for code examples on GitHub.
Ready to build your own? Check out the clients page.