API 문서
imagetranslate.ai 공개 REST API. Bearer 토큰으로 인증한 뒤 base64 이미지를 전송하면 번역된 이미지로 응답합니다.
이미지 속 텍스트를 번역하고 원본 레이아웃을 그대로 유지한 채 이미지에 다시 렌더링하여 반환합니다.
빠른 시작
API key 발급
API Keys 페이지에서 생성합니다.
응답 처리
response.resultImage 는 data:image/png;base64, 접두사가 붙은 base64 PNG 입니다(HTTP URL 이 아닙니다). 브라우저에서는 <img src={response.resultImage} /> 로 바로 표시할 수 있으며, 파일로 저장할 때는 접두사를 제거한 뒤 base64 를 디코딩합니다.
인증
모든 요청의 Authorization 헤더에 API key 를 Bearer 토큰 형식으로 포함해야 합니다.
API key 는 sk_imagetranslate_ 접두사가 붙은 32 바이트 랜덤 문자열입니다. 비밀번호와 동일하게 취급하여 서버 측 시크릿 매니저에 보관하고, 코드 저장소에 커밋하거나 프론트엔드 코드에 노출해서는 안 됩니다.
멱등성
네트워크 타임아웃 후 요청을 재시도할 때 동일한 Idempotency-Key 헤더를 함께 전송하면 크레딧이 중복 차감되지 않습니다.
- 특정 키로 보낸 첫 호출: 정상적으로 처리됩니다.
- 동일한 키로 보낸 이후 호출(API key 단위):
409 Conflict와 함께 최초의recordId를 반환합니다. 재시도 시 크레딧이 차감되지 않습니다. - 키가 다르면 별개의 호출로 처리됩니다.
키는 클라이언트에서 생성하며 UUIDv4 면 충분합니다. 키를 보내지 않으면 재시도마다 크레딧이 새로 차감되고 Torii 가 다시 실행됩니다.
이미지 번역
동기식 엔드포인트입니다. base64 로 인코딩된 번역 이미지를 반환하며, data:image/png;base64, 접두사가 포함됩니다.
Base URL
요청 본문
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
imageBase64 | string | 예 | base64 로 인코딩한 이미지. 순수 base64 문자열과 완전한 data URL(data:image/png;base64,...) 모두 허용됩니다. 디코딩 후 최대 20MB. |
sourceLanguage | string | 예 | ISO 언어 코드 또는 auto(자동 감지). 언어 코드 참고. |
targetLanguage | string | 예 | ISO 언어 코드. 언어 코드 참고. |
mode | string | 아니오 | 렌더링 스타일. 기본값은 general 입니다. mode 값 참고. |
translator | string | 아니오 | 번역 모델. 기본값은 grok-4 입니다. translator 모델 참고. |
customPrompt | string | 아니오 | 모델에 전달할 추가 지시문. 최대 1000 자. |
응답
| 필드 | 타입 | 설명 |
|---|---|---|
success | boolean | 번역 성공 시 true. |
recordId | string | 호출별 고유 로그 ID. 문제가 발생하면 고객 지원팀에 전달해 주십시오. |
resultImage | string | 번역된 이미지. base64 로 인코딩되며 data:image/png;base64, 접두사가 포함됩니다(HTTP URL 이 아닙니다). <img src={...} /> 로 바로 렌더링하거나, 접두사를 제거한 뒤 base64 를 디코딩해 파일로 저장합니다. |
remainingCredit | number | 차감 후 남은 advanced credit. |
예제
응답 예시
오류 코드
| Status | 의미 |
|---|---|
400 | 요청 형식 오류 또는 imageBase64 가 유효한 base64 가 아닙니다. |
401 | API key 가 누락되었거나 유효하지 않습니다. API Keys 에서 발급받습니다. |
402 | advanced credit 이 부족합니다. 요금 페이지 에서 충전합니다. 해당 호출은 크레딧이 차감되지 않습니다. |
403 | 현재 플랜에 API 사용 권한이 없습니다. 요금 페이지 에서 Professional 이상으로 업그레이드하세요. |
409 | Idempotency-Key 가 이미 사용되었습니다. { "error": "idempotency_replay", "recordId": "<id>" } 를 반환합니다. 크레딧은 차감되지 않습니다. |
413 | base64 디코딩 후 이미지 크기가 20MB 를 초과합니다. 압축하거나 크기를 줄여 주십시오. |
422 | 요청 본문 검증 실패(누락/잘못된 필드). 본문에 오류 위치를 담은 detail 배열이 포함됩니다. |
429 | 플랜의 속도 제한을 초과했습니다. 크레딧이 차감되지 않습니다. |
500 | 번역에 실패했습니다. 크레딧은 자동 환불됩니다. |
오류 응답 형식
- 4xx / 500:
{ "detail": "<message>" } - 422:
{ "detail": [{ "loc": [...], "msg": "...", "type": "..." }] } - 409:
{ "error": "idempotency_replay", "recordId": "<id>", "message": "..." }
속도 제한
API key 단위로 분당 요청 수가 제한되며, 한도는 플랜에 따라 다릅니다.
| 플랜 | 제한 |
|---|---|
| Free | 사용 불가 |
| Starter | 사용 불가 |
| Professional | 60 req/min |
| Enterprise | 300 req/min |
더 높은 한도가 필요하다면 [email protected] 로 문의해 주십시오.
요금
호출당 advanced credit 10 포인트가 차감됩니다. 플랜과 크레딧 패키지에 대한 자세한 내용은 요금 페이지를 참고하십시오.
부록
언어 코드
sourceLanguage 에는 ISO 639-1 / BCP-47 코드 또는 auto(자동 감지)를 사용할 수 있습니다.
targetLanguage 는 동일한 코드 셋을 따르되, auto 는 사용할 수 없습니다.
자주 사용되는 코드:
| Code | 언어 | Code | 언어 |
|---|---|---|---|
auto | 자동 감지(source 전용) | pt | 포르투갈어 |
en | 영어 | ru | 러시아어 |
zh | 중국어 | ar | 아랍어 |
zh-cn | 중국어 간체 | hi | 힌디어 |
zh-tw | 중국어 번체 | th | 태국어 |
ja | 일본어 | vi | 베트남어 |
ko | 한국어 | id | 인도네시아어 |
es | 스페인어 | tr | 터키어 |
fr | 프랑스어 | it | 이탈리아어 |
de | 독일어 | nl | 네덜란드어 |
전체 목록 — 지역별 130+ 언어
동아시아
| Code | 언어 |
|---|---|
zh | 중국어 |
zh-cn | 중국어 간체 |
zh-tw | 중국어 번체 |
ja | 일본어 |
ko | 한국어 |
mn | 몽골어 |
jv | 자바어 |
su | 순다어 |
동남아시아
| Code | 언어 |
|---|---|
vi | 베트남어 |
th | 태국어 |
id | 인도네시아어 |
ms | 말레이어 |
my | 버마어 |
km | 크메르어 |
lo | 라오어 |
fil | 필리핀어 |
ceb | 세부아노어 |
ilo | 일로카노어 |
남아시아
| Code | 언어 | Code | 언어 |
|---|---|---|---|
hi | 힌디어 | ne | 네팔어 |
bn | 벵골어 | si | 신할라어 |
ur | 우르두어 | as | 아삼어 |
ta | 타밀어 | bho | 보즈푸리어 |
te | 텔루구어 | dv | 디베히어 |
ml | 말라얄람어 | doi | 도그리어 |
gu | 구자라트어 | gom | 콘칸어 |
kn | 칸나다어 | mai | 마이틸리어 |
mr | 마라티어 | lus | 미조어 |
or | 오디아어 | pa | 펀자브어 |
sa | 산스크리트어 | sd | 신디어 |
아프리카
| Code | 언어 | Code | 언어 |
|---|---|---|---|
am | 암하라어 | kri | 크리오어 |
sw | 스와힐리어 | ln | 링갈라어 |
ha | 하우사어 | nso | 북소토어 |
yo | 요루바어 | om | 오로모어 |
zu | 줄루어 | st | 세소토어 |
xh | 코사어 | sn | 쇼나어 |
af | 아프리칸스어 | ti | 티그리냐어 |
mg | 말라가시어 | ts | 총가어 |
so | 소말리어 | ak | 트위어 |
bm | 밤바라어 | ee | 에웨어 |
ny | 치체와어 | lg | 간다어 |
ig | 이그보어 | rw | 키냐르완다어 |
유럽
| Code | 언어 | Code | 언어 |
|---|---|---|---|
fr | 프랑스어 | lt | 리투아니아어 |
de | 독일어 | lv | 라트비아어 |
es | 스페인어 | et | 에스토니아어 |
it | 이탈리아어 | is | 아이슬란드어 |
ru | 러시아어 | sq | 알바니아어 |
pl | 폴란드어 | hy | 아르메니아어 |
uk | 우크라이나어 | az | 아제르바이잔어 |
nl | 네덜란드어 | eu | 바스크어 |
pt | 포르투갈어 | be | 벨라루스어 |
el | 그리스어 | bs | 보스니아어 |
cs | 체코어 | ca | 카탈루냐어 |
hu | 헝가리어 | co | 코르시카어 |
sv | 스웨덴어 | fy | 프리지아어 |
da | 덴마크어 | gl | 갈리시아어 |
fi | 핀란드어 | ka | 조지아어 |
no | 노르웨이어 | kk | 카자흐어 |
ro | 루마니아어 | ky | 키르기스어 |
bg | 불가리아어 | lb | 룩셈부르크어 |
hr | 크로아티아어 | mk | 마케도니아어 |
sk | 슬로바키아어 | mt | 몰타어 |
sl | 슬로베니아어 | sr | 세르비아어 |
tg | 타지크어 | tt | 타타르어 |
tk | 투르크멘어 | ug | 위구르어 |
uz | 우즈베크어 |
중동
| Code | 언어 |
|---|---|
ar | 아랍어 |
fa | 페르시아어 |
tr | 터키어 |
he | 히브리어 |
ku | 쿠르드어 |
ckb | 소라니 쿠르드어 |
ps | 파슈토어 |
아메리카 및 오세아니아
| Code | 언어 |
|---|---|
ay | 아이마라어 |
gn | 과라니어 |
ht | 아이티 크리올어 |
haw | 하와이어 |
qu | 케추아어 |
sm | 사모아어 |
mi | 마오리어 |
기타
| Code | 언어 |
|---|---|
eo | 에스페란토어 |
la | 라틴어 |
cy | 웨일스어 |
ga | 아일랜드어 |
gd | 스코틀랜드 게일어 |
hmn | 흐몽어 |
yi | 이디시어 |
mode 값
mode 는 렌더링 스타일을 결정합니다. 이미지 내용에 가장 적합한 값을 선택합니다.
| Value | 설명 |
|---|---|
general (기본) | 기본 모드. 별도의 렌더링을 적용하지 않습니다. |
manga | 원본 레이아웃을 유지하며 텍스트 외곽선을 함께 표시합니다. |
e-commerce | 원본 레이아웃을 유지하며 텍스트 외곽선은 적용하지 않습니다. |
light-novel | 번역된 텍스트를 원본 이미지 위에 오버레이합니다. |
translator 모델
translator 는 번역을 수행할 AI 모델을 지정합니다. 모든 모델은 호출당 10 포인트가 차감됩니다.
Grok(기본)GeminiDeepseekChatGPTClaude
시작하기
연동할 준비가 되었다면 첫 API key 발급하기 →