DeepLX로 DeepL API 무료로 사용하는 방법

Mark Ponomarev

Mark Ponomarev

21 May 2025

DeepLX로 DeepL API 무료로 사용하는 방법

점점 더 상호 연결되는 세상에서 빠르고 정확하며 접근 가능한 번역 서비스의 필요성은 무엇보다 중요합니다. DeepL은 고급 신경망 기계 번역으로 구동되는 미묘하고 자연스러운 번역으로 명성을 얻으며 이 분야의 선두 주자로 부상했습니다. 그러나 공식 API에 액세스하는 데는 모든 사용자, 개발자 또는 소규모 프로젝트에는 적합하지 않은 비용이 수반되는 경우가 많습니다. 여기에 OwO-Network의 오픈 소스 프로젝트인 DeepLX가 DeepL의 강력한 번역 기능을 활용할 수 있는 무료 대안 경로를 제공하며 등장했습니다.

이 종합 가이드에서는 DeepLX가 무엇인지, 그 이점, 설치 및 사용 방법, 비공식적인 특성에 대한 중요한 고려 사항, 그리고 공식 서비스와의 비교를 자세히 살펴봅니다. 애플리케이션에 번역 기능을 통합하려는 개발자든, 언어 도구를 실험하는 취미 사용자든, 단순히 비용 효율적인 번역 솔루션을 찾는 사용자든, DeepLX를 이해하면 새로운 가능성을 열 수 있습니다.

💡
아름다운 API 문서를 생성하는 훌륭한 API 테스트 도구를 원하십니까?

최대 생산성으로 개발팀이 함께 작업할 수 있는 통합 올인원 플랫폼을 원하십니까?

Apidog는 귀하의 모든 요구 사항을 충족하며, 훨씬 저렴한 가격으로 Postman을 대체합니다!
button

DeepLX란 무엇인가? 무료 고품질 번역의 약속

본질적으로 DeepL은 탁월한 정확성과 문맥 및 언어적 뉘앙스를 포착하는 능력으로 알려진 기계 번역 서비스를 제공하는 독일 AI 회사이며, 많은 언어 쌍에서 경쟁사보다 뛰어난 성능을 보이는 경우가 많습니다. DeepL은 번역 엔진에 대한 프로그래밍 방식의 액세스를 허용하기 위해 다양한 사용량에 맞는 여러 등급의 유료 서비스인 공식 API를 제공합니다.

OwO-Network의 GitHub에서 찾을 수 있는 DeepLX는 다음과 같은 "강력한 DeepL 번역 API"를 표방합니다:

기본적으로 DeepLX는 중개자 또는 프록시 역할을 하여 사용자가 공식 유료 API를 직접 사용하지 않고도 DeepL의 백엔드에 번역 요청을 보낼 수 있도록 합니다. 이는 일반적으로 DeepLX 서버가 무료 사용자가 서비스에 액세스하는 방식(예: 웹 인터페이스 또는 데스크톱 앱을 통해, 정확한 메커니즘은 다를 수 있으며 변경될 수 있음)을 모방하여 DeepL에 요청을 보내는 방식으로 이루어집니다.

처음부터 DeepLX가 비공식 도구라는 점을 이해하는 것이 중요합니다. DeepL SE에서 개발하거나 승인한 것이 아닙니다. 이러한 구분은 신뢰성, 안정성, 서비스 약관과 관련하여 중요한 의미를 가지며, 이는 나중에 자세히 논의될 것입니다. DeepLX의 대상 고객은 일반적으로 소규모 프로젝트에 API 액세스가 필요한 개발자, 연구원 또는 공식 DeepL API 비용이 부담스러운 사용자를 포함합니다.


DeepLX를 선택하는 이유: 이점 및 장점

비공식적인 상태에도 불구하고 DeepLX는 사용자에게 매력적인 몇 가지 장점을 제공합니다:

이러한 이점은 관련 비용 없이 DeepL의 번역 능력이 필요한 사람들에게 DeepLX를 매력적인 제안으로 만듭니다. 그러나 이러한 장점은 비공식적인 접근 방식에서 비롯된 고려 사항과 비교하여 평가해야 합니다.


