← 문서 목록

엔드포인트

채팅 응답 생성

POST/v1/chat/completions

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

본문

modelstring필수
모델 ID (예: everyais/claude-opus-5)
messagesarray필수
메시지 배열 1~1000개. rolesystem / user / assistant / tool / developer(→ system 으로 정규화). content 는 문자열·null·멀티모달 파트 배열(최대 1000)
streamboolean선택
SSE 스트리밍 (기본 false)
stream_optionsobject선택
{"include_usage": true} 면 마지막 청크에 usage 포함
max_tokensinteger선택
최대 출력 토큰 1~200000. max_completion_tokens 로 보내도 자동 정규화됩니다
temperaturenumber선택
0~2
top_pnumber선택
0~1
stopstring | string[]선택
최대 4개
ninteger선택
1 만 지원(기본 1). 2 이상은 400
presence_penalty / frequency_penaltynumber선택
-2~2
seedinteger선택
재현성 힌트
toolsarray선택
function 도구 정의(최대 512개)와 서버 실행 웹 검색 {"type":"web_search"}(최대 1개 — 웹 검색 가이드 참고)
tool_choicestring | object선택
auto / none / required 또는 {"type":"function","function":{"name":"..."}}. none은 웹 검색도 비활성화합니다
response_formatobject선택
{"type":"text"} · {"type":"json_object"} · {"type":"json_schema","json_schema":{...}}
reasoning_effortstring선택
none / low / medium / high
parallel_tool_callsboolean선택
병렬 도구 호출 허용
logprobs / top_logprobsboolean / integer선택
지원하는 Chat Completions 공급 경로에 전달합니다. top_logprobs는 0~20. OpenAI/Mantle의 업스트림 Responses 경로는 명시하면 400
userstring선택
최종 사용자 식별자
everyaisobject선택
게이트웨이 옵션 — {"cache":"on"|"off","cache_ttl":"5m"|"1h"}provider
providerobject선택
라우팅 힌트 — sort (price / latency / throughput) · allow_fallbacks. 공급자 이름 지정은 지원하지 않습니다.
modelsstring[]선택
카탈로그 fallback. 최대 5개. 첫 모델이 호출 불가면 다음을 예약 전에만 시도합니다.
extra_bodyobject선택
공급자별 확장 — anthropic / google / openai / everyais 키만 허용(그 외 키는 400). extra_body.provider 는 거부.

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

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

모델별 옵션 지원

위 표는 공통 입력 형식입니다. 모든 모델이 모든 값을 지원하지는 않습니다. GET /v1/modelscapabilitieslimits를 먼저 확인하세요. false는 미지원, 필드 생략은 지원 미확인입니다. 미지원 옵션·값·조합을 명시하면 400을 반환합니다.

