소개
Claude Sonnet 4.5는 Anthropic의 채팅 모델로, 여기서는 /v1/chat/completions의 OpenAI 호환 엔드포인트 하나로 제공합니다. 최대 198,000토큰을 읽고 최대 64,000토큰으로 답합니다. 입력과 출력이 대략 3 대 1로, 캐릭터 시트와 대화 기록을 넣고 수천 단어의 글을 받는 장면이나 챕터의 형태 그대로입니다.
요청에서 temperature(0~1, 기본값 1)와 top_p를 지정할 수 있으며, 이 엔드포인트에는 추론 강도 설정이 없습니다. 메시지 내용은 텍스트와 이미지를 받고, 호출 하나에 도구 스키마를 최대 128개까지 실을 수 있으며, stream: true를 쓰면 나머지를 쓰는 동안 첫 문장이 먼저 도착합니다.
핵심 기능 및 하이라이트
이야기 한 줄기에 맞춘 창
198,000토큰이면 캐릭터 시트와 세계관 규칙, 긴 대화 기록을 몇 턴마다 요약하지 않고도 담을 수 있습니다. 목소리, 기질, 설정처럼 흔들리면 안 되는 것은 system 메시지에 두고, 장면은 user 메시지에 맡기세요.
응답 64,000토큰
응답 상한이 64,000토큰이라 공간이 모자라 챕터가 문단 중간에서 멈추는 일은 없습니다. max_tokens 기본값 4,096은 수백 단어 정도이니, 장면을 끝까지 쓰게 하려면 값을 올리세요.
주고받는 대화를 위한 스트리밍
롤플레이는 주고받는 대화이고, 누군가 커서를 지켜보고 있습니다. stream: true를 쓰면 응답이 Server-Sent Events 조각으로 오므로, 나머지가 생성되는 동안 첫 문장을 화면에 띄울 수 있습니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
messages | 예 | 순서대로 이어지는 대화 턴입니다. 내용은 문자열이거나 text와 |
max_tokens | 아니요 | 응답을 64,000에서 자릅니다. 기본값 4,096은 몇백 단어라서, 장면을 끝까지 쓰게 하려면 올려 주세요. |
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, 또는 함수 하나를 지정한 객체입니다. |
요금
입력 $2.70 / 출력 $13.50 100만 토큰당
활용 사례
오래 이어지는 롤플레이 세션
캐릭터 시트와 세계관 규칙은 system 메시지에 두고, 대화 기록은 messages 배열에서 늘려 갑니다. 198,000토큰은 이야기 한 줄기 분량의 장면이므로, 요약으로 말투를 다시 잡지 않아도 목소리가 유지됩니다.
인터랙티브 픽션의 한 챕터
분기형 픽션은 읽고 나서 쓰는 일입니다. 수천 토큰의 상태와 경과를 넣고 한 장면의 글을 받습니다. 3 대 1이 바로 그 형태이며, 64,000토큰 상한 덕분에 챕터가 끝까지 이어집니다.
한 스레드 안의 NPC 군상
인물마다 system 메시지의 한 구간을 주고, user 메시지에서는 지금 누가 무대에 있는지만 알려 주세요. 모든 NPC가 같은 요청 안에 묘사되어 있으므로 각자 흔들리지 않을 뿐 아니라 서로의 관계도 어긋나지 않습니다.
프롬프트 가이드 및 실전 팁
캐릭터는 system 메시지에
캐릭터 시트와 말투, 세계관 규칙은 system 메시지에, 장면은 user 메시지에 넣으세요. 나중에 길이를 줄일 때 잘리는 것은 대화 기록이고, 캐릭터는 쓴 그대로 남습니다.
작업에 맞춰 temperature를 조정하세요
생생한 대화가 필요하면 temperature를 1 근처에 두고, 연속성 점검이나 줄거리 요약에서는 낮추세요. 장면이 좁은 어조를 지켜야 할 때는 top_p로 단어 선택을 더 좁힐 수 있습니다.
구조화 출력과 한계
여기에는 response_format이 없습니다. 원하는 JSON 스키마를 매개변수로 삼은 도구를 정의하고 tool_choice로 지정한 뒤, 돌아온 인수를 검증하세요. 64,000을 넘는 max_tokens는 검증에서 거부되고 동영상 및 오디오 파트는 받지 않습니다.
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.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 레퍼런스에서 확인하세요.














