用代码生成字体、拉取字形、打理分发。和网页版同一套引擎,一个 bearer token 就能接入。
每个请求都要在 Authorization 标头里带上 bearer token,切记只放在服务端。
登录即可生成可用的 API 密钥 — 完全免费,所有套餐都含 API 访问权限。
登录即可拿到你的密钥请求限额按每个 API 密钥单独计算,超出后会返回 429 Too Many Requests ,并附带 Retry-After. 限速随套餐等级提升:
| 创建字体 · 其余接口 | |
| Starter | 60 · 600 / 分钟 |
| Pro | 200 · 2 000 / 分钟 |
| Agency | 600 · 6 000 / 分钟 |
需要更高的吞吐量? 升级套餐.
用一段文字提示词(也可搭配参考图)生成完整字族。接口会返回一个任务,轮询它就能知道有没有完成。
| prompt必填 | 用大白话描述你想要的字体。 Optional when reference_image_url is set. |
| reference_image_url | 风格参考图(PNG/JPG/WEBP)— 需要一个可公开访问的直链。我们不会保存它,只会原样转发给渲染引擎,跟 Figma/Chrome 插件截图转字体的做法一样。 |
| languages | ISO 代码数组 — 默认为 ["en"]. Two-letter ISO codes, full list: GET /api/public/languages. |
| weights | 例如 ["normal","bold","thin"]. |
| glyph_types | letters · digits · punct · special (default all). |
| model_tier | standard (Epicur ×1) · pro (Spinoza ×3) · ultra (Nietzsche ×5). |
查询字体状态,并拿到下载链接(TTF / WOFF2 / 可变字体)。
按指定格式(ttf/otf/woff/woff2)下载已生成好的字体文件 — 和 Studio 里下载按钮拿到的是同一个文件。
每一种支持的 ISO-2 语言代码,附带各文字系统的字形数量和书写方向 — 用它来拼出合法的 "languages" 数组。
你最近 100 个字体任务 — 状态、模型、来源,以及每个字体页面的链接。
生成是异步的。POST 到 generate 之后,轮询 GET /api/public/status?link=… ,每隔几秒查一次,直到状态变成 font_ready(或 failed)。
| status | queued · processing · font_ready · failed |
| progress | { total, completed, failed } — 已完成多少字形图集 |
| fonts | 直接的 ttf/otf/woff/woff2 链接,会在以下条件满足后出现: status = font_ready. |
每 3–5 秒轮询一次就够用了 — 一整套字族通常几分钟内就能做完。字体文件链接是静态的,一旦返回就不需要认证。
所有错误都采用统一的 JSON 结构: { "success": false, "error": "…" }.
| 400 | 请求有误 — 字段有缺失或不合法,请查看 error 字段了解详情。 |
| 401 | 未授权 — 缺少或无效的 Authorization 标头。 |
| 402 | 需要付费 — 字形额度已用完,请到套餐页充值。 |
| 403 | 禁止访问 — 该链接属于其他账户。 |
| 404 | 未找到 — 该字体 ID 不存在,或属于别的账户。 |
| 429 | 请求过于频繁 — 已触发限流,请参考响应里的 Retry-After. |
| 500 | 服务器内部错误 — 我们这边出了点岔子。一般过几秒再试一次就好。 |
{
"success": false,
"error": "Not enough glyphs. Top up: https://yofont.com/plans"
}
MCP(Model Context Protocol)让 Claude Code、Cursor、Codex 这类 AI 编程助手能在工作过程中直接调用 YoFont:对话中途生成字体,等它构建完成,再把文件直接放进你的项目 — 不用手动敲 curl 命令。
每一次 MCP 工具调用,本质上都只是 API 标签页里那些 REST 接口的一层透明封装 — 认证方式、限速规则、参数校验完全一致。MCP 服务器做的事,REST 文档里都写得清清楚楚。
复制下面的提示词,粘贴到 Claude Code、Cursor 或 Codex 里。你的助手会自己注册并验证 YoFont 的 MCP 服务器 — 不用手动改配置文件。
在 API 标签页的「身份验证」部分获取你的密钥。
把你的 MCP 客户端指向 https://yofont.com/api/public/mcp. 走 Streamable HTTP 传输(JSON 响应模式)— 每次调用就是一个 JSON-RPC 2.0 请求,不需要维护会话或长连接。
| 传输方式 | Streamable HTTP(POST 上的 JSON-RPC 2.0)。方法:initialize、ping、tools/list、tools/call。 |
| 认证 | 和 REST API 用同一个密钥 — 每次请求都作为请求头带上: Authorization: Bearer yf_live_.... |
一共五个工具,和 API 标签页上的 REST 接口一一对应 — MCP 里没有任何 REST 里找不到的东西。
根据提示词和/或参考图生成一套全新的字族。会立即返回一个可轮询的链接 — 这是个异步任务,不会阻塞等待。
| prompt | 大白话风格描述。如果提供了 reference_image_url,这一项可以省略。 |
| reference_image_url | 公开可访问的图片直链 — 只要调用时能被公开抓取到就行。 |
| languages, weights, glyph_types, model_tier | 参数结构和默认值跟 REST 接口一致 — 详见 API 标签页的「创建字体」部分。 |
查询字体任务的构建进度。就绪后会直接返回 ttf/otf/woff/woff2 链接 — 直接下载即可,不需要认证。
| link必填 | generate_font 返回的字体链接。 |
把字体文件的字节内容作为 MCP 资源直接返回,方便你的助手直接写到项目磁盘上。如果文件异常大,会退回成一个普通链接。
| link必填 | generate_font 返回的字体链接。 |
| format | ttf · otf · woff · woff2 — default ttf. |
列出所有支持的 ISO-2 语言代码,附带字形数量和书写方向 — 用它来拼出合法的 languages 数组。
列出你最近 100 个字体任务 — 状态、模型、来源,以及每个字体页面的链接。
MCP 工具的效果完全取决于背后的提示词。下面这些写法稳定出好结果:
"给一款儿童教育类应用生成一款友好、圆润的无衬线字体,支持英语和西班牙语,包含 normal 和 bold 字重 — 然后把 ttf 文件存到 ./public/fonts 里。"
把风格、语言、字重、存放位置都说清楚了 — 助手可以自己跑完整个流程,不用你盯着。
"这是我们旧 logo 的截图:https://example.com/logo.png — 生成一款风格匹配的展示字体,质量选 ultra,只要英语。"
要还原一个具体的既有风格,参考图比一堆形容词管用得多 — 首屏/展示用的字体,model_tier: ultra 这个投入值得。
"帮我查一下字体 8WeheWlTl 的状态,好了就告诉我,再把 woff2 链接给我。"
简单的轮询加汇报 — 适合用来查看这次对话里之前发起的任务。
"YoFont 支持哪些西里尔字母和希腊语系的语言?我需要一款覆盖俄语、乌克兰语和希腊语的字体。"
让助手调用 list_languages,而不是凭记忆瞎猜 ISO 代码 — 免得因为代码打错字,导致 generate_font 调用失败。
"根据这张参考图生成一款几何风格的展示字体,等它做完,下载 ttf,作为自定义 font-face 加到我们的 Tailwind 配置里。"
一句话串起三个工具 — 生成 → 轮询 → 下载 — 并且给了助手一个明确的下一步。
"把我所有的字体列出来,告诉我哪些还在排队、哪些失败了。"
不用打开控制台,就能对整个项目做一次状态巡检。
你只需要提一次需求,就能触发整条流水线 — 轮询循环全交给助手处理,你只用看结果。