README
🚀 카카오表情包PlayMCP服务器
这是一个用于自动化制作或辅助制作KakaoTalk表情包的MCP(模型上下文协议)服务器。它能够帮助用户更高效地完成表情包的设计、生成和检查等工作,节省时间和精力。
✨ 主要特性
1. 制作前预览(表情包规划预览)
- 在表情包制作前的规划阶段使用。
- 生成KakaoTalk聊天风格的预览页面。
- 在每个表情包位置显示说明文本。
2. 生成(表情包生成)
- 使用Hugging Face API生成AI表情包。
- 基于角色图像制作表情包。
- 如果没有角色图像,系统会自动生成。
- 对于动态表情包,先生成视频,再转换为WebP格式。
3. 制作后预览(成品预览)
- 预览页面包含实际的表情包图像。
- 提供ZIP文件下载功能。
- 点击表情包可放大查看。
4. 检查(表情包检查)
- 检查KakaoTalk表情包的提交规格。
- 验证文件格式、大小、容量和数量。
📦 安装指南
1. 安装依赖项
pip install -r requirements.txt
2. 设置环境变量(可选)
# 服务器设置(可选)
export HOST="0.0.0.0"
export PORT="8000"
export BASE_URL="https://your-server-url.com"
# Redis设置(推荐 - 若不设置则使用内存存储)
export REDIS_URL="redis://localhost:6379"
# 或者如果有密码:
# export REDIS_URL="redis://:password@host:port"
⚠️ 重要提示
Hugging Face令牌需要用户通过Authorization头部或hf_token参数传递,而不是通过环境变量传递。
3. 启动服务器
python server.py
或者
uvicorn server:app --host 0.0.0.0 --port 8000
🔧 技术细节
表情包规格
静态表情包
| 属性 | 详情 | |------|------| | 表情包图片 | 32 张,PNG 格式,360×360 像素,150KB | | 图标图片 | 1 张,PNG 格式,78×78 像素,16KB |
动态表情包
| 属性 | 详情 | |------|------| | 表情包图片 | 24 张,WebP 格式,360×360 像素,650KB | | 图标图片 | 1 张,PNG 格式,78×78 像素,16KB |
大表情包
| 属性 | 详情 | |------|------| | 表情包图片 | 16 张,WebP 格式,540×540 像素 / 300×540 像素 / 540×300 像素,1MB | | 图标图片 | 1 张,PNG 格式,78×78 像素,16KB |
静态迷你表情包
| 属性 | 详情 | |------|------| | 表情包图片 | 42 张,PNG 格式,180×180 像素,100KB |
动态迷你表情包
| 属性 | 详情 | |------|------| | 表情包图片 | 35 张,WebP 格式,180×180 像素,500KB |
Hugging Face令牌认证
若要使用表情包生成(generate工具),需要有Hugging Face API令牌。
通过Authorization头部传递令牌
在HTTP请求的Authorization头部以Bearer令牌的形式传递。
Authorization: Bearer hf_xxxxxxxxxxxxxxxxxxxxx
在PlayMCP中使用时,可以通过PlayMCP的认证设置安全地存储并自动传递令牌。
获取Hugging Face令牌
- 登录 Hugging Face。
- 转到 Settings → Access Tokens。
- 点击 "New token"。
- 输入令牌名称并设置权限(需要 read 权限)。
- 安全保存生成的
hf_xxx...令牌。
Railway部署
1. 创建Railway项目
- 登录 Railway。
- 点击 "New Project"。
- 选择 "Deploy from GitHub repo"。
- 选择此仓库。
2. 设置环境变量(可选)
可以在Railway仪表盘的Variables标签中添加以下环境变量:
| 变量名 | 详情 | 必需 |
|---------|------|------|
| BASE_URL | 已部署服务器的URL(由Railway自动生成) | ❌ |
| REDIS_URL | Redis连接URL(推荐 - 用于数据持久化) | ❌ |
⚠️ 重要提示
PORT由Railway自动设置。Hugging Face令牌需要用户手动传递。
3. 确认部署
- Railway会自动进行构建和部署。
- 通过提供的URL进行访问确认:
https://playmcp-kakaotalk-emoticon.bloupla.net/health
4. 注册PlayMCP
部署后,将MCP SSE端点URL注册到PlayMCP:
https://playmcp-kakaotalk-emoticon.bloupla.net/sse
PlayMCP注册
- 使用Kakao账户登录 PlayMCP。
- 在MCP服务器注册菜单中输入服务器URL。
- 设置Hugging Face账户关联。
- 测试后切换为公开状态。
💻 使用示例
基础用法
制作前预览
{
"emoticon_type": "static",
"title": "可爱的猫咪",
"plans": [
{"description": "打招呼的猫咪", "file_type": "PNG"},
{"description": "困倦的猫咪", "file_type": "PNG"}
]
}
生成
{
"emoticon_type": "static",
"character_image": "data:image/png;base64,...",
"emoticons": [
{"description": "猫咪挥手打招呼的样子", "file_extension": "png"},
{"description": "猫咪闭眼睡觉的样子", "file_extension": "png"}
]
}
制作后预览
{
"emoticon_type": "static",
"title": "可爱的猫咪",
"emoticons": [
{"image_data": "data:image/png;base64,..."},
{"image_data": "data:image/png;base64,..."}
],
"icon": "data:image/png;base64,..."
}
检查
{
"emoticon_type": "static",
"emoticons": [
{"file_data": "base64...", "filename": "emoticon_01.png"}
],
"icon": {"file_data": "base64...", "filename": "icon.png"}
}
高级用法
目前暂无高级用法的相关示例。若有更多复杂的使用场景需求,可根据实际情况对上述基础用法进行扩展和调整。
📚 详细文档
使用的模型
- 图像编辑:Qwen/Qwen-Image-Edit
- 视频生成:Wan-AI/Wan2.1-I2V-14B-480P
- 角色生成:black-forest-labs/FLUX.1-schnell
📄 许可证
本项目采用MIT许可证。
Scan to join WeChat group