소개
Claude Sonnet 5는 Anthropic 채팅 모델 가운데 일상적인 작업을 도맡는 모델로, 여기서는 /v1/chat/completions의 OpenAI 호환 엔드포인트 하나로 제공합니다. 호출마다 최대 1,000,000토큰을 읽고 응답 하나로 최대 64,000토큰을 쓰므로, 긴 세션을 매 턴 통째로 보낼 수 있습니다.
추론 강도는 low, medium, high이며 기본값은 medium입니다. 샘플링은 모델이 고정하므로 temperature와 top_p는 받지 않습니다. 메시지 내용은 텍스트와 이미지가 가능하고, 같은 호출에서 도구 최대 128개와 SSE 스트리밍을 쓸 수 있습니다.
핵심 기능 및 하이라이트
100만 토큰의 세션 기억
원래 대화 수백 턴이 1,000,000토큰 상한 안에 들어갑니다. 순서대로 다시 보내면 모델은 각 인물이 실제로 한 말을 읽고, 흔히 일관성이라고 부르는 것의 대부분이 바로 여기서 나옵니다.
필요할 때만 올리는 추론 강도
low, medium, high는 같은 요청 본문에서 지정합니다. 평범한 주고받기는 low로도 잘 돌아가고 더 빨리 돌아옵니다. 복선이 모여야 하거나 여러 인물이 한 공간에 있을 때 올리세요. 강도가 높을수록 더 오래 생각하고 대개 출력 토큰도 늘어납니다.
샘플링 조절 장치가 없는 요청 본문
temperature와 top_p는 모델이 고정하므로, 예전 연동에서 복사한 요청이라면 둘 다 빼야 합니다. 둘 중 하나라도 보내면 조용히 무시되는 대신 검증 오류가 나므로, 깜빡 남긴 설정이 몰래 동작을 바꾸는 일은 없습니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
messages | 예 | 순서대로 놓은 대화 턴입니다. 내용은 문자열이거나 text와 |
max_tokens | 아니요 | 응답을 64,000에서 자릅니다. 읽기 창의 16분의 1이고, 기본값은 4,096입니다. |
reasoning_effort | 아니요 | low, medium, high 중 하나이고 기본값은 medium입니다. 평소 주고받기는 low로 돌리고 결정적 장면만 올리세요. |
stop | 아니요 | 최대 4개의 정지 시퀀스를 문자열 또는 배열로 지정합니다. 모델이 그중 하나를 쓰는 즉시 응답이 끝나며, 일치한 텍스트 자체는 반환되지 않습니다. 1자 이상 · 1개 이상 · 4개 이하 |
tools | 아니요 | 요청당 함수 정의 최대 128개입니다. 128개 이하 |
parallel_tool_calls | 아니요 | true 또는 false이며 기본값은 true입니다. true이면 모델이 한 턴에 여러 도구 호출을 요청할 수 있습니다. 기본값: |
tool_choice | 아니요 | auto, none, required, 또는 함수 하나를 지정한 객체입니다. |
요금
입력 $1.90 / 출력 $9.50 100만 토큰당
활용 사례
오래 이어지는 컴패니언 대화
진행 중인 대화를 세션이 바뀌어도 messages 배열에 계속 담아 두세요. 100만 토큰이면 긴 관계의 흐름도 요약 없이 들어가고, 캐릭터는 바꿔 쓴 말이 아니라 실제 대사를 짚으며 이야기합니다.
한 장면 속 서너 개의 목소리
인물마다의 말투와 넘지 않을 선을 system 메시지에 적고, user 턴에는 행동만 싣습니다. 이전 턴이 모두 창 안에 남아 있으니 누가 무슨 말을 했는지 기록으로 남고, 목소리가 서로 섞이지 않습니다.
주사위, 인벤토리, 설정 자료를 도구로
주사위 굴림, 인벤토리 확인, 설정 조회를 함수로 정의하고 언제 실행할지는 tool_choice에 맡기세요. 결과는 같은 스레드에 tool 메시지로 도착하므로 이야기가 대화를 벗어나지 않고 행동을 처리합니다.
프롬프트 가이드 및 실전 팁
평소 턴은 low, 중요한 장면은 high
주고받는 대화는 대개 low로 충분하고, 아끼는 것은 토큰만이 아니라 시간이기도 합니다. 복선을 모아야 할 때 올리세요. 같은 요청의 문자열 하나만 바꾸면 됩니다.
max_tokens는 원하는 길이에 맞추세요
기본값 4,096이면 탄탄한 장면 하나는 충분합니다. 생각도 같은 예산에서 나가므로 상한이 작으면 응답이 시작되기 전에 추론으로 다 써 버릴 수 있습니다. 강도를 높일 때는 상한 64,000 안에서 넉넉하게 잡으세요.
미리 감안할 한계
동영상 및 오디오 파트는 받지 않고, 응답을 미리 채우려고 assistant 메시지로 대화를 끝낼 수 없으며, response_format도 없습니다. 기계가 읽을 출력이 필요하면 JSON 스키마를 매개변수로 삼은 도구를 강제하세요. 도구 결과는 대화와 같은 창을 쓰므로 아주 긴 세션은 결국 정리가 필요합니다.
API 빠른 시작
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "anthropic/claude-sonnet-5/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
인증, 전체 스키마, 폴링과 오류 처리는 API 레퍼런스에서 확인하세요.














