Anthropic Messages 호환 — Claude Code 등 anthropic-native 클라이언트가 그대로 붙습니다.
내부적으로 동일한 채팅 파이프라인을 타며 stream 을 지원합니다.
본문
modelstring필수- 모델 ID
messagesarray필수role은user/assistant. content 는 문자열 또는 블록 배열(text·image·tool_use·tool_result·thinking·document)max_tokensinteger필수- 1~200000 (Anthropic 규격상 필수)
systemstring | array선택- 문자열 또는 text 블록 배열
temperaturenumber선택- 0~1
top_pnumber선택- 0~1
top_kinteger선택- 양의 정수
stop_sequencesstring[]선택- 최대 8개
streamboolean선택- 기본
false toolsarray선택{name, description, input_schema}tool_choiceobject선택{"type":"auto"|"any"|"none"}또는{"type":"tool","name":"..."}metadataobject선택{"user_id": "..."}thinkingobject선택{"type":"enabled","budget_tokens":N}(N <max_tokens) ·{"type":"adaptive"}·{"type":"disabled"}everyaisobject선택- 게이트웨이 캐싱 옵션
블록에 cache_control 을 직접 붙이면 그대로 전달됩니다(프롬프트 캐싱 참고).
모델별 thinking·도구 지원
GET /v1/models의 capabilities·limits로 지원 모델을 확인하세요. 필드가 없으면 지원 미확인이고, 미지원 옵션·조합은 400입니다. 상세 모델 표는 Chat 옵션을 참고하세요.
- Claude Opus 5 등 최신 모델은
thinking: {"type":"adaptive"}를 사용합니다.thinking: {"type":"enabled","budget_tokens":N}은 모든 Claude에 통하는 형식이 아닙니다. Opus/Sonnet 4.6은 adaptive와 수동을 모두 지원합니다. - 수동 예산은
1024 ≤ budget_tokens < max_tokens이며, 지원하지 않는 모델의 수동 예산을 자동 조정하거나 adaptive로 바꾸지 않습니다. Fable/Mythos의thinking: {"type":"disabled"}는 400입니다. - Bedrock 최신 Claude에
temperature·top_p·top_k를 명시하면 400입니다. 샘플링이 필요한 경우capabilities.sampling을 확인하세요. tool_choice.disable_parallel_tool_use: true는 병렬 호출을 비활성화합니다. Claude의 네이티브 strict 도구는capabilities.structured_outputs: true인 모델에서 지원됩니다. 다른 모델은 Chat 문서의 strict 함수 도구 제한을 확인하세요. 미지원 모델의strict: true는 400입니다.- 웹 검색은
/v1/chat/completions전용입니다. Messages의 tools는 클라이언트 실행 함수 도구입니다.
POST /v1/messages/count_tokens
요청 전 입력 토큰 수를 추정합니다. Claude Code 가 자동으로 호출하는 엔드포인트입니다.
- 무과금 — 크레딧이 차감되지 않습니다.
- 업스트림 프로바이더를 호출하지 않고 휴리스틱 추정치를 반환합니다(정확한 토크나이저 결과와 다를 수 있음).
- 요청 본문은
/v1/messages와 동일한 형태를 받습니다.
json
{
"input_tokens": 1234
}