Skip to content

Memeois/memegen

 
 

Repository files navigation

memegen.link

An API to generate meme images based solely on requested URLs.

Unix: Unix Build Status Windows: Windows Build Status
Metrics: Coverage Status Scrutinizer Code Quality
Issues: Stories in Ready

Generating Images

The API is stateless so URLs contain all the information necessary to generate meme images. For example, https://memegen.link/buzz/memes/memes_everywhere.jpg produces:

Sample Image

But, the site can also produce masked URLs to conceal the joke:

https://memegen.link/_YnV6egltZW1lcy9tZW1lcy1ldmVyeXdoZXJl.jpg

For any image, lose the extension to see a list of all format options:

https://memegen.link/buzz/memes/memes_everywhere

Special Characters

In URLs, spaces can be inserted using underscores, dashes, or mixed case:

  • underscore (_) → space ( )
  • dash (-) → space ( )
  • 2 underscores (__) → underscore (_)
  • 2 dashes (--) → dash (-)
  • "weLoveMemes" → "we love memes"

Reserved URL characters can be escaped:

  • tilde + Q (~q) → question mark (?)
  • tilde + P (~p) → percentage (%)
  • tilde + H (~h) → hashtag/pound (#)
  • tilde + S (~s) → slash (/)
  • 2 single qutoes ('') → double quote (")

For example, https://memegen.link/doge/~hspecial_characters~q/underscore__-dash--.jpg produces:

Escaped Characters

Alternate Styles

Some memes come in multiple forms, which can be selected via ?alt=<style>:

Template with Styles

For example: https://memegen.link/sad-biden/sad_joe_biden/doesn't_think_you'll_vote.jpg?alt=scowl

Or, you can use your own image URL as the style. For example, https://memegen.link/custom/my_pretty/background.jpg?alt=http://www.gstatic.com/webp/gallery/1.jpg produces:

Custom Background

Alternate Fonts

Additional fonts are available (see: https://memegen.link/api/fonts) and can be selected via ?font=<name>.

For example, https://memegen.link/joker/pick_a_different_font/people_lose_their_minds.jpg?font=typoline-demo produces:

Custom Font

Custom sizes

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://memegen.link/both/width_or_height/why_not_both~q.jpg?height=350&width=600 produces:

Custom Size

Preview Images

API clients that want to show a preview of an image while the user is still typing should disable caching and analytics via ?preview=true.

Social Media

Add ?share=true to optimize images sizes for sharing on social media.

Adding Templates

To add a new template, please follow the contributor instructions.

Thanks go to danieldiekmeier/memegenerator for the inspiration!

Sample Clients

Type Language Source Link
Slack Python nicolewhite/slack-meme ---
Slack Go CptSpaceToaster/slackbot ---
Slack --- --- http://www.memetizer.com
Hain JavaScript Metrakit/hain-plugin-meme ---
Website Clojure jasich/mighty-fine-memes http://www.mightyfinememes.com
Website --- --- https://memecomplete.com
App --- --- http://app.memeois.com

Additional clients can be found by searching for code examples on GitHub.

About

The open source meme generator.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 71.5%
  • HTML 18.4%
  • CSS 4.8%
  • Makefile 3.8%
  • JavaScript 1.3%
  • Shell 0.2%