开发者 · REST v1

YoFont API/MCP

用代码生成字体、拉取字形、打理分发。和网页版同一套引擎,一个 bearer token 就能接入。

// 身份验证

每个请求都要在 Authorization 标头里带上 bearer token,切记只放在服务端。

登录即可生成可用的 API 密钥 — 完全免费,所有套餐都含 API 访问权限。

// 速率限制

请求限额按每个 API 密钥单独计算,超出后会返回 429 Too Many Requests ,并附带 Retry-After. 限速随套餐等级提升:

创建字体 · 其余接口
Starter60 · 600 / 分钟
Pro200 · 2 000 / 分钟
Agency600 · 6 000 / 分钟

需要更高的吞吐量? 升级套餐.

POST/api/public/generate

用一段文字提示词(也可搭配参考图)生成完整字族。接口会返回一个任务,轮询它就能知道有没有完成。

prompt必填用大白话描述你想要的字体。 Optional when reference_image_url is set.
reference_image_url风格参考图(PNG/JPG/WEBP)— 需要一个可公开访问的直链。我们不会保存它,只会原样转发给渲染引擎,跟 Figma/Chrome 插件截图转字体的做法一样。
languagesISO 代码数组 — 默认为 ["en"]. Two-letter ISO codes, full list: GET /api/public/languages.
weights例如 ["normal","bold","thin"].
glyph_typesletters · digits · punct · special (default all).
model_tierstandard (Epicur ×1) · pro (Spinoza ×3) · ultra (Nietzsche ×5).

                
200已接受 — 返回 { success, link, task_id, glyphs_charged, status_url }
// Response JSON

                
402字形已用完 — 请到套餐页充值
GET/api/public/status?link=…

查询字体状态,并拿到下载链接(TTF / WOFF2 / 可变字体)。

// Request

                
// Response JSON

                
GET/api/public/download?link=…

按指定格式(ttf/otf/woff/woff2)下载已生成好的字体文件 — 和 Studio 里下载按钮拿到的是同一个文件。

// Request

                
// Response

                
GET/api/public/languages

每一种支持的 ISO-2 语言代码,附带各文字系统的字形数量和书写方向 — 用它来拼出合法的 "languages" 数组。

// Request

                
// Response JSON

                
GET/api/public/fonts

你最近 100 个字体任务 — 状态、模型、来源,以及每个字体页面的链接。

// Request

                
// Response JSON

                
// 轮询

生成是异步的。POST 到 generate 之后,轮询 GET /api/public/status?link=… ,每隔几秒查一次,直到状态变成 font_ready(或 failed)。

statusqueued · 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"
}