호환 엔드포인트 · 인증 · 스트리밍

개발자 문서

호환 엔드포인트, 인증, 요청 형식, 스트리밍 응답 및 오류 처리에 관한 참조 문서입니다.

빠른 시작

엔드포인트와 Key를 설정하고 클라이언트를 연동한 다음 첫 요청을 보내세요.

엔드포인트 선택

클라이언트가 요구하는 형식을 선택하세요. Chat Completions, Responses, Messages 호환 경로를 사용할 수 있습니다.

Base URL: https://new.weeanno.shop/v1

API Key 준비

유효한 API Key를 서버 환경에서 사용하고 브라우저 코드에 노출하지 마세요.

Authorization: Bearer sk-your-api-key

클라이언트 연동

호환 SDK를 사용하거나 사용자 지정 base_url로 REST API를 직접 호출하세요.

client = OpenAI(base_url='https://new.weeanno.shop/v1')

호출 시작

요청을 보내고 AI 응답을 받으세요. 더 빠른 체감 응답을 위한 스트리밍을 지원합니다.

POST /v1/chat/completions

인증

모든 API 요청에는 HTTP Authorization 헤더에 API Key가 포함되어야 합니다.

인증 형식

모든 요청의 Authorization 헤더에 API Key를 추가하세요.

POST/v1/chat/completions

인증된 요청 예시

요청 예시
json
curl https://new.weeanno.shop/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-your-api-key" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'
응답 예시
json
{
  "id": "chatcmpl_123",
  "object": "chat.completion",
  "choices": [{
    "message": {
      "role": "assistant",
      "content": "Hello! How can I help you today?"
    }
  }]
}
권장 Base URL
https://new.weeanno.shop/v1대부분의 클라이언트에서 사용합니다
대체 Base URL
https://new.weeanno.shop검증 중 클라이언트가 /v1을 거부할 때만 사용합니다
Chat Completions 호환 엔드포인트
/v1/chat/completionsChat Completions를 요구하는 클라이언트용
Responses 호환 엔드포인트
/v1/responsesResponses 지원 클라이언트에서 우선 사용합니다
Messages 호환 엔드포인트
/v1/messagesMessages 호환 클라이언트에서 우선 사용합니다

Chat Completions API

여러 모델 생태계를 위한 OpenAI 호환 Chat Completions 엔드포인트입니다.

python
from openai import OpenAI

# 클라이언트 초기화
client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://new.weeanno.shop/v1"
)

# 채팅 요청 전송
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "간결하게 답변하는 어시스턴트입니다."},
        {"role": "user", "content": "한 문장으로 자기소개해 주세요."}
    ]
)

print(response.choices[0].message.content)

요청 매개변수

매개변수유형필수설명
modelstring필수모델 ID(예: gpt-4o-mini)
messagesarray필수채팅 메시지 배열
temperaturenumber선택0~2의 샘플링 온도, 기본값 1
max_tokensinteger선택생성할 최대 Token 수
streamboolean선택스트리밍 출력 활성화 여부
top_pnumber선택Nucleus Sampling 값, 기본값 1

응답 필드

필드유형설명
idstring응답 고유 식별자
objectstring객체 유형, 일반적으로 chat.completion
createdinteger생성 타임스탬프
modelstring응답에 사용된 모델 ID
choicesarray생성된 응답 선택지
usageobjectToken 사용량 통계

스트리밍

스트리밍을 활성화하면 생성되는 Token을 실시간으로 받아 체감 지연 시간을 줄일 수 있습니다.

스트리밍의 장점
  • 낮은 체감 지연 - 전체 응답을 기다리지 않고 출력을 즉시 확인할 수 있습니다.
  • 더 나은 장문 경험 - 긴 답변이 실시간 입력처럼 점진적으로 표시됩니다.
  • 동일한 비용 - 동기 출력과 요금은 같고 전송 방식만 다릅니다.
python
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://new.weeanno.shop/v1"
)

# 스트리밍 활성화
stream = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "간결하게 답변하는 어시스턴트입니다."},
        {"role": "user", "content": "한 문장으로 자기소개해 주세요."}
    ],
    stream=True
)

# 수신되는 Token을 순서대로 출력
for chunk in stream:
    if chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end="")

print()  # 줄 바꿈

오류

일반적인 API 오류와 권장 처리 방법입니다.

HTTP 상태오류 이름설명권장 조치
400INVALID_REQUEST요청 본문 형식이 잘못되었거나 매개변수가 유효하지 않습니다요청 본문과 매개변수를 확인하세요
401UNAUTHORIZEDAPI Key가 유효하지 않거나 만료되었습니다API Key가 올바른지 확인하세요
429RATE_LIMIT요청 속도 제한을 초과했습니다지수 백오프로 다시 시도하세요
500INTERNAL_ERROR서비스 내부 오류입니다잠시 후 다시 시도하세요
503SERVICE_UNAVAILABLE서비스를 일시적으로 사용할 수 없습니다잠시 후 다시 시도하세요

요청 한도

서비스 안정성을 위해 API 요청 속도가 제한됩니다.

요청 한도 규칙
  • 각 API Key에는 개별 요청 속도 제한이 있습니다
  • 429 응답을 받으면 지수 백오프로 다시 시도하세요
  • 스트리밍 및 비스트리밍 요청은 동일한 속도 제한 쿼터를 공유합니다
  • 실제 한도는 현재 Key 설정을 따릅니다

궁금한 점은 지원팀에 문의하거나 FAQ를 확인하세요.