API Documentation
Programmatic access to Memelord's meme generation and video rendering
Authentication
All API requests require an API key in the Authorization header.
Get your API key: Visit Developer Settings to create and manage your API keys.
Authorization: Bearer mlord_live_xxxxxxxxxxxxxxxxxxxxxx
01Quick Start
Generate a rendered meme and get back a download URL:
curl -X POST https://www.memelord.com/api/v1/ai-meme \
-H "Authorization: Bearer mlord_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "developer fixing bugs at 3am"}'Endpoint:
POST /api/v1/ai-meme— Generates and renders memes, returns hosted download URLs with template metadata.
02Endpoint
POST /api/v1/ai-meme
Generates memes with text overlays and returns signed download URLs with template metadata.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| prompt | string | Yes | Topic or idea for the meme |
| count | number | No | Number of memes (default: 1, max: 10) |
| category | string | No | "trending" or "classic" |
| include_nsfw | boolean | No | Include NSFW templates (default: true) |
Response (200)
{
"success": true,
"prompt": "when the code works on the first try",
"total_generated": 2,
"results": [
{
"success": true,
"url": "https://...signed-download-url...",
"expires_in": 86400,
"template_name": "Drake Hotline Bling",
"template_id": "abc-123"
}
]
}01Overview
Generate captioned video memes from your prompt. Videos are selected from the template library, captioned automatically, and rendered. Results are delivered via webhook.
Endpoint:
POST /api/v1/ai-video-meme— Generate video memes with AI captions
02Request
POST /api/v1/ai-video-meme
| Parameter | Type | Required | Description |
|---|---|---|---|
| prompt | string | Yes | Topic or idea for the video meme |
| count | number | No | Number of video memes (default: 1, max: 5) |
| webhookUrl | string | No | URL to receive results when renders complete |
| webhookSecret | string | No | HMAC-SHA256 secret for webhook verification |
| category | string | No | "trending" or "classic" |
| template_id | string | No | Specific video template asset ID |
Immediate Response (200)
{
"success": true,
"prompt": "when the code works on the first try",
"total_requested": 1,
"jobs": [
{
"job_id": "render-1740524400000-abc12",
"template_name": "Surprised Pikachu Video",
"template_id": "abc-123",
"caption": "When the code works on the first try"
}
],
"message": "Render jobs started. Results will be POSTed to webhookUrl."
}03Webhook Payload
Each render job POSTs its result to your webhookUrl when complete.
{
"jobId": "render-1740524400000-abc12",
"success": true,
"mp4Url": "https://...signed-url...",
"templateName": "Surprised Pikachu Video",
"templateId": "abc-123",
"caption": "When the code works on the first try",
"stats": { "renderTimeMs": 12340, "outputSizeMB": "2.34" }
}Note: MP4 URLs expire after 7 days. Poll job status via GET /api/video/render/remote?jobId=... as a fallback.
04Example
curl -X POST https://www.memelord.com/api/v1/ai-video-meme \
-H "Authorization: Bearer mlord_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "when the code works on the first try",
"count": 2,
"webhookUrl": "https://your-server.com/webhook"
}'