Contents

Endpoints Authorization Image input Rate limits

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 text
text2: 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 caption
text2: Second caption

GET /api/brain

POST /api/brain

Response: image/jpeg

Rate limit: 5 requests per 1 second

Parameters:

text1: First panel
text2: 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 message
text2: Classmate message

GET /api/citation

POST /api/citation

Response: image/jpeg

Rate limit: 5 requests per 1 second

Parameters:

text1: Heading
text2: 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 caption
text2: 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 line
text2: 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 text
text2: 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 panel
text2: 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 text
text2: 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 caption
text2: 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 caption
text2: 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 text
text2: 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 caption
text2: 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 turns
text2: 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 caption
text2: 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 panel
text2: 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 text
text2: 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 text
text2: Also me text

GET /api/sword

POST /api/sword

Response: image/jpeg

Rate limit: 5 requests per 1 second

Parameters:

text1: Sword text
text2: 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 caption
text2: 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 text
text2: 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:

None

GET /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-key

Image 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.