클라이언트 형식 선택
OpenAI 스타일 JavaScript, Python 및 원시 curl에는 https://cicora.ai/api/v1 을 전달하며, /v1을 다시 추가하지 않고 경로를 붙입니다.
Messages SDK와 Claude Code에는 게이트웨이 루트 https://cicora.ai/api 를 전달합니다. 해당 클라이언트가 /v1/messages를 직접 추가하기 때문입니다. 아래 예시는 두 형식을 모두 보여 줍니다.
JavaScript OpenAI 스타일 클라이언트
typescript
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://cicora.ai/api/v1",
apiKey: process.env.CICORA_API_KEY,
});
const completion = await client.chat.completions.create({
model: "openai/gpt-5.6-sol",
messages: [{ role: "user", content: "Hello" }],
});Python OpenAI 스타일 클라이언트
python
from openai import OpenAI
import os
client = OpenAI(
base_url="https://cicora.ai/api/v1",
api_key=os.environ["CICORA_API_KEY"],
)
completion = client.chat.completions.create(
model="openai/gpt-5.6-sol",
messages=[{"role": "user", "content": "Hello"}],
)Python Messages 클라이언트
python
from anthropic import Anthropic
import os
client = Anthropic(
base_url="https://cicora.ai/api",
auth_token=os.environ["CICORA_API_KEY"],
)
message = client.messages.create(
model="anthropic/claude-sonnet-5",
max_tokens=500,
messages=[{"role": "user", "content": "Hello"}],
)JavaScript Messages 클라이언트
typescript
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://cicora.ai/api",
authToken: process.env.CICORA_API_KEY,
});
const message = await client.messages.create({
model: "anthropic/claude-sonnet-5",
max_tokens: 500,
messages: [{ role: "user", content: "Hello" }],
});Claude Code Messages 게이트웨이
bash
export ANTHROPIC_BASE_URL=https://cicora.ai/api
export ANTHROPIC_AUTH_TOKEN="$CICORA_API_KEY"
export ANTHROPIC_API_KEY=""
# The Messages client appends /v1/messages to the gateway root.
# Clear a preexisting API key so it cannot conflict with the Bearer token.통합 경계
- 프로세스 또는 안전한 애플리케이션 경계마다 하나의 클라이언트를 만드세요.
- 호출 워크플로에서 timeout과 AbortSignal을 전달하세요.
- 호출자 코드에 HTTP 상태와 구조화된 오류 본문을 반환하세요.
버전 및 업데이트
OpenAI 스타일 기본 URL을 Messages SDK에 적용하거나 게이트웨이 루트에 /v1을 수동으로 추가하지 마세요.
참조가 변경된 후에는 클라이언트를 업데이트하고 출시 전에 models를 거치는 주요 경로를 확인하세요.