사용자 가이드

자주 묻는 질문

LMU AI API의 일반적인 오류 및 설정 문제 해결 방법 — 401 / 403 / 429 / 500, 토큰 과금, 모델 전환, Claude Code / Codex CLI 문제 해결.

문제 1: 스트림 끊김 / 타임아웃

오류 메시지:

stream disconnected before completion: error sending request for url
(https://api.lmuai.com/responses)

원인: 전형적인 스트림 끊김으로, 보통 다음과 같은 이유입니다.

  • 로컬 네트워크가 불안정함(Wi-Fi / 셀룰러 전환이 잦음, 신호 약함, 패킷 손실)
  • VPN / 프록시 / 시스템 프록시가 켜져 있음: 프록시가 출구 IP를 변경하면서 연결이 끊어집니다

해결 방법:

  1. VPN / 프록시 / 시스템 프록시를 모두 끄고 다시 시도하세요 — LMU AI는 중국 내 직접 연결이므로 VPN이 필요하지 않습니다
  2. 로컬 네트워크가 안정적인지 확인하고, 필요하면 더 안정적인 네트워크로 전환하세요

VPN 불필요 — 중국 내 직접 연결이 가장 빠릅니다

LMU AI 게이트웨이는 중국 본토 내부에 호스팅되어 있어, 국내 네트워크에서 VPN, 프록시, 우회 수단 없이 바로 호출할 수 있습니다. 직접 연결이 가장 빠르고 안정적이며, 반대로 출구 IP가 계속 바뀌는 VPN이나 프록시는 스트림 끊김을 유발하는 경향이 있습니다.


문제 2: 429 재시도 오류

오류 메시지:

exceeded retry limit, last status: 429 Too Many Requests

원인: 일일 할당량을 모두 사용했습니다.

해결 방법:

  1. 내 구독을 열어 일일 할당량이 소진되었는지 확인하세요
  2. 더 필요하다면 다른 등급의 플랜을 구매한 뒤, 콘솔의 API 키에서 새 플랜의 그룹으로 전환하세요

갱신 vs. 할당량 추가

  • 같은 플랜을 구매하지 마세요 — 같은 플랜은 갱신될 뿐 할당량이 추가되지 않습니다
  • 할당량을 추가하려면 다른 플랜을 구매하세요(예: 일일권에서 월간권으로 전환)

문제 3: 401 Incorrect API key

오류 메시지:

unexpected status 401 Unauthorized: Incorrect API key provided

원인: 요청이 저희 릴레이가 아니라 여전히 OpenAI 공식 엔드포인트로 전송되었습니다.

해결 방법:

  1. config.toml이 가이드대로 올바르게 생성 또는 교체되었는지 확인하세요
  2. IDE(VS Code / Cursor 등)를 재시작해 설정 파일을 다시 불러오세요
  3. 이전에 공식 계정이나 다른 제공업체 계정으로 로그인했다면, 먼저 로그아웃한 뒤 다시 설정하세요

오류가 발생했을 때

오류 화면을 캡처하고 번역해 보세요 — 보통 원인을 빠르게 파악할 수 있습니다.


문제 4: 스크립트 실행이 비활성화됨 (Windows)

오류 메시지:

codex: cannot be loaded because running scripts is disabled on this system.

해결 방법: 터미널에서 다음을 실행한 뒤 새 터미널을 여세요.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

문제 5: Node.js를 찾을 수 없음 (Windows)

오류 메시지: CODEX is not recognized as a cmdlet 또는 유사한 메시지

원인: Node.js가 설치되지 않았거나 PATH가 손상되었습니다.

해결 방법: Node.js 20 이상을 다시 설치한 뒤 새 터미널을 여세요.


문제 6: 503 No available accounts (환경 변수가 키를 덮어씀)

오류 메시지:

Error code: 503 - {'error': {'message': 'No available accounts: no available accounts', 'type': 'api_error'}}

원인: ~/.zshrc(또는 ~/.bashrc)에 ANTHROPIC_AUTH_TOKEN / ANTHROPIC_BASE_URL / ANTHROPIC_MODEL이 설정되어 있습니다. 셸이 시작되면 이 변수들이 전역으로 적용되어 IDE(Cursor, VS Code 등)에 설정한 API 키를 덮어쓰기 때문에, 요청이 잘못된 키를 사용합니다.

해결 방법(하나 선택):

방법 A: .zshrc에서 변수를 삭제

~/.zshrc를 열어 다음 줄을 삭제하세요.

export ANTHROPIC_AUTH_TOKEN="..."
export ANTHROPIC_BASE_URL="..."
export ANTHROPIC_MODEL="..."

그 후 source ~/.zshrc를 실행해 적용하고 IDE를 재시작하세요.

방법 B: 변수를 별도 파일로 옮기고 Claude Code CLI에서만 불러오기

  1. ~/.claude_env 파일을 만들고 다음 세 줄을 넣으세요.
export ANTHROPIC_AUTH_TOKEN="sk-your-lmu-ai-api-key"
export ANTHROPIC_BASE_URL="https://api.lmuai.com"
export ANTHROPIC_MODEL="the-model-you-use"
  1. ~/.zshrc에서 그 세 줄을 삭제하세요.

  2. Claude Code를 시작할 때 수동으로 불러오세요.

source ~/.claude_env && claude

이렇게 하면 IDE는 설정 파일의 키를 사용하고 Claude Code CLI는 환경 변수를 사용하므로, 서로 간섭하지 않습니다.


문제 7: 400 Invalid signature in thinking block (그룹을 넘나드는 모델 전환)

오류 메시지:

upstream error: 400 messages.<index>.content.<index>:
Invalid `signature` in `thinking` block

원인: Claude의 Extended Thinking이 thinking 블록을 생성할 때, 이를 만들어낸 특정 업스트림 계정에 강하게 결합된 암호화된 서명을 함께 붙입니다. 하나의 대화 안에서 그룹을 넘나들며 모델을 전환하면(예: "Claude-Pro 직접" 그룹의 claude-sonnet-5에서 "Claude-MAX 고배율" 그룹의 claude-fable-5로), 클라이언트가 이전 기록(서명된 thinking 블록 포함)을 새 그룹의 업스트림 계정으로 전송합니다. 그룹마다 서로 다른 업스트림을 사용하며 다른 곳에서 발급된 서명은 검증할 수 없기 때문에 400을 반환합니다.

일반적인 발생 조건:

  • 클라이언트가 대화 중 모델 전환을 지원하며 이전 기록 전체를 함께 전송함
  • 전환 전후 그룹이 서로 다른 업스트림 계정에서 옴(예: "직접 연결 그룹" ↔ "릴레이 / MAX 고배율 그룹")

해결 방법(아무거나 하나):

  1. 그룹을 전환할 때 새 대화를 시작하세요 — 기존 기록을 가져가지 않는 것이 가장 간단하고 확실한 해결책입니다.
  2. 대화당 하나의 그룹만 사용하세요 — 여러 모델을 함께 써야 한다면 같은 그룹(같은 업스트림) 안에서 전환하세요.
  3. 기록에서 thinking 블록을 제거하세요 — 클라이언트가 기록 편집을 지원한다면, 그룹을 전환하기 전에 thinking 블록을 삭제하세요.

왜 재시도해도 안 될까요?

이것은 잘못된 서명으로 인해 복구 불가능한 4xx 클라이언트 오류입니다. 게이트웨이가 이를 감지하면 400을 그대로 클라이언트로 전달하고 다른 계정으로 자동 재시도하지 않습니다 — 일치하지 않는 업스트림이라면 어디서든 똑같이 실패하기 때문입니다.


문제 8: 400 Unknown parameter: 'tools[0].n' (이미지 엔드포인트로 tools 전송)

오류 메시지:

400 - {'error': {'code': 'unknown_parameter', 'message': "Unknown parameter: 'tools[0].n'.", 'param': 'tools[0].n', 'type': 'invalid_request_error'}}

영향받는 엔드포인트: /v1/images/generations, /v1/images/edits (이미지 생성 / 편집).

원인: 클라이언트가 이미지 요청 본문에 tools 배열을 넣고, tools[0] 안에 n 필드를 포함시켰습니다. OpenAI의 이미지 엔드포인트는 tools를 받지 않습니다(도구 호출은 Chat / Responses 엔드포인트에 속하며, 이미지 엔드포인트에는 그런 개념이 없습니다). 따라서 업스트림이 400으로 거부합니다.

보통 "이미지 개수 n"을 잘못된 위치에 넣는 버그가 있는 클라이언트 / SDK 래퍼에서 발생합니다 — tools[0].n 안에 중첩되거나, Chat 요청 템플릿에서 그대로 복사된 경우입니다.

해결 방법:

  1. 요청 본문에서 tools 필드를 제거하세요 — 이미지 generations / edits는 도구 호출을 지원하지 않으므로 필드를 완전히 삭제하세요.
  2. 여러 장을 생성하려면 최상위 n에 개수를 지정하세요 — n(호출당 다중 생성)은 /v1/images/generations만 지원하며, /v1/images/edits는 지원하지 않으므로 거기서는 n을 삭제하세요.
  3. 클라이언트 SDK 버전을 확인하세요 — 래퍼가 파라미터를 자동으로 구성한다면, 이미지 엔드포인트에 Chat 템플릿을 적용하지 않도록 업그레이드하거나 교체하세요.

왜 계정 전환 / 재시도가 도움이 되지 않을까요?

이것은 잘못된 요청 본문으로 인한 4xx 클라이언트 오류이며, 업스트림 계정이나 그룹과는 무관합니다 — 게이트웨이는 요청을 그대로 전달하므로 어떤 계정에서도 동일한 400이 반환됩니다. 클라이언트가 보내는 요청 파라미터를 수정해야 합니다.


문제 9: VPN이 필요한가요?

아니요. LMU AI 게이트웨이는 중국 본토 내부에 호스팅되어 있으며, 국내 네트워크에서 VPN, 프록시, 우회 수단 없이 api.lmuai.com을 바로 호출할 수 있습니다.

오히려 출구 IP가 계속 바뀌는 VPN이나 프록시는 스트림 끊김을 유발하는 경향이 있습니다(문제 1 참고). 중국 내 직접 연결이 가장 빠르고 안정적입니다.


문제 10: 401 API_KEY_REQUIRED (Codex가 키를 보내지 않음)

오류 메시지:

unexpected status 401 Unauthorized: {"code":"API_KEY_REQUIRED","message":"API key is required in Authorization header (Bearer scheme), x-api-key header, or x-goog-api-key header"}, url: https://api.lmuai.com/responses, request id: ...

원인: 최신 Codex 버전에서 인증 방식이 변경되었습니다 — 자격 증명이 auth.json에서 읽히는 대신 시스템 키링에 저장될 수 있습니다. 기존 가이드의 설정(auth.json + requires_openai_auth = true)을 사용하면 Codex가 보내는 요청에 API 키가 전혀 담기지 않아(Authorization, x-api-key, x-goog-api-key 중 어느 것도 전송되지 않음) 게이트웨이가 키를 찾지 못하고 401 API_KEY_REQUIRED를 반환합니다.

이는 문제 3의 Incorrect API key provided와는 다릅니다. 그쪽은 잘못된 키를 보내는 경우(보통 요청이 LMU AI 릴레이가 아니라 OpenAI 공식 엔드포인트로 전송됨)이고, 이쪽은 키를 전혀 보내지 않는 경우입니다.

해결 방법: 키를 요청 헤더에 직접 넣으세요. ~/.codex/config.toml(Windows에서는 C:\users\your-username\.codex\config.toml)을 열고, 모델 제공자 섹션 [model_providers.<ID>](이 사이트의 가이드를 따랐다면 보통 [model_providers.codex])를 찾아 그 안의 requires_openai_auth = true 줄을 삭제한 뒤, 파일 맨 끝에 해당하는 http_headers 하위 테이블을 추가하세요.

[model_providers.codex]
name = "codex"
base_url = "https://api.lmuai.com"
wire_api = "responses"

[model_providers.codex.http_headers]
Authorization = "Bearer your sk- key generated in the console"

저장하고 터미널을 다시 연 다음 Codex를 재시작하세요.

실수하기 쉬운 부분

  • 하위 테이블 이름의 codex는 위쪽 [model_providers.codex]의 ID와 일치해야 합니다(예를 들어 VS Code 확장 가이드에서는 [model_providers.OpenAI.http_headers]입니다)
  • Bearer와 키 사이에는 공백 하나를 유지하세요
  • http_headers 하위 테이블은 파일 맨 끝에 있어야 합니다 — 그 뒤에 작성된 설정은 모두 요청 헤더로 취급됩니다

이 사이트의 모든 Codex 가이드(Mac / Windows / 서버 / Codex 앱 / VS Code 확장)는 위 설정 방식으로 업데이트되었습니다.


그래도 해결되지 않나요?

설치나 설정 중 특수한 환경 때문에 계속 막힌다면 지원팀에 문의하세요.

  • WeChat으로 지원팀 추가
  • 셴위(闲鱼)에서 지원팀에 연락

원격 지원 시간: 오후 2시 이후(오전에는 복잡한 환경 설정을 원격으로 처리합니다).

원격 지원이 필요하면 먼저 NetEase UU Remote를 다운로드해 지원팀에 알려주세요. 기술 안내와 원격 지원은 오후 2시 이후에 진행됩니다.

마지막 업데이트:

京ICP备2020034311号-7

이 페이지의 목차