核心用法
Excalidraw Canvas 是一个基于 Excalidraw 开源库的托管 API 服务,允许用户通过 JSON 描述生成手绘风格的技术图表,并输出为 PNG 格式。用户需构造包含多种元素类型的 JSON 数组,通过 HTTP POST 发送至 https://excalidraw-mcp.up.railway.app/api/render。
支持的元素类型:
- 基础形状:
rectangle(矩形)、ellipse(椭圆)、diamond(菱形),支持自定义填充色、边框色和内部标签 - 文本:
text类型,可指定字体大小 - 连线:
arrow(箭头)和line(直线),通过相对坐标点数组定义路径 - 手绘:
freedraw支持自由路径绘制
API 返回三项关键数据:成功状态、Base64 编码的 PNG 图像、以及可在线编辑的 editUrl。后者是重要特性——用户接收静态图片的同时,保留了在完整 Excalidraw 编辑器中二次修改的能力。
显著优点
1. 零客户端依赖:纯 API 调用,无需安装任何软件或浏览器扩展
2. 风格统一:继承 Excalidraw 标志性的手绘美学,技术图表更具亲和力
3. 可编辑性闭环:生成图片 ≠ 终点,editUrl 实现了"交付-迭代"的完整工作流
4. 轻量集成:标准 HTTP + JSON,任何支持 curl 的环境均可使用
潜在缺点与局限
1. 坐标系统复杂:元素定位和箭头路径依赖相对坐标,手动构造 JSON 易出错,文档也特别提示"务必反复检查坐标"
2. 托管服务风险:部署在 Railway 免费/低价 tier,存在稳定性、速率限制或长期维护的不确定性
3. 无交互编辑:与原生 Excalidraw 相比,纯 JSON 驱动的方式牺牲了拖拽式创作的即时反馈
4. 自定义受限:仅暴露有限的样式属性(颜色、尺寸),无法调整字体族、线型粗细等高级参数
适合人群
- 需要在自动化脚本、CI/CD 或 CLI 工具中批量生成架构图的开发者
- 希望在 Markdown 文档、Issue 或 PR 中嵌入可迭代图表的技术写作者
- 构建 AI Agent 或 MCP (Model Context Protocol) 工具链,需要"代码→可视化"能力的集成方
常规风险
- 数据外泄:图表内容以明文 JSON 发送至第三方服务器,敏感架构信息需谨慎评估
- 服务可用性:Railway hobby 项目的持久性无 SLA 保障,生产环境建议自建 Excalidraw 实例或使用官方导出方案
- Base64 处理开销:大图表可能产生巨量 JSON 响应,需合理设置超时(示例中为 60 秒)
- URL 失效风险:editUrl 的长期有效性未明确说明,关键图表应及时下载备份