Custom Fonts
上传你自己的 TTF / OTF / WOFF2 字体,并在 /v1/image-translate/translate 中以 font="user/<id>" 引用。
概览
在控制台上传你自己的 TTF、OTF 或 WOFF2 字体,然后在任意 /v1/image-translate/translate 请求中传入
font=user/<id>,即可用你的字体而非内置默认字体渲染译文。
使用场景:
- 让翻译后的商品页面与店铺的品牌字体保持一致
- 用读者熟悉的字体渲染韩国网络漫画
- 使用内置字体集中没有的韩文/汉字混合字体
上传
登录后,在控制台侧边栏打开图像翻译字体,拖入 TTF / OTF / WOFF2 文件,填写显示名称并上传。控制台会显示每个字体的
user/<id> 引用以及它能渲染的文字体系。
使用自定义字体渲染
在 /v1/image-translate/translate 上以查询参数传入 font=user/<id>。请求体仍是原始图片字节:
curl -X POST "https://gateway.apinoa.com/v1/image-translate/translate?source_language=zh-CN&target_language=ko&font=user/fxa9b21c0c8f&font_weight=Bold" \
-H "x-api-key: $APINOA_API_KEY" \
-H "Content-Type: image/jpeg" \
--data-binary @product.jpg \
-o translated.jpg字形覆盖检查
如果你请求 target_language=ko 却使用仅含拉丁字母的字体,请求会在任何渲染工作开始前被拒绝:
{
"success": false,
"error": {
"code": "FONT_GLYPH_COVERAGE",
"message": "font does not contain glyphs for hangul (required for target_lang=ko). Upload a font that supports this script."
}
}该检查将 target_language 映射到所需的文字体系:
target_language | 所需文字体系 |
|---|---|
| ko | hangul |
| ja | kana |
| zh, zh-CN, zh-TW | han |
| ru | cyrillic |
| en, fr, de, es, pt, it, vi, id, ms | latin |
| he | hebrew |
| ar | arabic |
如果你的目标语言不在列表中,则不进行检查。
列出你的字体
/v1/image-translate/supported-fonts 会将你上传的字体与内置字体一并返回。每个字体都带有一个
glyphCoverage 映射,表示它能渲染的文字体系——可据此决定为每种目标语言提供哪些字体:
curl https://gateway.apinoa.com/v1/image-translate/supported-fonts \
-H "x-api-key: $APINOA_API_KEY"{
"fontsByLanguage": { ... },
"defaultByLanguage": { ... },
"allFonts": [...],
"userFonts": [
{
"id": "fxa9b21c0c8f",
"ref": "user/fxa9b21c0c8f",
"displayName": "Pretendard Bold (storefront)",
"family": "Pretendard",
"weight": 700,
"italic": false,
"format": "ttf",
"glyphCoverage": { "latin": true, "hangul": true }
}
]
}限制
- 文件大小上限:每次上传 10 MiB
- 接受的格式:TTF、OTF、WOFF2(TTC/OTC 字体集合会被拒绝——请将各个样式分别上传)
- 每位用户的软上限为 50 个字体——如需更多,请发送邮件至 hello@apinoa.com
删除字体
在控制台 > 图像翻译字体中删除字体。仍引用该字体的请求会以 FONT_NOT_READY 失败,直到你将其切换为其他字体。
错误
以下错误由 /v1/image-translate/translate 在收到 user/<id> 字体时返回。文件本身的问题——大小、格式、
没有可用字形的字体——会在你上传时于控制台中报告。
| 代码 | 含义 |
|---|---|
FONT_NOT_FOUND | user/<id> 不存在,或不是你的字体 |
FONT_NOT_READY | 该字体已被删除或被拒绝 |
FONT_GLYPH_COVERAGE | 该字体缺少目标语言文字体系的字形 |