← 문서 목록

POST /v1/chat/completions

OpenAI 호환 채팅 완성. 스트리밍·도구 호출·구조화 출력 지원.

채팅 완성(LLM). stream: true 로 토큰 단위 SSE 스트리밍을 지원합니다.

Parameters

ParameterTypeRequiredDescription
modelstringYes모델 ID (예: everyais/claude-opus-5)
messagesarrayYes메시지 배열 1~1000개. rolesystem / user / assistant / tool / developer(→ system 으로 정규화). content 는 문자열·null·멀티모달 파트 배열(최대 1000)
streambooleanNoSSE 스트리밍 (기본 false)
stream_optionsobjectNo{"include_usage": true} 면 마지막 청크에 usage 포함
max_tokensintegerNo최대 출력 토큰 1~200000. max_completion_tokens 로 보내도 자동 정규화됩니다
temperaturenumberNo0~2
top_pnumberNo0~1
stopstring | string[]No최대 4개
nintegerNo1 만 지원(기본 1). 2 이상은 400
presence_penalty / frequency_penaltynumberNo-2~2
seedintegerNo재현성 힌트
toolsarrayNofunction 도구 정의(최대 512개)와 서버 실행 웹 검색 {"type":"web_search"}(최대 1개 — 웹 검색 가이드 참고)
tool_choicestring | objectNoauto / none / required 또는 {"type":"function","function":{"name":"..."}}. function 도구에만 적용됩니다
response_formatobjectNo{"type":"text"} · {"type":"json_object"} · {"type":"json_schema","json_schema":{...}}
reasoning_effortstringNonone / low / medium / high
parallel_tool_callsbooleanNo병렬 도구 호출 허용
logprobs / top_logprobsboolean / integerNoOpenAI 호환 백엔드에만 패스쓰루. top_logprobs 는 0~20
userstringNo최종 사용자 식별자
everyaisobjectNo게이트웨이 옵션 — {"cache":"on"|"off","cache_ttl":"5m"|"1h"}provider
providerobjectNo엔드포인트 힌트 — only / order / ignore / sort(price| latency| throughput) / allow_fallbacks. 판매가는 모델 단일가. sort 는 라우팅만 바꿉니다.
modelsstring[]No카탈로그 fallback. 최대 5개. 첫 모델이 호출 불가면 다음을 예약 전에만 시도합니다.
extra_bodyobjectNo공급자별 확장 — anthropic / google / openai / everyais 키만 허용(그 외 키는 400). extra_body.provider 는 거부.

모델 slug 끝에 :nitro(지연 우선) 또는 :floor(엔드포인트 원가 낮은 쪽)를 붙일 수 있습니다. 청구액은 바뀌지 않습니다.

정의되지 않은 OpenAI 파라미터(logit_bias, store 등)는 조용히 무시됩니다.

Request

{
  "model": "everyais/claude-opus-5",
  "messages": [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello!"}
  ],
  "stream": false,
  "max_tokens": 1024
}

Response

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1709884800,
  "model": "everyais/claude-opus-5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 10,
    "total_tokens": 35
  }
}

스트리밍

stream: truedata: {...} SSE 청크가 이어지고 data: [DONE] 으로 끝납니다. stream_options.include_usage 를 켜면 마지막 usage 청크가 추가됩니다.