---
title: "Supported Fonts"
description: "The fonts and weights Translate accepts, the default font per target language, and the source-language codes it reads."
---

> Every apinoa docs page as markdown: https://apinoa.com/llms.txt (all in one file: https://apinoa.com/llms-full.txt; this API family in one file: https://apinoa.com/docs/image-translate/llms.txt)

```http
GET /v1/image-translate/supported-fonts
```

Returns the live list of values [Translate](/docs/api-reference/image-translate/translate) accepts: which
fonts cover each target language, the default font for each, every `font_weight`, every `source_language`,
and the fonts you have uploaded. Call it at startup and cache the result: the list rarely changes, but
fonts are added over time.

## Request

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

```js tab="JavaScript"
const res = await fetch("https://gateway.apinoa.com/v1/image-translate/supported-fonts", {
  headers: { "x-api-key": process.env.APINOA_API_KEY },
});
const { data } = await res.json();
const font = data.defaultByLanguage["ko"] ?? data.allFonts[0];
```

```python tab="Python"
import os

import requests

res = requests.get(
    "https://gateway.apinoa.com/v1/image-translate/supported-fonts",
    headers={"x-api-key": os.environ["APINOA_API_KEY"]},
    timeout=10,
)
data = res.json()["data"]
font = data["defaultByLanguage"].get("ko", data["allFonts"][0])
```

## Parameters

None. Send only your API key in the `x-api-key` header.

## Response

A real response, shortened to four of its 36 languages:

```json
{
  "success": true,
  "requestId": "547bebcbd167416c9d1097bc132e2194",
  "data": {
    "fontsByLanguage": {
      "ko": ["BMHANNAPro", "NotoSansKR", "Pretendard"],
      "zh-CN": ["NotoSansSC"],
      "ja": ["NotoSansKR", "NotoSansSC", "Pretendard"],
      "en": ["Pretendard", "NotoSansKR", "NotoSansSC"]
    },
    "defaultByLanguage": {
      "ko": "BMHANNAPro",
      "zh-CN": "NotoSansSC",
      "ja": "NotoSansKR",
      "en": "Pretendard"
    },
    "allFonts": ["BMHANNAPro", "NotoSansKR", "NotoSansSC", "Pretendard"],
    "allWeights": ["auto", "Thin", "Light", "Regular", "Medium", "SemiBold", "Bold", "ExtraBold", "Black"],
    "supportedSourceLanguages": ["auto", "ch", "zh", "zh-CN", "zh-TW", "chinese_cht", "ja", "japan", "en"],
    "userFonts": []
  }
}
```

| Field | Type | Meaning |
|---|---|---|
| `fontsByLanguage` | object | For each target language, the fonts that cover it. The first is its default. An empty list means no bundled font covers that script. |
| `defaultByLanguage` | object | Target language → its default font (the first entry of `fontsByLanguage`). |
| `allFonts` | string[] | Every value `font` accepts on Translate. |
| `allWeights` | string[] | Every value `font_weight` accepts on Translate. |
| `supportedSourceLanguages` | string[] | Every value `source_language` accepts on Translate and OCR. `auto` detects it. |
| `userFonts` | array | The fonts you have uploaded; see [Custom Fonts](/docs/api-reference/image-translate/custom-fonts). |

## Errors

| Status | Code | Meaning |
|---|---|---|
| 401 | `UNAUTHORIZED` | The `x-api-key` header is missing, or the key is invalid. |

Every code is listed in [Errors](/docs/errors).

## Pricing

Free. This call is not billed.
