All Projects → jacebrowning → Memegen

jacebrowning / Memegen

Licence: mit
The free and open source API to generate memes.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Memegen

Graphql Server
This is the core package for using GraphQL in a custom server easily
Stars: ✭ 65 (-89.97%)
Mutual labels:  api, sanic
Meme api
Summon a random meme at will
Stars: ✭ 202 (-68.83%)
Mutual labels:  api, memes
dankcli
CLI Image Captioning Tool or Meme Generator which automatically adds whitespace and text to top
Stars: ✭ 40 (-93.83%)
Mutual labels:  memes, pillow
Unifi Api Client
A PHP API client class to interact with Ubiquiti's UniFi Controller API
Stars: ✭ 602 (-7.1%)
Mutual labels:  api
Client
DigitalOcean API v2 client for PHP
Stars: ✭ 604 (-6.79%)
Mutual labels:  api
Binance Spot Api Docs
Official Documentation for the Binance Spot APIs and Streams
Stars: ✭ 605 (-6.64%)
Mutual labels:  api
Apai Io
DISCONTINUED Amazon Product Adverstising Library based on PHP REST and SOAP (only V1) using the Product Advertising API.
Stars: ✭ 647 (-0.15%)
Mutual labels:  api
Ponzu
Headless CMS with automatic JSON API. Featuring auto-HTTPS from Let's Encrypt, HTTP/2 Server Push, and flexible server framework written in Go.
Stars: ✭ 5,373 (+729.17%)
Mutual labels:  api
Service My Wallet V3
Blockchain Wallet API Service
Stars: ✭ 644 (-0.62%)
Mutual labels:  api
Versioncake
🍰 Version Cake is an unobtrusive way to version APIs in your Rails or Rack apps
Stars: ✭ 623 (-3.86%)
Mutual labels:  api
Spock
Another Haskell web framework for rapid development
Stars: ✭ 623 (-3.86%)
Mutual labels:  api
Ui Avatars
Stars: ✭ 603 (-6.94%)
Mutual labels:  api
Impress
Enterprise application server for Node.js and Metarhia private cloud ⚡
Stars: ✭ 634 (-2.16%)
Mutual labels:  api
Laravel Cors
Send CORS headers in a Laravel application
Stars: ✭ 605 (-6.64%)
Mutual labels:  api
Hanami
The web, with simplicity.
Stars: ✭ 5,584 (+761.73%)
Mutual labels:  api
Node Express Mongodb Jwt Rest Api Skeleton
This is a basic API REST skeleton written on JavaScript using async/await. Great for building a starter web API for your front-end (Android, iOS, Vue, react, angular, or anything that can consume an API). Demo of frontend in VueJS here: https://github.com/davellanedam/vue-skeleton-mvp
Stars: ✭ 603 (-6.94%)
Mutual labels:  api
Dsharpplus
A .NET Standard library for making bots using the Discord API.
Stars: ✭ 635 (-2.01%)
Mutual labels:  api
Manticoresearch
Database for search
Stars: ✭ 610 (-5.86%)
Mutual labels:  api
Snake
🐍 一款小巧的基于Go构建的开发框架,可以快速构建API服务或者Web网站进行业务开发,遵循SOLID设计原则
Stars: ✭ 615 (-5.09%)
Mutual labels:  api
Bridge Deprecated
[DEPRECATED]: Prefer Retrofit/OkHttp by Square, or Fuel for Kotlin
Stars: ✭ 624 (-3.7%)
Mutual labels:  api

An API to programmatically generate memes based solely on requested URLs.

Build Status Coverage Status Swagger Validator License GitHub Sponsors

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:

Example Image

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:

Custom Size

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:

Escaped Characters

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
Default Style Alternate Style

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:

Custom Background

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].