Curvioo

API

Curvioo API

一个只读的 HTTP 接口,把文本转成带样式的 Unicode 字符。不需要密钥、不需要注册、不使用 Cookie —— GET 一个 URL,读 JSON 即可。CORS 对所有来源开放,可以直接在浏览器里调用。

接口列表

GET /api/v1/health 健康检查,返回服务名、版本和时间戳。
GET /api/v1/styles 返回全部字体样式、全部 Unicode 映射和示例输出,可加 ?sample=。
GET /api/v1/styles/<text> 同上,示例文本取自路径。
GET /api/v1/transform/<text> 把文本转换成全部样式。
GET /api/v1/transform/<style>/<text> 只返回指定的一个样式。
GET /api/v1/transform/b64/<base64url> 文本含空格、斜杠或表情时用这个。
GET /api/v1/transform?text=... 查询参数形式,支持下面所有参数。
POST /api/v1/transform JSON 或表单请求体,参数相同。

参数

GET 用查询字符串,POST 用 JSON 或表单。路径形式同样会读取查询字符串里的 formatunicode

text 1–2000 个字符 要转换的文本。必填;路径形式下从 URL 里取。
style great-vibes, allura, pinyon, sacramento, dancing, parisienne, alex-brush, homemade-apple, caveat, kaushan 只返回一个字体样式而不是全部十个。ID 写错会返回 400。
unicode script, boldScript, fraktur, bold, italic, boldItalic, sans, sansBold, monospace, boldFraktur 指定 unicodeText 使用哪一套 Unicode 映射,可选。
format json(默认)、plain、html plain 直接返回纯文本;html 返回一个 <span>,且必须同时指定 style。

接入前必读

  • API 只返回文本,不返回图片。PNG 和 SVG 导出是生成器的浏览器端功能, 需要授权字体和 canvas 才能渲染,所以没有出图接口。
  • 十个字体样式只对应两套 Unicode 映射。六个用 script、 四个用 boldScript,所以不同样式的 unicodeText 会重复; 样式之间真正的差异在 fontFamily。想要十种明显不同的输出, 请用 unicode= 参数在上面 10 套映射里选。
  • 只转换字母。只有 boldsanssansBoldmonospace 有数字;带音标的字母、标点、表情 和非拉丁文字(中文、西里尔、阿拉伯)在所有映射里都原样返回。
  • 限额:每个 IP 每个 UTC 自然日 1,000 次。 每个响应都带 X-RateLimit-LimitX-RateLimit-RemainingX-RateLimit-Reset

响应字段

外层是 { ok, input, count, requestedStyle, results[] }results 里每一项包含:

unicodeText 转换后的字符。这是可以直接粘贴到简介、评论、用户名里的内容——它是普通 Unicode 字符,不是字体。
fontText 原样返回你的输入。配合 fontFamily 在你自己的页面里渲染真正的花体字。
fontFamily 该样式对应的网络字体,例如 "Great Vibes", cursive。字体需要你自己加载。
unicodeStyle unicodeText 实际使用的映射名称。
htmlSnippet 一段现成的 <span>,已使用 fontFamily 且对文本做了 HTML 转义。

错误

失败时返回 { ok: false, error: { message, details } }。 ID 写错时 details.supported 会列出所有合法取值。

400 文本为空或超长、style 不存在、unicode 变体不存在、base64url 非法,或 format=html 时没给 style。
429 同一 IP 在一个 UTC 自然日内超过 1000 次请求。Retry-After 和 X-RateLimit-Reset 给出需要等待的秒数。
500 我们这边的 bug,响应体为空,欢迎反馈。

示例

# 全部样式,完整 JSON
curl "https://curvioo.com/api/v1/transform/Michael"

# 单个样式,纯文本
curl "https://curvioo.com/api/v1/transform/great-vibes/Michael?format=plain"

# 自己指定 Unicode 映射
curl "https://curvioo.com/api/v1/transform/Michael?unicode=fraktur&format=plain"

# 含空格或符号的文本:用 base64url,或改用 POST
curl "https://curvioo.com/api/v1/transform/b64/SGVsbG8gV29ybGQ?format=plain"
curl -X POST https://curvioo.com/api/v1/transform \
  -H 'Content-Type: application/json' \
  -d '{"text":"Hello World","style":"dancing","format":"plain"}'

使用指南

文档页讲的是生成器本身:什么场景该用哪种输出,以及粘贴后显示异常时怎么排查。

打开文档