Endpoints
Send a GET request to /api/<endpoint> with the listed query parameters, or a POST request to the same URL with a JSON body.
For POST, use avatars and usernames arrays in the listed order. Send all other parameter values as strings. For example: {"avatars": ["https://example.com/avatar.png"], "usernames": ["name"], "text": "hello"}.
Endpoints with multiple text fields require text1, text2, and so on. Each field accepts commas.
GET /api/abandon
POST /api/abandon
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/aborted
POST /api/aborted
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/affect
POST /api/affect
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/airpods
POST /api/airpods
Response: image/gif
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/america
POST /api/america
Response: image/gif
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/armor
POST /api/armor
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/balloon
POST /api/balloon
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: Balloon texttext2: Label text
GET /api/bed
POST /api/bed
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.avatar2: Image URL for the second image.
GET /api/bongocat
POST /api/bongocat
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/boo
POST /api/boo
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: First captiontext2: Second caption
GET /api/brain
POST /api/brain
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: First paneltext2: Second panel
text3: Third panel
text4: Fourth panel
GET /api/brazzers
POST /api/brazzers
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/byemom
POST /api/byemom
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.username1: First display name.
text: Text to render.
GET /api/cancer
POST /api/cancer
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/changemymind
POST /api/changemymind
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/cheating
POST /api/cheating
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: Your messagetext2: Classmate message
GET /api/citation
POST /api/citation
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: Headingtext2: Details
text3: Penalty
GET /api/communism
POST /api/communism
Response: image/gif
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/confusedcat
POST /api/confusedcat
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: Left captiontext2: Right caption
GET /api/corporate
POST /api/corporate
Response: image/png
avatar2 is optional. If omitted, avatar1 is used twice.
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.avatar2: Image URL for the second image.
GET /api/crab
POST /api/crab
Response: video/mp4
Rate limit: 1 request per 30 seconds
Parameters:
text1: Top linetext2: Bottom line
GET /api/cry
POST /api/cry
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/dab
POST /api/dab
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/dank
POST /api/dank
Response: image/gif
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/deepfry
POST /api/deepfry
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/delete
POST /api/delete
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/disability
POST /api/disability
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/doglemon
POST /api/doglemon
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: Lemon texttext2: Dog text
GET /api/door
POST /api/door
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/egg
POST /api/egg
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/emergencymeeting
POST /api/emergencymeeting
Response: image/jpeg
Text at or above 140 characters is shortened.
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/excuseme
POST /api/excuseme
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/expanddong
POST /api/expanddong
Response: image/png
Only the first 500 characters are rendered.
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/expandingwwe
POST /api/expandingwwe
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: First paneltext2: Second panel
text3: Third panel
text4: Fourth panel
text5: Fifth panel
GET /api/facts
POST /api/facts
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/failure
POST /api/failure
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/fakenews
POST /api/fakenews
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/farmer
POST /api/farmer
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: Cloud texttext2: Farmer text
GET /api/fedora
POST /api/fedora
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/floor
POST /api/floor
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.text: Text to render.
GET /api/fuck
POST /api/fuck
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: Left captiontext2: Right caption
GET /api/garfield
POST /api/garfield
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.avatar1: Image URL for the first image.
GET /api/gay
POST /api/gay
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/godwhy
POST /api/godwhy
Response: image/jpeg
Text at or above 127 characters is shortened.
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/goggles
POST /api/goggles
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/hitler
POST /api/hitler
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/humansgood
POST /api/humansgood
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/inator
POST /api/inator
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/invert
POST /api/invert
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/ipad
POST /api/ipad
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/jail
POST /api/jail
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/jarvis
POST /api/jarvis
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/justpretending
POST /api/justpretending
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: Top captiontext2: Repeated caption
GET /api/keepurdistance
POST /api/keepurdistance
Response: image/jpeg
Text at or above 30 characters is shortened.
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/kimborder
POST /api/kimborder
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/knowyourlocation
POST /api/knowyourlocation
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: Top texttext2: Bottom text
GET /api/kowalski
POST /api/kowalski
Response: image/gif
Rate limit: 1 request per 30 seconds
Parameters:
text: Text to render.GET /api/laid
POST /api/laid
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/letmein
POST /api/letmein
Response: video/mp4
Text at or above 400 characters is shortened.
Rate limit: 1 request per 30 seconds
Parameters:
text: Text to render.GET /api/lick
POST /api/lick
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: First captiontext2: Second caption
GET /api/livereaction
POST /api/livereaction
Response: image/png
avatar1 is placed in the reaction frame.
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.text: Text to render.
GET /api/machine
POST /api/machine
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
text1: What your body turnstext2: What it turns into
GET /api/madethis
POST /api/madethis
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.avatar2: Image URL for the second image.
GET /api/magik
POST /api/magik
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/master
POST /api/master
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: First captiontext2: Second caption
text3: Third caption
GET /api/meme
POST /api/meme
Response: image/png
Fonts: arial, arimobold, impact, robotomedium, robotoregular, sans, segoeuireg, tahoma, verdana. Standard style defaults to Impact and white. Alternate style uses text above the image, defaults to Arial and black, and ignores bottom_text.
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.top_text: Top caption. Defaults to TOP TEXT.
bottom_text: Bottom caption. Defaults to BOTTOM TEXT.
color: Color name or hex value. Sets meme text or the profile level bar.
font: Meme font name.
altstyle: String true or false. True places text above the image. Defaults to false.
GET /api/note
POST /api/note
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/nothing
POST /api/nothing
Response: image/jpeg
Only the first 120 characters are rendered.
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/obama
POST /api/obama
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.username1: First display name.
GET /api/ohno
POST /api/ohno
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/piccolo
POST /api/piccolo
Response: image/jpeg
Only the first 300 characters are rendered.
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/plan
POST /api/plan
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: First paneltext2: Second panel
text3: Third panel
GET /api/presentation
POST /api/presentation
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/profile
POST /api/profile
Response: image/png
Use a valid profile badge name for prestige. Supported active-effect items: alcohol, cupidsbigtoe, fakeid, padlock, sand, santashat, spinner, tidepod, landmine.
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.username1: First display name.
bio: Profile bio. Text over 40 characters is shortened.
title: Profile title.
xp: Cumulative XP as decimal text. The profile level is XP divided by 100.
color: Color name or hex value. Sets meme text or the profile level bar.
bank: Bank balance as decimal text.
wallet: Wallet balance as decimal text.
inventory: Inventory summary text.
prestige: Badge name from prestige1 through prestige10.
active_effects: Effects separated by hyphens, each formatted as :item:name.
command: Favorite command text.
streak: Daily streak text.
multiplier: Multiplier percentage text.
GET /api/quote
POST /api/quote
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.username1: First display name.
text: Text to render.
GET /api/radialblur
POST /api/radialblur
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/rip
POST /api/rip
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/roblox
POST /api/roblox
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/salty
POST /api/salty
Response: image/gif
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/satan
POST /api/satan
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/savehumanity
POST /api/savehumanity
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/scaryabove
POST /api/scaryabove
Response: video/mp4
Text is placed in the white bar above the video.
Rate limit: 1 request per 30 seconds
Parameters:
text: Text to render.GET /api/screams
POST /api/screams
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.avatar2: Image URL for the second image.
GET /api/shit
POST /api/shit
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/sickban
POST /api/sickban
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/slap
POST /api/slap
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.avatar2: Image URL for the second image.
GET /api/slapsroof
POST /api/slapsroof
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/sneakyfox
POST /api/sneakyfox
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: Fox texttext2: Other text
GET /api/spank
POST /api/spank
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.avatar2: Image URL for the second image.
GET /api/stroke
POST /api/stroke
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/surprised
POST /api/surprised
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: Me texttext2: Also me text
GET /api/sword
POST /api/sword
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: Sword texttext2: Food text
username1: First display name.
GET /api/theoffice
POST /api/theoffice
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: Left captiontext2: Right caption
GET /api/thesearch
POST /api/thesearch
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/todo
POST /api/todo
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/trash
POST /api/trash
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/trigger
POST /api/trigger
Response: image/gif
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/tweet
POST /api/tweet
Response: image/png
username2 sets the handle. If omitted, username1 is used.
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.username1: First display name.
text: Text to render.
username2: Second display name. Optional for tweet; sets the handle.
GET /api/ugly
POST /api/ugly
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/unpopular
POST /api/unpopular
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.text: Text to render.
GET /api/violence
POST /api/violence
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/violentsparks
POST /api/violentsparks
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text1: Person texttext2: Sparks text
GET /api/vr
POST /api/vr
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/walking
POST /api/walking
Response: image/jpeg
Rate limit: 5 requests per 1 second
Parameters:
text: Text to render.GET /api/wanted
POST /api/wanted
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/warp
POST /api/warp
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/whodidthis
POST /api/whodidthis
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.GET /api/whothisis
POST /api/whothisis
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.text: Text to render.
GET /api/yomomma
POST /api/yomomma
Response: application/json
Returns a JSON object with a text field.
Rate limit: 5 requests per 1 second
Parameters:
NoneGET /api/youtube
POST /api/youtube
Response: image/png
Rate limit: 5 requests per 1 second
Parameters:
avatar1: Image URL for the first image.username1: First display name.
text: Text to render.
Authorization
Every API request requires a valid key in the Authorization header. Request a key on the dashboard.
Authorization: your-api-keyImage input
Image parameters must be HTTP or HTTPS URLs that the service can fetch. GET accepts image as an alias for avatar1. POST accepts images as an alias for avatars.
JPEG, PNG, and BMP are supported. Other formats may work if the installed Pillow build can decode them. Animated inputs use the first frame.
The image response must include a Content-Length header and cannot exceed 5000000 bytes.
Rate limits
Each endpoint has the rate limit shown above. The global limit is 300 requests per 60 seconds. Requests that fail after authorization count toward these limits.
Responses include X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset for the endpoint, plus the corresponding X-Global-RateLimit-* headers for the global limit. Reset timestamps and Retry-After values are in milliseconds.
A rate-limited request returns HTTP 429. Global rate-limit responses include "global": true.