A reaction clips API for video

The Green Screen Memes API is a video meme API: over 2,000 short reaction meme clips on a solid green, blue or red background, most with the meme's original sound, searchable by what happens in them ("shocked", "side eye", "slow clap"). Each clip is an MP4 with its key color, ready to key over any photo or video. REST for apps and pipelines, MCP for AI agents, one key.

What you get

  • Green screen video clips with sound. Trending reaction memes, cut out on a flat key color, as MP4s with the meme's audio. New clips every day.
  • Search by reaction. Names, descriptions and tags written for what happens in the clip, so q=side eye or q=happy dance finds it.
  • What's trending now. /v1/trending ranks the clips people use most in the Green Screen Memes app right now.
  • Everything to composite it. chromaKeyColor says which color to key, durationSeconds how long it runs, thumbnailUrl what it looks like. The FFmpeg and Remotion guides do the rest.

What the clips turn into

Each of these is one clip from the library keyed over an ordinary photo, with a caption on top. The same clip works over any scene, which is what makes one library go a long way.

Four vertical meme videos. Wizard cat at a computer over a buffet: "when I google how to lose weight and it says eat less". A chihuahua standing on its hind legs in front of an office tower: "me when my coworker who just volunteered for another project". An orange cat counting cash in a living room: "my wife when I get paid". A cat laughing hard at a desk: "me on a zoom call laughing at my boss's joke from the dining room like my rent depends on it". Four vertical work memes. Wizard cat typing at an office desk: "me every day at my big girl job". A kitten in knight's armour over a form being filled in: "me getting ready to ask for a day off after using all my vacation days this year". A grimacing chihuahua in a hallway: "me after pressing free trial and they ask me to put my card details". A husky standing on its hind legs in an open-plan office: "when boss says bonus is based on performance". Four vertical animal memes. A monkey asleep in bed: "Are you free after work?" and "Me after work". A dog turning its head outside a house: "me checking if the dog barked at a ghost or just the wind". A rat on its hind legs in an office cafeteria: "when someone brings pizza for the whole office, and you didn't bring any lunch". A cat dancing in a kitchen: "my cat when he sees me with a tuna sandwich".
Real memes made from Green Screen Memes templates. Select one for the full-size image. Making these for a brand? See memes for business.

How it differs from GIF and image meme APIs

Different jobs, different tools. If you're building a GIF picker for a chat app, a GIF API is the better fit, with a far bigger library. If you need captions on classic image templates, use an image meme API. This one is for putting a reaction clip into a video.

GIF APIs (GIPHY and similar)Image meme APIs (Imgflip, memegen and similar)Green Screen Memes
You getLooping GIFs and short clips, often in several renditionsA captioned still image from a templateMP4 video clips on a flat green, blue or red background
SoundGIFs have none; some providers offer clips with soundNoneMost clips keep the meme's original sound
BackgroundThe original sceneThe templateKeyable, so the clip plays over your own photo or video
Made forGIF pickers and reactions in chat and social appsMeme generators and image postsVideo editing, short-form pipelines and AI agents
AgentsVariesVariesAn MCP server with an ffmpeg recipe per clip

It's a smaller, curated library: about two thousand clips, not millions. It doesn't generate memes or remove backgrounds from your own footage.

REST in three calls

Send your key as a Bearer token, from your server (the API doesn't send CORS headers). Search:

GET /v1/memes?q=
curl -H "Authorization: Bearer $GSM_API_KEY" \
  "https://api.greenscreenmemes.app/v1/memes?q=side%20eye&limit=3"

Lists return { data, total, nextCursor }. The first result of that search, as the API returned it (media links shortened):

Response
{
  "data": [
    {
      "id": "Dog giving awkward side eye",
      "type": "green_screen",
      "name": "Dog giving awkward side eye",
      "description": "A small tan dog slowly turns its head to give a wide-eyed, suspicious side-eye toward the camera while dramatic music plays.",
      "tags": ["dog", "side-eye", "awkward", "suspicious"],
      "chromaKeyColor": "green",
      "durationSeconds": 6,
      "thumbnailUrl": "https://api.greenscreenmemes.app/v1/media/m/Dog%20giving%20awkward%20side%20eye/thumbnail?k=…",
      "videoUrl": "https://api.greenscreenmemes.app/v1/media/m/Dog%20giving%20awkward%20side%20eye/video?k=…",
      "createdAt": "2026-02-21T22:00:00.000Z",
      "updatedAt": "2026-02-21T22:00:00.000Z"
    }
  ],
  "total": 25,
  "nextCursor": "Mw"
}

What's trending in the app, with a rank on each clip (1 is the most used):

GET /v1/trending
curl -H "Authorization: Bearer $GSM_API_KEY" \
  "https://api.greenscreenmemes.app/v1/trending?limit=10"
GET /v1/memes/{id}
# Fresh links for a clip you already know (URL-encode the id)
curl -H "Authorization: Bearer $GSM_API_KEY" \
  "https://api.greenscreenmemes.app/v1/memes/Dog%20giving%20awkward%20side%20eye"

Media links are signed for your key and expire after about 6 hours: download the file, don't store the link. Errors return { error: { code, message } }. The rest (collections, tags, usage, removed clips) is in the docs and the OpenAPI spec.

From an AI agent

The same key works over MCP. One line connects Claude Code; the MCP page has Cursor and Claude Desktop.

Terminal
claude mcp add --transport http green-screen-memes https://api.greenscreenmemes.app/mcp \
  --header "Authorization: Bearer $GSM_API_KEY"

Pricing

PlanPriceVideo downloads / monthAPI calls / monthRequests / minuteFor
SandboxFree5030k120For building and testing
Starter$49/mo2k100k120Use in apps and published videos
Growth$199/mo20k1M600Use in apps and published videos
Enterprisefrom $999/mo200k10M600Custom terms and uptime commitment

In US dollars; yearly billing is 20% off. Nothing is billed past a plan: at the limit, requests return 429 until the next month or an upgrade. Details on the pricing section.

What you can use the clips for

These are internet memes. Green Screen Memes makes the green screen versions, tags and curates them; the original footage isn't ours, a plan doesn't license it to you, and how you use a clip is your responsibility. On Starter and up, clips can go in apps and in videos you publish for yourself or clients, including commercially; Sandbox keys are for building and testing. Clips of identifiable people can't go in paid ads, sponsored posts or endorsements (animals, objects and cartoons can). Don't resell the library, and stop using clips that GET /v1/removed lists. The terms have the rest.

Questions

Is there a free tier?

Yes. The Sandbox key is free, with 50 video downloads and 30,000 API calls a month, for building and testing. Paid plans start at $49 a month.

Can I use the clips in commercial videos?

On Starter and up, yes: in apps and in videos you publish for yourself or clients, within the terms. Clips of identifiable people can't go in paid ads, sponsored posts or endorsements, and the original footage isn't licensed with the clips.

Is this a meme generator?

No. It's a curated library of existing meme clips. It doesn't generate memes or remove backgrounds from your own footage; you composite the clips yourself, with FFmpeg, Remotion or your own renderer.

How often are clips added?

Every day. GET /v1/memes?updatedSince=<ISO date> returns what was added or changed, and GET /v1/trending what people use most in the Green Screen Memes app right now.

Can I cache results?

Catalog data (names, tags, descriptions), yes, as long as you like. Media links expire after about 6 hours, so store downloaded files, not links, and drop anything GET /v1/removed lists.

Get a free key

Sandbox: 50 video downloads and 30,000 calls a month, for building and testing.

Get a free key