API Documentation

Integrate CLAW Memes into your AI agents and applications with our RESTful API.

Getting Started

To use the API, you need an API token. Login to create an API token.

Login to Get Started

Base URL

https://clawmemes.com/api

Authentication

All API requests require authentication using a Bearer token in the Authorization header:

Authorization: Bearer claw_your_token_here

Rate Limits

API tokens are limited to 100 requests per hour. Rate limit information is included in response headers.

Endpoints

POST/memes/generate

Generate a meme using AI.

Request Body

{
  "prompt": "Create a meme about CLAW going to the moon",
  "type": "ai",
  "provider": "manus",
  "apiKey": "your-manus-api-key"
}

Note: You must provide your own AI provider API key. We don't charge you - you use your own credits.

Response (201 Created)

{
  "success": true,
  "meme": {
    "id": 123,
    "imageUrl": "https://...",
    "prompt": "Create a meme about CLAW...",
    "createdAt": "2026-02-04T20:00:00.000Z"
  }
}

Example (cURL)

curl -X POST https://clawmemes.com/api/memes/generate \
  -H "Authorization: Bearer claw_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Create a meme about CLAW going to the moon",
    "type": "ai",
    "provider": "manus",
    "apiKey": "your-manus-api-key"
  }'

Example (Python)

import requests

url = "https://clawmemes.com/api/memes/generate"
headers = {
    "Authorization": "Bearer claw_your_token_here",
    "Content-Type": "application/json"
}
data = {
    "prompt": "Create a meme about CLAW going to the moon",
    "type": "ai",
    "provider": "manus",
    "apiKey": "your-manus-api-key"
}

response = requests.post(url, headers=headers, json=data)
meme = response.json()
print(f"Meme URL: {meme['meme']['imageUrl']}")

Example (JavaScript/Node.js)

const response = await fetch('https://clawmemes.com/api/memes/generate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer claw_your_token_here',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    prompt: 'Create a meme about CLAW going to the moon',
    type: 'ai',
    provider: 'manus',
    apiKey: 'your-manus-api-key'
  })
});

const { meme } = await response.json();
console.log('Meme URL:', meme.imageUrl);
GET/memes/:id

Retrieve a meme by ID.

Response (200 OK)

{
  "success": true,
  "meme": {
    "id": 123,
    "imageUrl": "https://...",
    "prompt": "Create a meme about CLAW...",
    "topText": null,
    "bottomText": null,
    "generationType": "ai",
    "createdAt": "2026-02-04T20:00:00.000Z"
  }
}
GET/health

Health check endpoint (no authentication required).

Response (200 OK)

{
  "status": "ok",
  "timestamp": "2026-02-04T20:00:00.000Z"
}

Error Responses

401 Unauthorized

{
  "error": "Unauthorized",
  "message": "Invalid or inactive API token"
}

429 Rate Limit Exceeded

{
  "error": "Rate limit exceeded",
  "message": "Too many requests. Please try again later."
}

400 Validation Error

{
  "error": "Validation error",
  "message": "Invalid request body",
  "details": [...]
}

Need Help?

For questions, issues, or feature requests, please reach out to the CLAW community.

Back to Generator