소개
Claude Opus 4.5는 Anthropic의 Opus 계열 채팅 모델로, 여기서는 /v1/chat/completions의 OpenAI 호환 엔드포인트 하나로 제공합니다. 198,000토큰 창에 수십 턴의 대화 기록을 그대로 담고, 응답 하나는 최대 32,768토큰까지 쓸 수 있어 장면 하나나 짧은 챕터 하나를 한 번에 받을 수 있습니다.
추론 강도 low, medium, high와 함께 temperature(0~1, 기본값 1)와 top_p를 받습니다. 메시지 내용은 텍스트와 이미지가 가능하고, 요청 하나에 도구를 최대 128개까지 붙일 수 있으며, 원하면 응답을 Server-Sent Events로 스트리밍합니다.
핵심 기능 및 하이라이트
198,000토큰을 쓰인 그대로 읽습니다
롤플레이가 서른 턴쯤 이어지면 먼저 흔들리는 것은 문장이 아니라 기억입니다. 캐릭터가 어디서 왔는지, 무엇에 동의했는지, 절대 넘지 않겠다던 선이 무엇인지 말입니다. 198,000토큰이면 그 기록을 요청에 그대로 실을 수 있어서, 중요한 줄이 빠진 요약이 아니라 원래 대사를 모델이 읽습니다.
여전히 조정할 수 있는 샘플링
temperature는 01이고 기본값은 1, top_p는 0.011입니다. 새로운 내용을 지어내면 안 되는 연속성 점검에서는 temperature를 낮추고, 놀라움이 필요한 대화에서는 1로 둡니다. 추론 강도는 low, medium, high 중에서 고르는 별도 설정입니다.
도구 호출을 강제해 받는 구조화 출력
이 엔드포인트에는 response_format이 없으므로 기계가 읽을 출력은 도구를 거칩니다. 요청마다 함수 정의를 최대 128개까지 싣고 tool_choice는 auto, none, required 또는 특정 함수로 지정합니다. JSON 스키마를 도구의 매개변수로 두고 그 도구를 강제한 뒤, 돌아온 인수를 검증하세요.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
messages | 예 | 순서대로 놓인 대화 턴입니다. 내용은 문자열이거나 text와 |
max_tokens | 아니요 | 응답을 32,768에서 자릅니다. 읽기 창의 약 6분의 1이고, 기본값은 4,096입니다. |
reasoning_effort | 아니요 | low, medium, high이고 기본은 medium입니다. 모델이 쓰기 전에 세부를 맞춰야 하는 답이면 올리세요. |
stop | 아니요 | 최대 4개의 정지 시퀀스를 문자열 또는 배열로 지정합니다. 모델이 그중 하나를 쓰는 즉시 응답이 끝나며, 일치한 텍스트 자체는 반환되지 않습니다. 1자 이상 · 1개 이상 · 4개 이하 |
temperature | 아니요 | 0에서 1까지, 기본값은 1입니다. 응답을 코드가 파싱한다면 0으로 고정하고, 한 작품의 목소리가 정해졌으면 그대로 두세요. |
top_p | 아니요 | 0.01에서 1까지입니다. 한 비교 안에서는 이 값이나 temperature 중 하나만 조절하세요. |
tools | 아니요 | 요청당 함수 정의 최대 128개입니다. 128개 이하 |
parallel_tool_calls | 아니요 | true 또는 false이며 기본값은 true입니다. true이면 모델이 한 턴에 여러 도구 호출을 요청할 수 있습니다. 기본값: |
tool_choice | 아니요 | auto, none, required, 또는 함수 하나를 지정한 객체입니다. |
요금
입력 $4.50 / 출력 $22.50 100만 토큰당
활용 사례
역할에서 벗어나지 않는 캐릭터 채팅
캐릭터 시트는 system 메시지에, 진행 중인 대화 기록은 messages에 넣습니다. 수십 턴이 지나도 세 번째 턴에 한 약속을 모델이 인용할 수 있는 것은, 그 세 번째 턴이 아직 요청 안에 있기 때문입니다.
장면 길이의 이어 쓰기
32,768토큰은 긴 장면 하나나 짧은 챕터 하나 정도입니다. max_tokens를 기본값 4,096보다 올려 다음 장면을 요청하면, 손으로 이은 세 조각이 아니라 하나로 이어진 글이 도착합니다.
앱에 저장할 수 있는 이야기 상태
장소, 관계, 풀리지 않은 복선을 필드로 가진 update_story_state 같은 도구를 정의하고, 몇 턴마다 강제 호출해 인수를 앱에 저장합니다. 본문과 상태가 같은 맥락에서 나오므로 서로 어긋나지 않습니다.
프롬프트 가이드 및 실전 팁
페르소나와 한계선은 system 메시지에
출신, 말버릇, 절대 넘지 않을 선, 서술 인칭과 시제는 요청 밖으로 밀려나지 않는 system 메시지에 둡니다. user 메시지에는 지금 턴만 넣으세요. 그래야 나중에 길이를 줄일 때 잘려 나가는 것이 대화 기록이지 캐릭터가 아닙니다.
길이를 요구하기 전에 max_tokens를 올리세요
기본값 4,096토큰으로는 몇 페이지 분량이 전부입니다. 장면 하나를 통째로 받으려면 max_tokens를 최대 32,768까지 명시하세요. 문단 중간에서 끊긴 응답은 처음부터 짧게 계획한 응답보다 살리기 어렵습니다.
창이 어디서 끝나는지 알아 두세요
읽는 양이 쓰는 양의 약 여섯 배이므로, 긴 입력을 그대로 재현해 달라는 요청은 응답 상한에 먼저 걸립니다. 32,768을 넘는 max_tokens는 검증에서 거부됩니다. 동영상 및 오디오 파트는 받지 않으며, 198,000토큰에는 system 프롬프트와 대화 기록, 모든 도구 결과가 함께 들어갑니다.
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-opus-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 레퍼런스에서 확인하세요.














