Apinoa Docs

Supported Fonts

List the fonts and weights available for the Image Translate endpoint, plus the source-language codes the OCR step accepts.

View raw .mdx

Endpoint

GET /v1/image-translate/supported-fonts

Returns the live registry of valid values for the /translate endpoint:

  • which fonts cover each target language,
  • the default font per target language,
  • every font_weight value the renderer accepts,
  • every source_language code the OCR step accepts.

API-key authentication is required. This endpoint is free; it is not billed.

Call it on startup and cache the result — fonts and weights rarely change, but new ones are added over time.

Request

No parameters. Just send your API key.

Response

{
  "success": true,
  "requestId": "550e8400e29b41d4a716446655440000",
  "data": {
    "fontsByLanguage": {
      "ko":    ["Pretendard", "BMHANNAPro", "NotoSansKR"],
      "zh-CN": ["NotoSansSC"],
      "zh-TW": ["NotoSansSC"],
      "ja":    ["NotoSansKR", "NotoSansSC", "Pretendard"],
      "en":    ["Pretendard", "NotoSansKR", "NotoSansSC"]
    },
    "defaultByLanguage": {
      "ko":    "Pretendard",
      "zh-CN": "NotoSansSC",
      "ja":    "NotoSansKR",
      "en":    "Pretendard"
    },
    "allFonts": ["Pretendard", "BMHANNAPro", "NotoSansKR", "NotoSansSC"],
    "allWeights": [
      "auto", "Thin", "Light", "Regular", "Medium",
      "SemiBold", "Bold", "ExtraBold", "Black"
    ],
    "supportedSourceLanguages": [
      "auto", "ch", "zh", "zh-CN", "zh-TW", "chinese_cht",
      "ja", "japan", "en"
    ]
  }
}
FieldTypeDescription
fontsByLanguageobjectPer-target-language list of fonts whose glyph coverage is sufficient for that language. The first entry is the default.
defaultByLanguageobjectConvenience map: target language → default font (first entry of fontsByLanguage[target]).
allFontsstring[]Every valid value of the font parameter on /translate.
allWeightsstring[]Every valid value of the font_weight parameter on /translate.
supportedSourceLanguagesstring[]Every valid value of the source_language parameter on /translate and /ocr. auto detects the language.

Targets not listed in fontsByLanguage may render with reduced fidelity — pick a target that appears in the live response for best results.

Examples

cURL

curl -H "x-api-key: $APINOA_API_KEY" \
  https://gateway.apinoa.com/v1/image-translate/supported-fonts

Python — pick the default font for the user's target language

import requests

cfg = requests.get(
    "https://gateway.apinoa.com/v1/image-translate/supported-fonts",
    headers={"x-api-key": "YOUR_API_KEY"},
    timeout=10,
).json()["data"]

target = "ko"
font = cfg["defaultByLanguage"].get(target, cfg["allFonts"][0])
print(f"Use font={font!r} for target_language={target!r}")

Node.js / TypeScript — validate user input before calling /translate

const cfg = await fetch(
  "https://gateway.apinoa.com/v1/image-translate/supported-fonts",
  { headers: { "x-api-key": process.env.APINOA_API_KEY! } },
).then((r) => r.json());

const { allFonts, allWeights, supportedSourceLanguages } = cfg.data;

function pickFont(target: string, requested?: string): string {
  if (requested && allFonts.includes(requested)) return requested;
  return cfg.data.defaultByLanguage[target] ?? allFonts[0];
}

Errors

CodeHTTPWhen
UNAUTHORIZED401Missing or invalid API key

Pricing

Free; not billed.

On this page