OpenAI 호환 프로토콜이며 필드는 공식 API와 일치합니다. 대상:
- 공식 OpenAI SDK(
openai-python/openainpm) base_url설정을 지원하는 OpenAI 호환 클라이언트- Cursor, Cline, Continue 등 IDE 플러그인
- LangChain, LlamaIndex 등 프레임워크
엔드포인트
POST https://relay.4aicode.com/v1/chat/completions
요청
POST /v1/chat/completions HTTP/1.1
Host: relay.4aicode.com
Authorization: Bearer sk-4ai-xxxxxxxxxxxxxxxx
content-type: application/json
{
"model": "gpt-5.6-terra",
"stream": true,
"messages": [
{ "role": "system", "content": "You are helpful." },
{ "role": "user", "content": "Write fizzbuzz in Go." }
]
}
지원 모델
GPT-6:
| Model | 적합 용도 |
|---|---|
gpt-6-astra | 차세대 플래그십; 단문 컨텍스트 입력 $1.50/M, 출력 $7.50/M(공식 가격의 15%) |
gpt-6.1-sol | 복잡한 코딩·장시간 작업용 GPT-6.1 플래그십; 입력 $0.30/M, 출력 $1.50/M(정가의 15%) |
gpt-6.1-terra | 일상 코딩·중간 복잡도용 GPT-6.1 균형 티어; 입력 $0.15/M, 출력 $0.75/M(정가의 15%) |
gpt-6-sol | 복잡한 코딩·장시간 작업용 GPT-6 플래그십; 입력 $0.30/M, 출력 $1.50/M(정가의 15%) |
gpt-6-luna | 빠른 일상 작업용 경량 GPT-6; 입력 $0.015/M, 출력 $0.075/M(정가의 15%) |
GPT-5 시리즈:
| Model | 적합 용도 |
|---|---|
gpt-5.6-sol | 플래그십; 복잡한 코딩·장시간 작업 우선; max reasoning effort 지원 |
gpt-5.6-terra | 가성비 좋은 균형 티어 |
gpt-5.6-luna | 빠르고 저렴; 일상 사용에 충분 |
gpt-5.5 | 이전 세대 범용 모델 |
gpt-5.4 | 범용 |
gpt-5.4-mini | 빠르고 저렴 |
gpt-5.3-codex | 코드 최적화 |
Google Gemini:
| Model | 적합 용도 |
|---|---|
google/gemini-3.1-pro-preview | Google Gemini Pro preview |
google/gemini-3-flash-preview | Google Gemini Flash preview |
google/gemini-2.5-flash | 안정 Google Gemini Flash |
google/gemini-2.5-pro | 안정 Google Gemini Pro |
GPT-5.2 이하 모델은 업스트림에서 deprecated되었습니다. gpt-4o, gpt-4 등 다른 모델은 사용 가능 모델 목록이 포함된 400으로 거부됩니다.
모델 가용성은 업스트림 지원 및 서비스 상태에 따릅니다. 업스트림이 미지원을 보고하면 릴레이가 명시적
400을 반환합니다.
무시되는 매개변수
SDK 호환을 위해 다음은 받아들이지만 효과 없음:
logit_biasuserfunctions(신규tools사용)
응답
공식 OpenAI 응답 형식과 동일:
choices[].message.contentchoices[].finish_reasonusage(prompt_tokens/completion_tokens/total_tokens)
스트리밍 형식:
data: {"choices":[{"delta":{"content":"Hello"}}]}
data: {"choices":[{"delta":{"content":", world"}}]}
data: [DONE]
전체 예제
Python
from openai import OpenAI
client = OpenAI(
base_url="https://relay.4aicode.com/v1",
api_key="sk-4ai-xxxxxxxxxxxxxxxx",
)
resp = client.chat.completions.create(
model="gpt-5.4",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Introduce yourself in one sentence"},
],
)
print(resp.choices[0].message.content)
TypeScript
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://relay.4aicode.com/v1",
apiKey: process.env.OPENAI_API_KEY,
});
const resp = await client.chat.completions.create({
model: "gpt-5.4-mini",
messages: [{ role: "user", content: "hi" }],
});
console.log(resp.choices[0].message.content);
오류
| HTTP | 의미 |
|---|---|
| 400 | 잘못된 필드 / 허용 목록에 없는 모델 |
| 401 | 잘못된 토큰 |
| 403 | 팀 정지 |
| 429 | 속도 제한 또는 할당량 초과 |
| 502 | 업스트림 OpenAI 불안정 |
| 503 | 업스트림 일시 불가; 서비스 쿨다운 및 재시도 |
/v1/messages와의 차이
| 항목 | /v1/messages | /v1/chat/completions |
|---|---|---|
| 프로토콜 | Anthropic | OpenAI |
| 사용 가능 모델 | 모든 Claude 모델 | gpt-5* / google/gemini-* |
| 필수 필드 | max_tokens | — |
| Usage 필드 | input_tokens / output_tokens | prompt_tokens / completion_tokens |