"비공식" 상태: 중요한 고려 사항 및 잠재적 단점

"무료"와 "고품질"은 매력적이지만, DeepLX의 맥락에서 "비공식"이 무엇을 의미하는지 명확히 이해하는 것이 중요합니다:

사용자는 DeepLX에 대해 어느 정도 주의를 기울여야 하며, 보장된 가동 시간과 공식 지원이 필요한 미션 크리티컬 애플리케이션에는 적합하지 않을 수 있음을 이해해야 합니다. 가끔 발생하는 다운타임이나 문제 해결의 필요성이 무료 액세스에 대한 허용 가능한 절충안인 시나리오에 가장 적합합니다.


시작하기: DeepLX 설치 및 설정

DeepLX 설정은 일반적으로 Docker 또는 미리 컴파일된 바이너리에 익숙하다면 간단합니다. 다음은 일반적인 방법입니다:

사전 요구 사항

방법 1: Docker 사용 (간단함을 위해 권장)

Docker는 모든 종속성 및 구성을 패키징하므로 DeepLX를 실행하는 가장 쉬운 방법인 경우가 많습니다.

  1. Docker 이미지 찾기: OwO-Network 또는 DeepLX에 기여하는 개발자는 일반적으로 Docker Hub에 Docker 이미지를 제공합니다. Docker Hub에서 deeplx를 검색하거나 공식 DeepLX GitHub 저장소에서 지침을 찾을 수 있습니다. 일반적인 이미지 이름은 owonetwork/deeplx 또는 이와 유사할 수 있습니다.
  2. 이미지 가져오기 (Pull): 터미널을 열고 다음을 실행합니다:
docker pull <image_name>:<tag>

(<image_name>:<tag>를 실제 이미지 이름으로 바꿉니다).

  1. Docker 컨테이너 실행:
docker run -d -p 1188:1188 --name my-deeplx <image_name>:<tag>
  1. 확인: docker ps 명령으로 컨테이너가 실행 중인지 확인할 수 있습니다. 이제 DeepLX 서비스는 http://localhost:1188에서 액세스할 수 있어야 합니다.

방법 2: 미리 컴파일된 바이너리 다운로드

많은 오픈 소스 프로젝트는 다양한 운영 체제용 미리 컴파일된 실행 파일을 제공합니다.

  1. GitHub 릴리스로 이동: 공식 DeepLX GitHub 저장소(OwO-Network/DeepLX)로 이동하여 "Releases" 섹션을 찾습니다.
  2. 올바른 바이너리 다운로드: 다양한 운영 체제 및 아키텍처용 바이너리(예: deeplx_windows_amd64.exe, deeplx_linux_amd64, deeplx_darwin_amd64)를 찾을 수 있습니다. 시스템에 맞는 것을 다운로드합니다.
  3. 실행 가능하게 만들기 (Linux/macOS):
chmod +x /path/to/your/deeplx_binary
  1. 바이너리 실행:
./path/to/your/deeplx_binary [options]

바이너리는 구성에 대한 명령줄 플래그를 지원할 수 있습니다(예: -p <port_number>로 포트 지정 또는 DeepL API 키와는 다른 DeepLX 인스턴스 자체를 보호하기 위한 토큰). 사용 가능한 옵션은 프로젝트 문서를 참조하십시오.

  1. 방화벽: 네트워크의 다른 장치에서 액세스하려는 경우 DeepLX가 수신 대기하는 포트(기본값 1188)에서 시스템 방화벽이 들어오는 연결을 허용하는지 확인하십시오.

방법 3: 소스에서 빌드 (고급 사용자용)

직접 컴파일하거나 최신 미출시 변경 사항을 원하는 경우:

  1. 빌드 종속성 설치: DeepLX는 종종 Go 또는 Rust와 같은 언어로 작성됩니다. 해당 컴파일러 및 도구 체인(예: Go 프로그래밍 언어 환경)이 설치되어 있어야 합니다. 빌드 지침은 GitHub 저장소를 확인하십시오.
  2. 저장소 복제 (Clone):
