---
title: "지원 폰트 목록"
description: "이미지 번역 엔드포인트에서 사용 가능한 폰트 · 굵기, 그리고 OCR 단계가 받는 원본 언어 코드 목록을 반환합니다."
---

## 엔드포인트

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

[`/translate`](./translate) 호출에 유효한 값들의 라이브 레지스트리를 반환합니다.

- 대상 언어별로 사용 가능한 폰트
- 대상 언어별 기본 폰트
- 렌더러가 받는 모든 `font_weight` 값
- OCR 단계가 받는 모든 `source_language` 코드

API 키 인증이 필요합니다. 이 엔드포인트는 무료이며 과금되지 않습니다.

기동 시 한 번 호출해 캐시해 두기를 권장합니다. 폰트 · 굵기 목록은 자주 바뀌지는 않지만, 시간이 지나며 새로운 항목이 추가됩니다.

## 요청

파라미터 없음. API 키만 헤더에 실어 보내세요.

## 응답

```json
{
  "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"
    ]
  }
}
```

| 필드 | 타입 | 설명 |
|-------|------|-----|
| `fontsByLanguage` | object | 대상 언어별로 글리프 커버리지가 충분한 폰트 목록. 첫 항목이 기본값. |
| `defaultByLanguage` | object | 대상 언어 → 기본 폰트 (각 언어 첫 항목) 편의 매핑. |
| `allFonts` | string[] | `/translate` 의 `font` 파라미터에 사용 가능한 모든 값. |
| `allWeights` | string[] | `/translate` 의 `font_weight` 파라미터에 사용 가능한 모든 값. |
| `supportedSourceLanguages` | string[] | `/translate` · `/ocr` 의 `source_language` 에 사용 가능한 모든 값. `auto` 는 언어를 자동으로 감지합니다. |

`fontsByLanguage` 에 없는 대상 언어는 시각 품질이 떨어질 수 있습니다 — 가능한 경우 응답에 등장하는 대상 언어를 사용하세요.

## 예제

### cURL

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

### Python — 사용자의 대상 언어에 맞는 기본 폰트 선택

```python
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"target_language={target!r} 에 대해 font={font!r} 사용")
```

### Node.js / TypeScript — `/translate` 호출 전 입력값 검증

```typescript
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];
}
```

## 에러

| 코드 | HTTP | 상황 |
|------|------|-----|
| `UNAUTHORIZED` | 401 | API 키 누락/오류 |

## 요금

무료이며 과금되지 않습니다.

<ApiTester endpoint="/v1/image-translate/supported-fonts" method="GET" description="API 키로 직접 테스트" />
