Developer API & MCP
Use Beaut1fy from your editor or scripts. Same credits as the iOS/Android app — no Beaut1fy desktop install.
Get started
- Sign in to the Beaut1fy app and open Usage → MCP.
- Create an API key (shown once — copy it before closing).
- Paste the config below into your MCP client and restart.
MCP endpoint: https://beaut1fy.web.app/v1/mcp
AI Agent Skill (optional)
A portable SKILL.md bundle that teaches your coding agent when to call text_beautify, text_improve, text_emojis, and text_remove_emojis — works with Cursor, Claude Code, Codex, and other MCP-capable agents.
Install — unzip so the folder contains SKILL.md:
| Client | Project | Global |
|---|---|---|
| Cursor | .cursor/skills/beaut1fy-mcp-and-api/ | ~/.cursor/skills/beaut1fy-mcp-and-api/ |
| Claude Code | .claude/skills/beaut1fy-mcp-and-api/ | ~/.claude/skills/beaut1fy-mcp-and-api/ |
| Codex | .agents/skills/beaut1fy-mcp-and-api/ | see Codex docs for agent skills |
Restart the client or reopen the project. MCP setup (API key + config below) is still required. Claude Desktop has no agent skills — MCP alone is enough there. Cloning the Beaut1fy repo includes this skill under .cursor/skills/.
Cursor
Add to .cursor/mcp.json in your project.
{
"mcpServers": {
"beaut1fy": {
"url": "https://beaut1fy.web.app/v1/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Claude Desktop (macOS)
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"beaut1fy": {
"url": "https://beaut1fy.web.app/v1/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Direct API
POST /v1/beautify with your API key for scripts.
curl -sS -X POST "https://beaut1fy.web.app/v1/beautify" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hey can u send the deck tmrw thx","mode":"beautify"}'
API reference
Base URL: https://beaut1fy.web.app
Endpoint
POST /v1/beautify — refine text (same pipeline as the app and MCP).
- Auth:
Authorization: Bearer bf_live_<keyId>_<secret> - Content-Type:
application/json - Rate limit: 30 requests/min per account (MCP and REST share the beautify bucket family)
Request body
| Field | Type | Default | Notes |
|---|---|---|---|
text | string | — | Required. Max ~40k characters. |
mode | string | beautify | beautify, improve, emojis, remove_emojis |
pro | boolean | false | Pro model — more credits per token |
emojis | boolean | false | Add emojis on beautify / improve (does not remove existing emojis) |
intensity | string | normal | low … max — improve mode only |
writingVariant | string | Auto (omit) | BCP-47 tag, e.g. en-GB, en-US — improve mode only |
writingTone | string | normal | e.g. professional, friendly, police — improve mode only |
emojiIntensity | string | normal | low … max — emojis mode or emojis: true |
Modes
| mode | What it does |
|---|---|
beautify | Light polish — clarity and naturalness, meaning preserved |
improve | Stronger rewrite — clearer structure, more professional tone |
emojis | Keep wording, add fitting emojis |
remove_emojis | Strip all emojis, keep wording intact |
Response
{
"text": "...",
"creditsUsed": 1.22,
"remainingCredits": 133.88,
"usage": { "inputTokens": 46, "outputTokens": 15, "totalTokens": 61 },
"unchanged": true
}
unchanged is present when no credits were charged (output matched input).
Examples
Beautify
curl -sS -X POST "https://beaut1fy.web.app/v1/beautify" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hey can u send the deck tmrw thx","mode":"beautify"}'
Beautify + emojis
curl -sS -X POST "https://beaut1fy.web.app/v1/beautify" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"gute nacht","mode":"beautify","emojis":true,"emojiIntensity":"normal"}'
Improve + intensity
curl -sS -X POST "https://beaut1fy.web.app/v1/beautify" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hallo wie gehts","mode":"improve","intensity":"high"}'
Improve + British English
curl -sS -X POST "https://beaut1fy.web.app/v1/beautify" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hello how are you","mode":"improve","writingVariant":"en-GB"}'
Emojis (max intensity)
curl -sS -X POST "https://beaut1fy.web.app/v1/beautify" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"gute nacht","mode":"emojis","emojiIntensity":"max"}'
Remove emojis
curl -sS -X POST "https://beaut1fy.web.app/v1/beautify" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hallo 👋 wie gehts 😊","mode":"remove_emojis"}'
Improve + Pro + emojis
curl -sS -X POST "https://beaut1fy.web.app/v1/beautify" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"gute nacht","mode":"improve","pro":true,"emojis":true,"intensity":"normal","emojiIntensity":"normal"}'
MCP tools
MCP clients call tools/call with these tool names (mode is set automatically):
| Tool | Use when | Optional args |
|---|---|---|
text_beautify | Light polish / fix grammar | emojis, emojiIntensity, pro |
text_improve | Stronger rewrite / formalize | intensity, emojis, emojiIntensity, pro, writingVariant, writingTone |
text_emojis | Add emojis, keep wording | emojiIntensity |
text_remove_emojis | Strip emojis from text | — |
beautify_text | Legacy — pass mode yourself | all REST fields |
Security
- API keys are stored hashed on our servers; only a prefix is shown after creation.
- Anyone with your key can spend your credits — revoke compromised keys in Usage → MCP.
- MCP and API requests use the same processing and privacy rules as the app.
