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 eyeorq=happy dancefinds it. - What's trending now.
/v1/trendingranks the clips people use most in the Green Screen Memes app right now. - Everything to composite it.
chromaKeyColorsays which color to key,durationSecondshow long it runs,thumbnailUrlwhat 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.
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 get | Looping GIFs and short clips, often in several renditions | A captioned still image from a template | MP4 video clips on a flat green, blue or red background |
| Sound | GIFs have none; some providers offer clips with sound | None | Most clips keep the meme's original sound |
| Background | The original scene | The template | Keyable, so the clip plays over your own photo or video |
| Made for | GIF pickers and reactions in chat and social apps | Meme generators and image posts | Video editing, short-form pipelines and AI agents |
| Agents | Varies | Varies | An 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:
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):
{
"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):
curl -H "Authorization: Bearer $GSM_API_KEY" \
"https://api.greenscreenmemes.app/v1/trending?limit=10"# 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.
claude mcp add --transport http green-screen-memes https://api.greenscreenmemes.app/mcp \
--header "Authorization: Bearer $GSM_API_KEY"Pricing
| Plan | Price | Video downloads / month | API calls / month | Requests / minute | For |
|---|---|---|---|---|---|
| Sandbox | Free | 50 | 30k | 120 | For building and testing |
| Starter | $49/mo | 2k | 100k | 120 | Use in apps and published videos |
| Growth | $199/mo | 20k | 1M | 600 | Use in apps and published videos |
| Enterprise | from $999/mo | 200k | 10M | 600 | Custom 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.


