AI Integrations
Give your AI assistant the ability to generate word clouds.
Claude can generate word clouds in multiple ways — no local install required.
Remote MCP Server Recommended — no install
Add the remote MCP server to give Claude the generate_wordcloud tool. Nothing to install — it connects to our hosted server.
claude_desktop_config.json:
{
"mcpServers": {
"wordcloud": {
"url": "https://word-cloud.net/mcp"
}
}
}
claude mcp add wordcloud --transport http https://word-cloud.net/mcp
Claude API — Tool Definition
If you're building with the Claude API, add this tool definition. Your app handles calling POST /api/generate when Claude invokes the tool.
{
"name": "generate_wordcloud",
"description": "Generate a word cloud. Returns URLs to view, edit, and embed.",
"input_schema": {
"type": "object",
"required": ["words"],
"properties": {
"words": {
"type": "array",
"description": "Array of {text, weight} objects. Higher weight = larger.",
"items": {
"type": "object",
"required": ["text", "weight"],
"properties": {
"text": { "type": "string" },
"weight": { "type": "number" }
}
}
},
"shape": { "type": "string", "enum": ["landscape","portrait","square"] },
"rotation": { "type": "string", "enum": ["horizontal","horizontal-vertical","all"] },
"font": { "type": "string", "description": "Font family. Built-in: Arial, Impact, Lobster, Bangers, Pacifico, Montserrat, etc. Use googleFontsUrl for others." },
"colorPalette": { "type": "string", "enum": ["rainbow","ocean","warm","forest","sunset"] },
"backgroundColor": { "type": "string", "description": "Solid hex color. Mutually exclusive with gradient." },
"gradient": {
"type": "object",
"description": "Background gradient with type (linear/radial), direction, and stops.",
"properties": {
"type": { "type": "string", "enum": ["linear","radial"] },
"direction": { "type": "string", "enum": ["to-bottom","to-right","to-bottom-right","to-top-right"] },
"stops": { "type": "array", "items": { "type": "object", "properties": { "color": { "type": "string" }, "offset": { "type": "integer" } } } }
}
},
"mask": { "type": "string", "enum": ["none","circle","heart","star","diamond","speech-bubble","triangle","cloud","shield","pentagon","hexagon"] }
}
}
}
Direct API
Claude Code can also call the REST API directly via curl or WebFetch — no MCP config needed. Just ask Claude to POST to https://word-cloud.net/api/generate.
Just ask Claude: "Generate a word cloud about technology" — it works with all three approaches.
Embed
Drop a word cloud into any webpage with an iframe.
<iframe
src="https://word-cloud.net/embed.html#CONFIG_HASH"
width="800" height="600"
frameborder="0"
style="border:none;"
allowfullscreen
></iframe>
The CONFIG_HASH is an lz-string compressed JSON config. Use the /api/generate endpoint to get ready-to-use embed URLs, or copy one from the app using the Embed Link button.
oEmbed
oEmbed auto-discovery is supported. Platforms like WordPress, Notion, and Slack can automatically embed word clouds when you paste a link.
Try It
// Click "Generate" to see the response
REST API
Three endpoints: one returns shareable URLs, the others return WebP or SVG images directly.
/api/generate
Returns URLs
Returns an editor URL, embed URL, and iframe HTML snippet for the generated word cloud.
curl -X POST https://word-cloud.net/api/generate \
-H 'Content-Type: application/json' \
-d '{"words":[{"text":"Hello","weight":10},{"text":"World","weight":5}]}'
{
"url": "https://word-cloud.net/#...",
"embedUrl": "https://word-cloud.net/embed.html#...",
"embedHtml": "<iframe src=\"...\" width=\"800\" height=\"600\"></iframe>"
}
/api/generate/image
Returns WebP image
Returns a WebP image directly. Uses Skia for pixel-perfect rendering with full Google Fonts support. Also available at /api/generate/png for backwards compatibility.
curl -X POST https://word-cloud.net/api/generate/image \
-H 'Content-Type: application/json' \
-d '{"words":[{"text":"Hello","weight":10},{"text":"World","weight":5}]}' \
-o wordcloud.webp
/api/generate/svg
Returns SVG image
Returns an SVG image directly with embedded Google Fonts support.
curl -X POST https://word-cloud.net/api/generate/svg \
-H 'Content-Type: application/json' \
-d '{"words":[{"text":"Hello","weight":10},{"text":"World","weight":5}]}' \
-o wordcloud.svg
Rate Limit: 1 request per second per IP address. Exceeding this returns HTTP 429.
Parameters Reference
| Parameter | Type | Default | Description |
|---|---|---|---|
words |
array | required | Array of {text, weight} objects |
shape |
string | "landscape" |
landscape, portrait, square |
rotation |
string | "all" |
horizontal, horizontal-vertical, all |
font |
string | "Impact" |
Built-in: Arial, Audiowide, Bangers, Black Ops One, Bungee, Caveat, Chewy, Comic Sans MS, Courier New, Creepster, Dancing Script, Fredoka One, Georgia, Great Vibes, Impact, Lobster, Luckiest Guy, MedievalSharp, Montserrat, Nosifer, Open Sans, Orbitron, Oswald, Pacifico, Passion One, Permanent Marker, Righteous, Roboto, Russo One, Satisfy, UnifrakturMaguntia. Or use any Google Font with googleFontsUrl. |
bold |
boolean | false |
Use bold weight |
colorPalette |
string | "rainbow" |
rainbow, ocean, warm, forest, sunset |
colorMode |
string | "palette" |
palette, bw, white |
customColors |
array | [] |
Custom hex colors array |
backgroundPreset |
string | "None" |
Built-in background image: None, Black, White, Aurora, Chalkboard, Circuit Board, Night Sky, Ocean Gradient, Parchment, Speech Bubble, Sunset Gradient |
backgroundColor |
string | null |
Solid background hex color (e.g. "#1a034f"). Mutually exclusive with gradient. |
gradient |
object | null |
Background gradient. Object with type (linear|radial), direction (to-bottom|to-right|to-bottom-right|to-top-right), and stops array of {color, offset} (offset 0–100). Mutually exclusive with backgroundColor. |
backgroundUrl |
string | null |
URL to a background image (PNG, JPEG, WebP, GIF) |
googleFontsUrl |
string | null |
Google Fonts CSS URL for custom fonts |
mask |
string | "none" |
none, circle, heart, star, diamond, speech-bubble, triangle, cloud, shield, pentagon, hexagon |
maskUrl |
string | null |
URL to a custom mask image. Black areas define where words are placed. |
Full interactive API docs available at /api/docs (Swagger UI).
API Data Use
By using the WordCloud API, you are sending data to word-cloud.net servers for processing. We do not log, store, or record any request data. All data is used transiently and solely for the purpose of generating the requested image, after which it is immediately discarded. No personal data is collected or shared with third parties.