모델·경로지원값과 조합
Claude Opus 5 등 최신 Claude / Bedrocktemperature·top_p·extra_body.anthropic.top_k를 생략하세요. 값을 지정하면 400입니다. reasoning_effortlow·medium·high는 adaptive thinking과 effort로 전달되며 수동 budget_tokens로 바꾸지 않습니다
Claude Opus 4.6 / Sonnet 4.6adaptive thinking과 수동 thinking을 모두 지원합니다. 수동 예산은 1024 ≤ budget_tokens < max_tokens여야 합니다
Claude 3.7 Sonnet / Opus 4·4.1·4.5 / Sonnet 4·4.5 / Haiku 4.5수동 thinking 지원 모델입니다. reasoning_effortlow=2048, medium=8192, high=32768 thinking 토큰을 요청하며 max_tokens에 이 예산을 더해 공급자로 보냅니다
Claude Fable / Mythos추론 비활성화(reasoning_effort: "none")는 400입니다
Gemini 3.6·3.7·3.8 Flash / 3.5 Flash-Litetemperature·top_p·extra_body.google.top_k를 명시하면 400입니다. 생략하면 공급자 기본값을 사용합니다
Gemini 3.1 Flash Image / Flash-Lite Image (Chat)명시적인 reasoning_efforthigh만 지원합니다. 이미지 크기·품질은 이미지 엔드포인트 문서를 확인하세요
Gemini 3 Prolow·high만 지원합니다. medium·none은 400입니다
Gemini 3.1 Pro / Gemini 3 Flash·3.1 Flash-Lite·3.5 Flashlow·medium·high 지원. none은 400이며 low로 바뀌지 않습니다
Gemini 2.5 Prolow=2048·medium=8192·high=32768 thinking 토큰. none은 400입니다
Gemini 2.5 Flash / Flash-Litenone=0·low=2048·medium=8192·high=24576 thinking 토큰
  • Claude 4.6 이하의 thinking 활성화 시 temperature는 명시하면 1만, top_p는 0.95~1만 허용하고 top_k는 400입니다. Opus/Sonnet 4.5·4.6 및 Haiku 4.5는 temperaturetop_p 동시 지정도 400입니다. 수동 thinking과 tool_choice: "required"/특정 함수 선택은 함께 쓸 수 없습니다. Fable/Mythos 5.1은 강제 도구 선택 자체가 미지원입니다.
  • Chat의 max_tokens는 모델 출력 한도로 제한될 수 있습니다. extra_body.anthropic.thinking으로 수동 예산을 직접 주면 예산을 더하지 않으며, 예산이 max_tokens보다 작아야 합니다.
  • 공급자가 OpenAI 호환 형식을 사용해도 옵션 지원은 실제 호출 경로에 따라 다릅니다. OpenAI/Mantle의 업스트림 Responses 경로(GPT-6, Responses 전용 모델 등)는 stop·seed·presence_penalty·frequency_penalty·logprobs·top_logprobs를 명시하면 400입니다. logprobs: false도 생략과 다릅니다. 이 옵션들을 조용히 무시하지 않으며, user는 최종 사용자 식별자로 그대로 전달합니다. 이는 고객이 /v1/chat/completions를 호출해도 적용되는 공급 경로의 제한입니다.
  • capabilities.sampling은 샘플링 옵션 지원 여부, limits.reasoning_efforts는 해당 모델의 추론 단계 목록입니다. 생략은 모델 기본 동작이며 none과 다릅니다.
  • json_mode는 JSON 출력 요청, structured_outputs는 네이티브 strict 스키마 보장 지원입니다. Claude의 json_objectstrict 생략/false인 JSON 스키마는 프롬프트 기반 최선 노력 방식이며 스키마 준수를 보장하지 않습니다. strict: true는 네이티브 지원 모델에서만 허용하며, 미지원이면 400입니다. Claude 도구의 function.strict에도 네이티브 지원 제한이 적용됩니다.
  • strict 함수 도구 지원은 JSON 스키마 지원과 별개입니다. Gemini 3의 function.strict: true는 자동 도구 선택에서 공급자의 VALIDATED 모드로 전달됩니다. Gemini 2.5는 JSON 스키마를 지원해도 strict 함수 도구는 미지원이므로 strict: true에 400을 반환합니다.
  • Claude 네이티브 strict 지원은 공급 경로에 따라 다릅니다. Bedrock에서는 Opus/Sonnet 4.5·4.6 및 Haiku 4.5를 지원하며 Opus 5에 자동 상속되지 않습니다. 공개 메타데이터가 true인 경우에만 지원을 전제로 사용하세요.
  • Claude의 parallel_tool_calls: false는 병렬 도구 호출을 비활성화합니다. Gemini는 false를 지원하지 않아 400이며, true 또는 생략은 공급자의 병렬 호출을 허용합니다.
  • Gemini 2.5는 JSON 출력(json_object/json_schema)과 도구를 함께 지정하면 400입니다. 웹 검색과 함수 도구를 섞는 조합도 400입니다. 각 기능을 따로 사용하세요. Gemini 3은 이 조합을 지원합니다. capabilities.json_mode_with_tools·web_search_with_toolsfalse이면 해당 조합은 미지원이고, 생략이면 지원 미확인입니다.
  • 함수 도구 결과를 보내는 대화에서는 같은 모델에 원래 assistant 메시지의 tool_calls를 그대로 다시 보내고, 해당 tool_call_id의 tool 결과를 이어 붙이세요. Gemini의 tool_calls[].extra_content.google.thought_signature는 불투명한 공급자 값이므로 수정·삭제·다른 모델에 재사용하지 마세요.
  • web_searchcapabilities.web_search: true인 Chat 모델에서만 지원합니다. Gemini의 tool_choice: "none"은 검색도 비활성화합니다. 검색 도구만 두고 required 또는 특정 함수를 강제하면 400입니다.

스트리밍

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

전체 스트리밍 예제와 종료·오류 처리는 스트리밍 가이드를 참고하세요.

모델별 최신 옵션

불러오는 중…