Celon

Integrations

도구 연동

Celon은 OpenAI 형식과 Anthropic Messages 형식을 모두 받습니다. 기존 클라이언트는 주소와 키만 교체하면 그대로 동작합니다. 두 형식 모두 같은 게이트웨이를 지나므로 라우팅·절감· 가드레일·감사 기록이 동일하게 적용됩니다.

엔드포인트 선택

대부분의 도구는 OpenAI 형식을 사용합니다. Claude Code는 Anthropic Messages 형식만 지원하므로, 별도 프록시 없이 연결되도록 전용 엔드포인트를 제공합니다.

형식주소인증 헤더도구
OpenAIhttps://api.celon.ai/v1Authorization: BearerCursor, OpenClaw, Hermes, AI SDK, OpenAI SDK
Anthropic Messageshttps://api.celon.aix-api-keyClaude Code, Anthropic SDK

에이전트로 설정

아래 도구는 대부분 에이전트입니다. 설정 파일을 직접 편집하는 대신 다음 프롬프트를 붙여넣으면 해당 도구의 형식과 설정 위치를 스스로 찾아 적용합니다.

agent prompt
Celon을 이 도구의 모델 제공자로 설정해줘.

- OpenAI 호환 엔드포인트: https://api.celon.ai/v1
- Anthropic Messages 엔드포인트: https://api.celon.ai  (Claude Code처럼 Anthropic 형식만 쓰는 도구용)
- API 키: sk-celon-...  ← 내 키로 바꿔서 넣어줘
- 모델: 코딩 도구면 celon/code, 범용이면 celon/auto
- 백그라운드/요약용 모델을 따로 받는 도구면: celon/floor

이 도구가 OpenAI 형식인지 Anthropic 형식인지 먼저 확인하고, 맞는 엔드포인트로
설정 파일이나 환경 변수를 수정해줘. 끝나면 짧은 요청을 실제로 보내서 확인해줘.

Claude Code

Claude Code는 claude-* 모델명을 내부에 고정하고 있어, 라우팅을 사용하려면 ANTHROPIC_MODEL을 지정해야 합니다. 지정하지 않으면 요청한 모델이 그대로 서빙되며 라우터를 거치지 않습니다.

~/.zshrc
export ANTHROPIC_BASE_URL="https://api.celon.ai"
export ANTHROPIC_API_KEY="sk-celon-..."

# Coding work — hard code to the frontier, lighter code to strong cheap coders
export ANTHROPIC_MODEL="celon/code"
# Background work (summaries, titles) — cheapest quality-vetted model
export ANTHROPIC_SMALL_FAST_MODEL="celon/floor"

ANTHROPIC_SMALL_FAST_MODEL은 Claude Code가 요약·제목 생성 같은 배경 작업에 사용하는 모델입니다. celon/floor를 지정하면 이 작업이 가장 저렴한 검증 모델로 처리됩니다.

터미널
claude
> /status

Cursor

Settings → Models에서 OpenAI 호환 제공자를 추가하고 주소를 덮어씁니다.

Cursor · Models
Base URL:  https://api.celon.ai/v1
API Key:   sk-celon-...
Model:     celon/code

OpenClaw

api: "openai-completions"로 제공자를 추가합니다. 모델은 agents.defaults.models의 허용 목록에도 제공자이름/모델id 형식으로 등록해야 합니다. Celon의 모델 id에 이미 슬래시가 포함되므로 celon/celon/auto가 됩니다.

openclaw.json
{
  "models": {
    "providers": {
      "celon": {
        "baseUrl": "https://api.celon.ai/v1",
        "apiKey": "sk-celon-...",
        "api": "openai-completions",
        "models": [
          { "id": "celon/auto", "name": "Celon Auto", "contextWindow": 1000000, "maxTokens": 8192 }
        ]
      }
    }
  },
  "agents": { "defaults": { "models": ["celon/celon/auto"] } }
}

Hermes

Hermes는 OpenAI 호환 엔드포인트를 지원합니다. 연결 후 hermes model로 모델을 지정합니다.

터미널
export OPENAI_BASE_URL="https://api.celon.ai/v1"
export OPENAI_API_KEY="sk-celon-..."

hermes model  # pick celon/auto

Vercel AI SDK

createOpenAIbaseURL을 지정합니다. 스트리밍과 툴 호출은 그대로 동작합니다.

app/api/chat/route.ts
import { createOpenAI } from "@ai-sdk/openai";
import { generateText } from "ai";

const celon = createOpenAI({
  baseURL: "https://api.celon.ai/v1",
  apiKey: process.env.CELON_API_KEY,
});

const { text } = await generateText({
  model: celon("celon/auto"),
  prompt: "Summarize this quarter's metrics",
});

OpenAI SDK

시작하기 문서와 동일하게 두 줄만 교체합니다.

client.ts
 const client = new OpenAI({
-  baseURL: "https://api.openai.com/v1",
-  apiKey: process.env.OPENAI_API_KEY,
+  baseURL: "https://api.celon.ai/v1", // ← Celon gateway
+  apiKey: process.env.CELON_API_KEY,  // ← sk-celon-…
 });

Anthropic Messages 직접 호출

Messages 형식으로 직접 구현하는 경우입니다. 라우팅 옵션은 OpenAI 엔드포인트와 동일합니다 — 스마트 라우팅참고.

터미널
curl https://api.celon.ai/v1/messages \
  -H "x-api-key: $CELON_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "celon/auto",
    "max_tokens": 1024,
    "messages": [{ "role": "user", "content": "Hello" }]
  }'

지원하지 않는 필드

다음 세 필드는 요청에 포함되어도 무시됩니다. 적용되지 않는 값을 받아들이면 동작을 오해하게 되므로, 무시한다는 사실을 명시합니다.

필드이유
thinking게이트웨이의 내부 응답 형식에 추론 내용을 담는 필드가 없어, 업스트림이 추론을 반환하더라도 전달하지 못합니다. 대화 기록에 포함된 thinking 블록은 받아들인 뒤 무시합니다.
cache_control프롬프트 캐시 표시를 업스트림까지 전달하는 경로가 없습니다. 요청은 Anthropic 외의 모델로 라우팅될 수 있습니다.
top_k요청이 지나가는 OpenAI 형식 파이프라인에 대응하는 파라미터가 없습니다.

POST /v1/messages/count_tokens가 반환하는 값은 추정치입니다. 요청이 어떤 모델로 라우팅될지 확정되기 전에 계산하므로, 기준이 되는 단일 토크나이저가 존재하지 않습니다.