# Caption Generator — REST API endpoint `caption-generator`

Generate a social-media caption from a topic using built-in templates (no AI): picks a template for the content type and tone, fills in the topic, and optionally appends a call to action and up to 8 hashtags. Returns the caption, its length, and the platform limit.

- Category: generators
- MCP server: https://mcp.findutils.com/ (Streamable HTTP, no API keys, 120 req/min per IP)
- REST endpoint: POST https://api.findutils.com/api/tools/caption-generator/execute (no API keys, 60 req/min per IP)
- Reference page: https://findutils.com/api/caption-generator/
- Same tool on the other surface: https://findutils.com/mcp/caption-generator/

## Call the endpoint (verified example)

```bash
curl -X POST https://api.findutils.com/api/tools/caption-generator/execute \
  -H "Content-Type: application/json" \
  -d '{
    "topic": "Sunday brunch",
    "content_type": "food",
    "tone": "casual",
    "platform": "instagram"
  }'

# Parameter schema
curl https://api.findutils.com/api/tools/caption-generator
```

## Input schema

| Argument | Type | Required | Description |
|---|---|---|---|
| `topic` | string | no | What the post is about. Default "this moment". |
| `content_type` | string (lifestyle \| travel \| food \| fitness \| fashion \| business \| motivation \| funny) | no | Content category. Default "lifestyle". Default: `"lifestyle"`. |
| `tone` | string (casual \| professional \| witty \| inspirational) | no | Voice of the caption. Default "casual". Falls back to casual, then lifestyle/casual, when no template exists. Default: `"casual"`. |
| `platform` | string (instagram \| tiktok \| facebook \| twitter) | no | Target platform, sets the character limit. Default "instagram". Default: `"instagram"`. |
| `keywords` | string | no | Comma-separated keywords turned into extra hashtags. |
| `include_hashtags` | boolean | no | Append hashtags. Default true. Default: `true`. |
| `include_emojis` | boolean | no | Keep emojis in the caption. Default true. Default: `true`. |
| `include_cta` | boolean | no | Append a call to action. Default true. Default: `true`. |

Example arguments (verified):

```json
{
  "topic": "Sunday brunch",
  "content_type": "food",
  "tone": "casual",
  "platform": "instagram"
}
```

OpenAPI 3.1 spec: https://findutils.com/api/openapi.json · Interactive docs: https://findutils.com/api/docs/

## Also an MCP tool

```bash
claude mcp add findutils --transport http https://mcp.findutils.com/
```

Then ask the client to call `findutils:caption_generator`. Full MCP reference: https://findutils.com/mcp/caption-generator/

---
Full catalog: GET https://api.findutils.com/api/tools · https://findutils.com/api/ · https://findutils.com/llms.txt
