소개
Claude Sonnet 4.6는 Anthropic 채팅 모델 가운데 일상적인 작업을 도맡는 모델로, 여기서는 /v1/chat/completions의 OpenAI 호환 엔드포인트 하나로 제공합니다. 호출마다 최대 1,000,000토큰을 읽고 최대 64,000토큰으로 답하므로, 롤플레이 수백 턴을 먼저 요약하지 않고 그대로 이어 갈 수 있습니다.
추론 강도는 low, medium, high, max이며 기본값은 medium이고, temperature(0~1)와 top_p도 조정할 수 있습니다. 메시지 내용은 텍스트와 이미지를 받으며, 같은 요청에서 도구 최대 128개와 SSE 스트리밍을 쓸 수 있습니다.
핵심 기능 및 하이라이트
수백 턴을 그대로 이어 갑니다
1,000,000토큰에는 원래 대화 수백 턴이 들어갑니다. 요약 단계를 빼면 캐릭터는 삼백 번째 턴에서도 열 번째 턴에 동의한 것을 기억합니다. 압축을 시작하면 가장 먼저 빠지는 것이 바로 캐릭터를 일관되게 붙잡아 주던 디테일입니다.
쓰는 양의 열여섯 배를 읽습니다
창은 응답 상한 64,000토큰의 열여섯 배이고, 이 형태는 대화에 잘 맞습니다. 턴마다 많은 기록을 읽고 장면이나 챕터 하나를 써서 돌려주는 방식입니다. 결과물 하나가 64,000토큰을 넘을 것 같다면 챕터 단위로 나누세요.
추론 강도와 샘플링을 같은 본문에
low, medium, high, max가 temperature, top_p와 같은 요청 본문에 나란히 들어갑니다. 평소 턴은 low에 따뜻한 temperature로 돌리고, 복선을 묶어야 하는 턴만 high나 max로 보내세요.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
messages | 예 | 순서대로 놓은 대화 턴입니다. 내용은 문자열이거나 text와 |
max_tokens | 아니요 | 응답을 64,000에서 자릅니다. 읽기 창의 16분의 1이고, 기본값은 4,096입니다. |
reasoning_effort | 아니요 | low, medium, high, max이고 기본은 medium입니다. 모델이 쓰기 전에 세부를 맞춰야 하는 답이면 올리세요. |
stop | 아니요 | 최대 4개의 정지 시퀀스를 문자열 또는 배열로 지정합니다. 모델이 그중 하나를 쓰는 즉시 응답이 끝나며, 일치한 텍스트 자체는 반환되지 않습니다. 1자 이상 · 1개 이상 · 4개 이하 |
temperature | 아니요 | 0에서 1까지, 기본값은 1입니다. 응답을 코드가 파싱한다면 0으로 고정하세요. |
top_k | 아니요 | 1~500입니다. 다음에 올 확률이 가장 높은 상위 k개 토큰에서만 샘플링합니다. |
top_p | 아니요 | 0.01에서 1까지입니다. 한 비교 안에서는 이 값이나 temperature 중 하나만 조절하세요. |
tools | 아니요 | 요청당 함수 정의 최대 128개입니다. 128개 이하 |
parallel_tool_calls | 아니요 | true 또는 false이며 기본값은 true입니다. true이면 모델이 한 턴에 여러 도구 호출을 요청할 수 있습니다. 기본값: |
tool_choice | 아니요 | auto, none, required, 또는 함수 하나를 지정한 객체입니다. |
요금
입력 $3 / 출력 $15 100만 토큰당
활용 사례
수백 턴을 버티는 롤플레이
대화 기록 전체를 손대지 않고 턴마다 다시 보냅니다. 캐릭터의 약속과 앙금, 반복되는 농담이 요청 안에 남아 있으므로 일관성은 프롬프트 속 메모가 아니라 자료 자체에서 나옵니다.
도구를 쓰는 인터랙티브 픽션
주사위 굴림, 인벤토리 확인, 설정 조회를 함수로 넣을 수 있습니다. 정의는 최대 128개이고 tool_choice로 제어합니다. 결과는 같은 대화 안에 tool 메시지로 돌아오므로 판정 때문에 장면을 벗어날 일이 없습니다.
연재 이어 쓰기
지금까지의 이야기를 요청에 넣고 다음 챕터를 부탁하세요. 64,000토큰 상한이면 장면 하나를 끝까지 쓸 수 있고, 전제가 아직 창 안에 있으니 연재마다 전제를 다시 설명할 필요가 없습니다.
프롬프트 가이드 및 실전 팁
등장인물은 system 메시지에 고정하세요
인물마다의 말투와 관계, 넘지 않을 선은 system 메시지에 두고 user 턴에는 줄거리만 싣습니다. 그러면 이야기가 갈라져도 요청의 뒷부분만 바뀝니다.
max_tokens에 추론할 여유를 남기세요
기본값은 4,096토큰입니다. 추론 토큰도 출력으로 과금되므로 high나 max에서는 눈에 보이는 응답보다 여유 있게, 최대 64,000 안에서 max_tokens를 잡으세요.
엔드포인트가 거부하는 것
64,000을 넘는 max_tokens, 동영상 및 오디오 파트, 응답을 미리 채우려고 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-4.6/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 레퍼런스에서 확인하세요.














