Integrations
도구 연동
Celon은 OpenAI 형식과 Anthropic Messages 형식을 모두 받습니다. 기존 클라이언트는 주소와 키만 교체하면 그대로 동작합니다. 두 형식 모두 같은 게이트웨이를 지나므로 라우팅·절감· 가드레일·감사 기록이 동일하게 적용됩니다.
엔드포인트 선택
대부분의 도구는 OpenAI 형식을 사용합니다. Claude Code는 Anthropic Messages 형식만 지원하므로, 별도 프록시 없이 연결되도록 전용 엔드포인트를 제공합니다.
| 형식 | 주소 | 인증 헤더 | 도구 |
|---|---|---|---|
| OpenAI | https://api.celon.ai/v1 | Authorization: Bearer | Cursor, OpenClaw, Hermes, AI SDK, OpenAI SDK |
| Anthropic Messages | https://api.celon.ai | x-api-key | Claude Code, Anthropic SDK |
에이전트로 설정
아래 도구는 대부분 에이전트입니다. 설정 파일을 직접 편집하는 대신 다음 프롬프트를 붙여넣으면 해당 도구의 형식과 설정 위치를 스스로 찾아 적용합니다.
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을 지정해야 합니다. 지정하지 않으면 요청한 모델이 그대로 서빙되며 라우터를 거치지 않습니다.
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
> /statusCursor
Settings → Models에서 OpenAI 호환 제공자를 추가하고 주소를 덮어씁니다.
Base URL: https://api.celon.ai/v1
API Key: sk-celon-...
Model: celon/codeOpenClaw
api: "openai-completions"로 제공자를 추가합니다. 모델은 agents.defaults.models의 허용 목록에도 제공자이름/모델id 형식으로 등록해야 합니다. Celon의 모델 id에 이미 슬래시가 포함되므로 celon/celon/auto가 됩니다.
{
"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/autoVercel AI SDK
createOpenAI에 baseURL을 지정합니다. 스트리밍과 툴 호출은 그대로 동작합니다.
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
시작하기 문서와 동일하게 두 줄만 교체합니다.
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가 반환하는 값은 추정치입니다. 요청이 어떤 모델로 라우팅될지 확정되기 전에 계산하므로, 기준이 되는 단일 토크나이저가 존재하지 않습니다.