git clone [https://github.com/OwO-Network/DeepLX.git](https://github.com/OwO-Network/DeepLX.git)
cd DeepLX
  1. 프로젝트 빌드: 저장소의 README.md 또는 빌드 스크립트에 지정된 빌드 명령을 따릅니다(예: go build . 또는 cargo build --release).
  2. 컴파일된 바이너리 실행: 결과 실행 파일은 방법 2에 설명된 대로 실행할 수 있습니다.

초기 구성 (서버 측)

DeepLX 자체는 최소한의 구성으로 실행되도록 설계되었습니다. 주목할 주요 사항은 수신 대기하는 포트(기본값 1188)입니다. 일부 버전 또는 포크는 명령줄 인수 또는 환경 변수(예: -token YOUR_SECRET_TOKEN)를 통해 액세스 토큰을 설정할 수 있도록 허용할 수 있습니다. 이 토큰은 DeepLX 엔드포인트가 노출된 경우 보안 계층을 추가하기 위해 클라이언트가 DeepLX 인스턴스를 사용하기 위해 제공해야 합니다.

실행되면 DeepLX 인스턴스는 번역 요청을 받을 준비가 됩니다.


DeepLX 사용 방법: 번역 요청 보내기

DeepLX 인스턴스가 실행되면(예: http://localhost:1188), 일반적으로 /translate인 API 엔드포인트에 번역 요청을 보낼 수 있습니다.

API 엔드포인트

http://<your_deeplx_host_or_ip>:<port>/translate
(예: 기본 포트에서 로컬로 실행하는 경우 http://localhost:1188/translate)

기본 API 호출 구조

JSON 본문의 주요 매개변수

curl을 사용한 예시

"Hello, world!"를 영어에서 독일어로 번역하려면:

curl -X POST http://localhost:1188/translate \
     -H "Content-Type: application/json" \
     -d '{
           "text": "Hello, world!",
           "source_lang": "EN",
           "target_lang": "DE"
         }'

응답 해석

성공적인 응답 (예: HTTP 200 OK): 응답은 일반적으로 다음을 포함하는 JSON 객체입니다:

성공적인 응답 구조 예시:JSON

{
    "code": 200,
    "id": 1678886400000,
    "data": "Hallo, Welt!",
    "source_lang": "EN",
    "target_lang": "DE",
    "alternatives": [
        "Hallo Welt!"
    ]
}

오류 응답:

프로그래밍 언어와 DeepLX 사용 (개념적 예시)

Python (requests 라이브러리 사용):Python

import requests
import json

deeplx_url = "http://localhost:1188/translate"
text_to_translate = "The quick brown fox jumps over the lazy dog."

payload = {
    "text": text_to_translate,
    "source_lang": "EN",
    "target_lang": "ES"  # Translate to Spanish
}

headers = {
    "Content-Type": "application/json"
}

try:
    response = requests.post(deeplx_url, data=json.dumps(payload), headers=headers)
    response.raise_for_status()  # Raise an exception for bad status codes (4xx or 5xx)
    
    translation_data = response.json()
    
    if translation_data.get("code") == 200:
        print(f"Original: {text_to_translate}")
        print(f"Translated: {translation_data.get('data')}")
    else:
        print(f"Error from DeepLX: {translation_data.get('message', 'Unknown error')}")

except requests.exceptions.RequestException as e:
    print(f"Request failed: {e}")
except json.JSONDecodeError:
    print("Failed to decode JSON response.")

JavaScript (브라우저 또는 Node.js 환경에서 Workspace API 사용):JavaScript

async function translateText(text, targetLang, sourceLang = "auto") {
    const deeplxUrl = "http://localhost:1188/translate"; // Adjust if your DeepLX is elsewhere
    const payload = {
        text: text,
        source_lang: sourceLang,
        target_lang: targetLang
    };

    try {
        const response = await fetch(deeplxUrl, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify(payload)
        });

        if (!response.ok) {
            // Try to get error message from DeepLX if possible
            let errorMsg = `HTTP error! status: ${response.status}`;
            try {
                const errorData = await response.json();
                errorMsg = errorData.message || JSON.stringify(errorData);
            } catch (e) { /* ignore if response is not json */ }
            throw new Error(errorMsg);
        }

        const translationData = await response.json();

        if (translationData.code === 200) {
            return translationData.data;
        } else {
            throw new Error(translationData.message || `DeepLX API error code: ${translationData.code}`);
        }
    } catch (error) {
        console.error("Translation failed:", error);
        return null;
    }
}

// Example usage:
(async () => {
    const translatedText = await translateText("Welcome to the world of AI.", "JA"); // To Japanese
    if (translatedText) {
        console.log(`Translated: ${translatedText}`);
    }
})();

DeepLX 인스턴스가 localhost:1188에서 실행되지 않는 경우 deeplx_url을 조정해야 합니다.


애플리케이션과 DeepLX 통합

DeepLX의 주요 사용 사례 중 하나는 공식 API 비용을 발생시키지 않고 다른 애플리케이션 내에서 번역 기능을 강화하는 것입니다. 여러 도구 및 프로젝트가 이미 통합을 시연했습니다:

통합을 위한 일반적인 접근 방식

  1. DeepLX 인스턴스 설정: DeepLX 서버가 실행 중이며 이를 사용할 애플리케이션에서 액세스할 수 있는지 확인합니다.
  2. 구성 설정 식별: 통합하려는 애플리케이션에서 번역 서비스 또는 DeepL API와 관련된 설정을 찾습니다.
  3. DeepLX 엔드포인트 지정: 공식 DeepL API URL(예: https://api-free.deepl.com/v2/translate 또는 https://api.deepl.com/v2/translate) 대신 DeepLX 서버 주소(예: http://localhost:1188/translate 또는 http://your-server-ip:1188/translate)를 입력합니다.
  4. API 키 처리:
  1. 철저히 테스트: 구성 후 애플리케이션 내에서 번역 기능을 테스트하여 DeepLX 백엔드와 올바르게 작동하는지 확인합니다.

통합 용이성은 대상 애플리케이션의 번역 서비스 구성 유연성에 크게 좌우됩니다.


고급 고려 사항 및 모범 사례

DeepLX를 최대한 활용하고 잠재적인 문제 중 일부를 완화하려면 다음 사항을 고려하십시오:

사전 예방적으로 접근함으로써 DeepLX 설정의 안정성과 유용성을 향상시킬 수 있습니다.


일반적인 DeepLX 문제 해결

DeepLX의 특성을 고려할 때 문제가 발생할 수 있습니다. 다음은 몇 가지 일반적인 문제와 해결 방법입니다:

문제: 429 Too Many Requests 오류

문제: DeepLX 인스턴스가 시작되지 않거나 충돌 발생

문제: 번역이 부정확하거나 실패하거나 예상치 못한 결과 반환

문제: 네트워크 연결 오류 (예: "Connection refused," "Timeout")

DeepLX 문제 해결에는 종종 로그 확인, 구성 확인, 프로젝트 주변의 커뮤니티 논의 주시가 포함됩니다.


DeepLX 대 공식 DeepL API: 간략한 비교

기능DeepLX (OwO-Network 경유)공식 DeepL API (무료 등급)공식 DeepL API (프로/유료)
비용무료무료유료 (구독/문자당)
출처비공식, 오픈 소스공식유료 (구독/문자당)
안정성잠재적으로 불안정, 중단될 수 있음일반적으로 안정적높은 안정성, SLA 제공 가능
속도 제한429 오류 발생 가능성 높음, 예측 불가능월 500,000자 제한더 높은/맞춤형 제한, 사용량 기반 요금

Apidog에서 API 설계-첫 번째 연습

API를 더 쉽게 구축하고 사용하는 방법을 발견하세요