Skip to content

어떤 코딩 에이전트든 PleumRouter 붙이기

OpenAI 호환이라, 쓰던 에이전트에 base_url 한 줄만 바꾸면 됩니다.

PleumRouter는 OpenAI 호환 API입니다. OpenAI Compatible provider를 지원하는 에이전트라면 base_url을 https://router.pleum.ai/v1로, 키를 plm_…로 바꾸기만 하면 그대로 동작합니다. 아래는 인기 에이전트별 설정 예시입니다.

1. 공통 — base_url과 API 키#

먼저 가입 후 대시보드 → API 키에서 키를 발급받으세요 (키는 plm_로 시작). 어떤 에이전트든 필요한 값은 base_url(https://router.pleum.ai/v1)과 키 두 가지뿐입니다.

environment
export OPENAI_API_BASE=https://router.pleum.ai/v1
export OPENAI_API_KEY=plm_xxxxxxxxxxxxxxxx
# Some agents (OpenCode, Crush) reference PLEUM_API_KEY  same key, set both.
export PLEUM_API_KEY=plm_xxxxxxxxxxxxxxxx

2. IDE · GUI 에이전트#

다음 에이전트는 설정에서 provider로 OpenAI Compatible(또는 Custom OpenAI)을 고르고 아래 값을 넣으면 됩니다 — Cline, Roo Code, Kilo Code, Cursor.

Cline · Roo Code · Kilo Code · Cursor
API Provider     OpenAI Compatible
Base URL         https://router.pleum.ai/v1
API Key          plm_xxxxxxxxxxxxxxxx
Model ID         gpt-4.1
반드시 OpenAI Compatible 슬롯을 쓰세요. OpenRouter 전용 항목은 openrouter.ai로 하드코딩되어 실패합니다. Cursor는 base URL에 /v1까지 포함하고 키 칸을 비우면 안 됩니다. Kilo Code는 커스텀 base URL이 모델 목록 조회에 전달되지 않는 알려진 이슈(#681)가 있어 모델 ID를 직접 입력하세요.

Continue.dev

Continue.dev는 설정 파일로 지정합니다. model: AUTODETECT면 모델 목록을 자동으로 불러옵니다.

config.yaml
# ~/.continue/config.yaml
models:
  - name: PleumRouter
    provider: openai
    apiBase: https://router.pleum.ai/v1
    apiKey: plm_xxxxxxxxxxxxxxxx
    model: AUTODETECT

Zed

Zed는 설정에 OpenAI 호환 provider를 추가합니다. 버전에 따라 필드명이 다를 수 있으니 Zed 문서를 확인하세요.

settings.json
// Zed settings.json
{
  "language_models": {
    "openai_compatible": {
      "PleumRouter": {
        "api_url": "https://router.pleum.ai/v1",
        "available_models": [
          { "name": "gpt-4.1", "max_tokens": 128000 }
        ]
      }
    }
  }
}

3. 터미널 · CLI 에이전트#

터미널 에이전트는 대부분 환경변수나 설정 파일로 OpenAI 호환 엔드포인트를 받습니다. Goose·OpenHands는 모델명 앞에 openai/ 접두사가 필요합니다.

Aider

aider
export OPENAI_API_BASE=https://router.pleum.ai/v1
export OPENAI_API_KEY=plm_xxxxxxxxxxxxxxxx

aider --model openai/gpt-4.1

OpenCode

opencode.json
// opencode.json   (or: /connect → Other)
{
  "provider": {
    "pleum": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "PleumRouter",
      "options": {
        "baseURL": "https://router.pleum.ai/v1",
        "apiKey": "{env:PLEUM_API_KEY}"
      },
      "models": { "gpt-4.1": {} }
    }
  }
}

Crush

crush.json
// crush.json
{
  "providers": {
    "pleum": {
      "type": "openai-compat",
      "base_url": "https://router.pleum.ai/v1",
      "api_key": "$PLEUM_API_KEY",
      "models": [{ "id": "gpt-4.1", "name": "gpt-4.1" }]
    }
  }
}

Goose · OpenHands

environment
export OPENAI_API_BASE=https://router.pleum.ai/v1
export OPENAI_API_KEY=plm_xxxxxxxxxxxxxxxx

# Goose / OpenHands: prefix the model id with openai/
#   model = openai/gpt-4.1

Codex CLI

Codex CLI는 OpenAI Responses API(/v1/responses)로 직접 붙습니다(2026년 2월 Chat Completions 경로 제거). ~/.codex/config.toml wire_api = "responses" provider를 추가하고 PLEUM_API_KEY를 설정하세요. 라우팅 대상이 OpenAI 호환 모델이면 함수호출·스트리밍까지 동작합니다.
~/.codex/config.toml
# ~/.codex/config.toml
# model / model_provider are document-root keys (must be above the [table]).
model = "gpt-4.1"
model_provider = "pleum"

[model_providers.pleum]
name = "PleumRouter"
base_url = "https://router.pleum.ai/v1"   # Codex appends /responses  /v1/responses
env_key = "PLEUM_API_KEY"
wire_api = "responses"                      # Codex supports only the Responses API

# then:  export PLEUM_API_KEY=plm_xxxxxxxxxxxxxxxx  &&  codex
Gemini CLI 순정은 외부 OpenAI 호환 엔드포인트 직결성이 낮아, OpenAI 호환 래퍼/포크를 거쳐야 할 수 있습니다.

4. Claude Code (Anthropic 호환)#

Claude Code와 Claude Agent SDK 기반 도구는 Anthropic 호환 /v1/messages로 붙습니다. 공식 CLI는 ANTHROPIC_API_KEY를 먼저 읽으므로 ANTHROPIC_API_KEY·ANTHROPIC_AUTH_TOKEN에 같은 키를 모두 넣어두는 편이 안전합니다. ANTHROPIC_BASE_URL /v1이 없는 루트(https://router.pleum.ai)로 설정하세요 — CLI가 /v1/messages를 알아서 덧붙입니다(/v1을 넣으면 /v1/v1/messages가 되어 실패). 라우팅 대상이 OpenAI 호환 모델이면 함수호출·스트리밍까지 동작합니다.
Claude Code
# ANTHROPIC_BASE_URL is the ROOT (no /v1)  the CLI appends /v1/messages itself.
export ANTHROPIC_BASE_URL=https://router.pleum.ai
# The official CLI prefers ANTHROPIC_API_KEY; set both to be safe.
export ANTHROPIC_API_KEY=plm_xxxxxxxxxxxxxxxx     #  replace with your key from Dashboard > API Keys
export ANTHROPIC_AUTH_TOKEN=plm_xxxxxxxxxxxxxxxx  #  same key

# Pass a PleumRouter model id (see GET /v1/models for the full list):
claude --model anthropic/gpt-4.1
스니펫의 plm_xxxxxxxxxxxxxxxx는 더미 값입니다. 대시보드 API 키에서 발급한 실제 키(plm_로 시작)로 교체하세요. 모델 ID는 GET /v1/models 또는 모델 페이지에서 확인할 수 있습니다.

5. 모델 ID와 자동 발견#

모델 ID는 GET /v1/models에서 확인하거나 모델 페이지에서 볼 수 있습니다. Cline·Continue·OpenCode 등은 이 목록을 자동으로 불러와 드롭다운을 채웁니다. OpenRouter 형식 (openai/gpt-5.5)으로 보내도 자동 변환됩니다.

list models
curl https://router.pleum.ai/v1/models \
  -H "Authorization: Bearer plm_xxxxxxxxxxxxxxxx"

6. 이미지 · 음성 · 영상 (직접 API 호출)#

이미지·음성·영상도 OpenAI 호환 엔드포인트로 직접 호출합니다 — 이미지 POST /v1/images/generations, TTS POST /v1/audio/speech, STT POST /v1/audio/transcriptions, 영상 POST /v1/video/generations(비동기 — job_id 반환 후 GET /v1/jobs/{job_id}로 폴링).MODEL_ID는 해당 모달리티를 지원하는 모델로 바꾸세요 — 모델 페이지 또는 GET /v1/models에서 확인할 수 있습니다.

multimodal endpoints
# Image generation
curl https://router.pleum.ai/v1/images/generations \
  -H "Authorization: Bearer plm_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "model": "MODEL_ID", "prompt": "a red bicycle", "n": 1, "size": "1024x1024" }'

# Text-to-speech (returns audio bytes; cost in X-Cost-Krw header)
curl https://router.pleum.ai/v1/audio/speech \
  -H "Authorization: Bearer plm_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "model": "MODEL_ID", "input": "Hello there", "voice": "alloy" }' --output speech.mp3

# Speech-to-text (multipart upload)
curl https://router.pleum.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer plm_xxxxxxxxxxxxxxxx" \
  -F model=MODEL_ID -F file=@audio.mp3

# Video generation is async: POST returns a job_id, then poll GET /v1/jobs/{job_id}
curl https://router.pleum.ai/v1/video/generations \
  -H "Authorization: Bearer plm_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "model": "MODEL_ID", "prompt": "a drone shot over a forest" }'

7. 더 많은 에이전트#

여기 안 적힌 에이전트도 대부분 같은 방식입니다. OpenAI 호환 base_url로 동작 — OpenHands, Open Interpreter, SWE-agent, Qwen Code, MetaGPT, GPT-Pilot, ChatDev, Tabby(채팅), Dyad, Plandex, bolt.diy, Forge, Kimi CLI, gptme, Letta 등. Anthropic 호환(/v1/messages)으로는 claude-code-router도 ANTHROPIC_BASE_URL로 붙습니다. LiteLLM 기반(Aider·OpenHands·Open Interpreter·SWE-agent·gptme)은 PleumRouter 자체가 게이트웨이라 LiteLLM 없이 바로 붙지만, 기존 LiteLLM proxy를 쓴다면 아래처럼 지정하세요 — api_base 끝에 /chat/completions를 붙이지 마세요.

litellm config.yaml
# litellm config.yaml  (LiteLLM proxy를 쓰는 경우)
model_list:
  - model_name: pleum-gpt-4.1
    litellm_params:
      model: openai/gpt-4.1              # openai/ prefix  OpenAI-compat route
      api_base: https://router.pleum.ai/v1           # do NOT append /chat/completions
      api_key: os.environ/PLEUM_API_KEY
막히는 부분이 있나요? 플레이그라운드에서 키를 넣고 바로 테스트해 보세요. 가입 시 ₩1,000, 첫 구매 시 ₩5,000 보너스도 드립니다.