Claude 1M 토큰 가격과 실제 청구액 계산법
Claude API의 1M 토큰은 단일 가격이 아닙니다. 입력과 출력 요금이 다르며, 모델별 가격과 토큰 수를 월 청구액으로 계산하는 방법을 설명합니다.
Claude에서 1M 토큰의 가격은 얼마입니까?
1M 토큰은 1000000개 토큰을 의미합니다. Claude API(application programming interface)의 모든 가격은 이 단위로 표시됩니다. 단일 가격은 없습니다. 입력과 출력에 서로 다른 요금이 적용되며, 각 모델마다 입력 및 출력 요금이 다르기 때문입니다. 2026년 8월 기준으로 1000000개 입력 토큰의 가격은 Claude Haiku 4.5에서 $1, Claude Sonnet 5에서 $2, Claude Opus 5에서 $5입니다.
출력 비용이 더 높습니다. 현재 모든 모델에서 출력 요금은 입력 요금의 5배입니다. 따라서 표시된 가격보다 입력과 출력의 비율이 실제 청구 금액에 더 큰 영향을 줍니다. 긴 문서를 보내고 짧은 답변을 받는 앱은 짧은 프롬프트로 긴 답변을 생성하는 앱과 비용 구조가 크게 다릅니다.
이 페이지에서는 토큰 1개의 비용과 개발 전에 요금을 예측하는 방법을 설명합니다. 작업 중 토큰이 실제로 어디에 사용되는지 알아보려면 Claude Code 세션 내부에서 토큰이 사용되는 위치를 참조하십시오.
1M 토큰은 어느 정도인가
토큰은 모델이 읽거나 생성하는 텍스트 단위입니다. Anthropic의 대략적인 기준은 문자 4개당 토큰 1개 또는 영어 단어 약 0.75개당 토큰 1개입니다. 따라서 1M 토큰은 약 750,000단어이며, 일반 텍스트로는 대략 4 MB입니다.
일반적인 입력에 대한 공개 추정치를 보면 규모를 더 쉽게 파악할 수 있습니다.
The data behind this chart
[
{
"label": "Average web page (10 kB)",
"tokens": "2,500"
},
{
"label": "Documentation page (100 kB)",
"tokens": "25,000"
},
{
"label": "Research paper PDF (500 kB)",
"tokens": "125,000"
}
]이 비율을 적용하면 1M 토큰은 평균적인 웹 페이지 약 400개를 한 번씩 읽는 분량이거나, 그 정도 분량의 연구 논문 8편에 해당합니다. 중간 규모 코드베이스를 한 번 처리하는 분량이며, 한 사람이 가볍게 채팅을 사용하는 경우 약 한 달 동안 사용할 수 있는 분량입니다.
이 수치는 모두 추정치로 보아야 합니다. 영어 이외의 언어로 작성된 코드, JSON 및 텍스트는 토큰 하나에 포함되는 단어 수가 더 적습니다. 따라서 0.75라는 비율은 낙관적인 상한에 가깝습니다. 토큰 수에 영향을 주는 요소가 하나 더 있습니다. Opus 5와 Sonnet 5를 포함하는 Claude Opus 4.7 이상은 Sonnet 4.6 이하보다 동일한 텍스트에서 대략 30 percent 더 많은 토큰을 생성하는 새로운 토크나이저를 사용합니다. Claude Haiku 4.5는 이전 토크나이저를 사용합니다. 따라서 Haiku 4.5에서 측정한 수치는 동일한 입력을 Sonnet 5에서 처리할 때의 토큰 수를 과소평가합니다. 그러므로 이 경계를 넘어서 단순히 백만 토큰당 가격을 비교하는 것은 공정하지 않습니다. 결정을 내리기 전에 동일한 프롬프트를 두 모델에서 각각 계산하십시오.
Claude가 100만 토큰당 부과하는 요금
The data behind this chart
[
{
"label": "Haiku 4.5",
"input_usd": 1,
"output_usd": 5
},
{
"label": "Sonnet 5 (to 31 Aug 2026)",
"input_usd": 2,
"output_usd": 10
},
{
"label": "Sonnet 5 (from 1 Sep 2026)",
"input_usd": 3,
"output_usd": 15
},
{
"label": "Opus 5",
"input_usd": 5,
"output_usd": 25
}
]Claude Sonnet 5는 2026년 8월 31일까지 입력에 $2, 출력에 $10의 출시 기념 요금이 적용됩니다. 2026년 9월 1일부터는 표준 요금이 적용되며, 입력에 $3, 출력에 $15가 부과됩니다. Claude Opus 5의 요금은 입력에 $5, 출력에 $25입니다.
요금은 변경될 수 있습니다. 이 페이지의 모든 수치는 2026년 8월 기준의 계산 예시로 간주하고, 예산을 확정하기 전에 공식 요금 페이지에서 현재 수치를 확인해야 합니다.
컨텍스트 길이는 요금을 변경하지 않습니다. Claude 4.6 이상에서는 전체 1M 토큰 컨텍스트 창에 표준 요금이 적용됩니다. 따라서 900,000 토큰 요청도 토큰당 요금은 9,000 토큰 요청과 같습니다. 긴 프롬프트는 토큰 수가 더 많기 때문에 비용이 더 많이 발생하며, 별도의 긴 컨텍스트 요금은 적용되지 않습니다.
가격 변경에도 유지되는 산술 계산
모든 청구 금액은 2번의 곱셈과 1번의 덧셈으로 계산됩니다.
cost = (input_tokens / 1,000,000) * input_rate
+ (output_tokens / 1,000,000) * output_rate실행할 수 있는 코드로 작성하면 다음과 같습니다.
INPUT_RATE = 2.00 # USD per million input tokens, Sonnet 5, August 2026
OUTPUT_RATE = 10.00 # USD per million output tokens
def cost(input_tokens, output_tokens):
return (input_tokens * INPUT_RATE + output_tokens * OUTPUT_RATE) / 1_000_000
print(f"{cost(4300, 400):.4f}")그러면 0.0126이 출력됩니다. 입력 토큰 4,300개를 보내고 출력 토큰 400개를 받는 요청은 Sonnet 5에서 약 1.3센트입니다. 두 요율을 코드의 한 곳에 함께 보관합니다. 가격이 변경되면 2줄만 수정하면 되며 시스템의 모든 예상 금액이 함께 변경됩니다.
실제 앱의 비용 추정 예시
지원 어시스턴트를 예로 들어 보겠습니다. 시스템 프롬프트와 제품 문서가 합쳐서 4,000 tokens이며, Messages API가 상태를 유지하지 않고 모델도 호출 사이에 아무것도 기억하지 못하므로 모든 요청에 매번 전송됩니다. 사용자 질문에는 약 300 tokens가 추가됩니다. 답변은 약 400 tokens입니다. 따라서 요청당 입력은 4,300 tokens, 출력은 400 tokens입니다.
입력 tokens 1,000,000개로 이러한 요청을 약 232회 처리할 수 있습니다. 앱이 하루에 1,000건의 요청을 처리하면 매일 입력 tokens 4.3 million개를 사용합니다. 따라서 "1M tokens"는 6시간이 되기 전에 소진됩니다.
The data behind this chart
[
{
"label": "Opus 5, list rates",
"cost_per_1k_usd": "31.50"
},
{
"label": "Sonnet 5, list rates",
"cost_per_1k_usd": "12.60"
},
{
"label": "Sonnet 5, Batch API",
"cost_per_1k_usd": "6.30"
},
{
"label": "Haiku 4.5, list rates",
"cost_per_1k_usd": "6.30"
},
{
"label": "Sonnet 5, warm prompt cache",
"cost_per_1k_usd": "5.40"
}
]Claude Opus 5에서는 이 트래픽에 대한 1,000건의 요청 비용이 $31.50입니다. Sonnet 5에서는 $12.60입니다. Claude Haiku 4.5로 낮추면 $6.30가 됩니다. Sonnet 5에서 프롬프트 캐시가 준비된 경우에는 $5.40로 더 낮아집니다.
이 트래픽을 한 달 동안 처리하는 비용은 30을 곱하면 됩니다. 정가 기준 Sonnet 5의 비용은 한 달에 약 $378입니다. 캐시가 준비된 동일한 앱의 비용은 약 $162입니다. 이 사용량에서는 모델 선택과 캐시 사용 여부가 협상할 수 있는 어떤 요금보다 비용에 더 큰 영향을 줍니다. 어떤 모델을 사용할지는 별도의 문제입니다. 평가를 통과하는 가장 저렴한 모델을 선택하면 됩니다. Opus, Sonnet, Haiku 중 선택에서 이를 올바르게 테스트하는 방법을 설명합니다.
프롬프트 캐싱은 반복되는 부분을 줄입니다
4,000 토큰 접두사는 모든 요청에서 동일하지만, 매번 입력 요금을 전액 지불합니다. 프롬프트 캐싱은 처리된 접두사를 저장하고, 이를 재사용할 때 할인된 요금을 적용합니다.
캐시 읽기 비용은 기본 입력 요금의 0.1배입니다. 캐시 쓰기 비용은 5분 수명에서 기본 요금의 1.25배이고, 1시간 수명에서는 2배입니다. 따라서 5분 캐시는 읽기 1회 후 손익분기점에 도달합니다. 쓰기 비용은 0.25만큼 추가되지만, 읽기마다 0.9를 절약하기 때문입니다. 1시간 캐시는 손익분기점에 도달하려면 읽기 2회가 필요합니다.
캐시를 활성화하는 가장 간단한 방법은 최상위 필드 하나를 추가하는 것입니다.
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5",
"max_tokens": 1024,
"cache_control": {"type": "ephemeral"},
"system": "You are a helpful assistant.",
"messages": [
{"role": "user", "content": "What are the key themes in Pride and Prejudice?"}
]
}'그런 다음 반환되는 usage 블록을 읽습니다.
{
"usage": {
"cache_creation_input_tokens": 5120,
"cache_read_input_tokens": 1800,
"input_tokens": 50,
"output_tokens": 503
}
}이 3개의 입력 카운터에는 서로 다른 요금이 적용되며, 합계는 실제 입력량인 total_input_tokens = cache_read_input_tokens + cache_creation_input_tokens + input_tokens입니다. 캐싱이 활성화된 후 input_tokens만 읽어 비용을 추정하면 결과가 크게 틀립니다.
캐시가 비용을 절감하지 못하게 하는 요인은 2가지이며, 두 경우 모두 오류가 조용히 발생합니다.
접두사는 바이트 단위로 동일해야 합니다. 캐시 조회는 접두사 일치 방식으로 수행됩니다. 따라서 system prompt의 맨 앞에 타임스탬프나 사용자의 이름을 넣으면 요청마다 접두사가 변경됩니다. 그러면 매번 기본 입력 요금의 1.25배를 지불하고, 캐시를 한 번도 읽지 못합니다. 증상은 cache_creation_input_tokens이 계속 높고 cache_read_input_tokens가 계속 0인 것입니다. 요청 간 내용이 동일한 마지막 블록에 cache_control를 배치하고, 변경되는 모든 항목은 그 뒤에 배치합니다. tools 정의를 변경하면 그 아래의 전체 캐시가 무효화됩니다. 무효화는 tools, system, messages 순서에 따라 아래 방향으로 실행되기 때문입니다.
접두사는 충분히 길어야 합니다. 캐시할 수 있는 최소 길이는 Opus 5에서 512 토큰, Sonnet 5에서 1,024 토큰, Haiku 4.5에서 4,096 토큰입니다. 이보다 짧은 프롬프트는 캐시되지 않으며 오류도 반환되지 않습니다. 위 예시의 4,000 토큰 접두사는 Sonnet 5에서는 캐시되지만 Haiku 4.5에서는 캐시되지 않습니다. 4,000이 해당 모델의 최소 길이보다 짧기 때문입니다. 두 카운터가 모두 0이면 캐시된 항목이 없는 것입니다.
배치 처리는 요금을 절반으로 낮춘다
Batch API는 요청을 비동기 방식으로 처리하며 입력과 출력 모두 50 percent 할인된다. 위 예시에서는 1,000개 요청당 $12.60가 $6.30로 낮아진다. 이 할인은 prompt caching과 중복 적용되므로, 캐시된 배치 작업이 대량 작업을 실행하는 가장 저렴한 방법이다.
대신 latency가 늘어난다. 따라서 사람이 기다리면서 결과를 확인해야 하는 작업에는 batch가 적합하지 않다. 야간 분류와 문서 backfill 작업에 적합하다.
한 대화 안에서 채팅 비용이 증가하는 이유
API는 상태를 유지하지 않으므로 클라이언트는 매번 전체 대화를 다시 전송합니다. 따라서 하나의 채팅에서 토큰 사용량은 직선적으로 증가하지 않고 대화 길이의 제곱에 비례해 증가합니다.
평균 500 tokens인 턴을 가정해 보겠습니다. Turn 1에서는 input tokens 500개를 전송합니다. Turn 2에서는 1,000개를 전송합니다. Turn 20에서는 10,000개를 전송합니다. 이를 n(n+1)/2로 합산하면, 20 turn 대화는 transcript 자체의 길이가 10,000 tokens에 불과하지만 약 105,000 input tokens를 전송하게 됩니다.
따라서 채팅 기능의 비용은 transcript가 보여 주는 것보다 높습니다. 긴 대화에서는 안정적인 prefix를 캐싱하거나 이전 turn을 요약하면 비용 절감 효과가 있습니다. tool call을 반복하는 agent도 같은 구조를 가지며, 더 심각할 수 있습니다. 모든 tool result가 history에 남아 이후 모든 turn에서 다시 전송되기 때문입니다. 직접 실행하는 agent에 엄격한 지출 한도를 설정하는 것이 이 경우에 특히 중요합니다. 이러한 증가는 자동으로 발생하며 이를 감시하는 사람이 없기 때문입니다.
추측하기 전에 토큰을 계산합니다
단어 수로 토큰 수를 계산하지 마십시오. API가 토큰 수를 무료로 계산해 줍니다. 이 API는 메시지 생성과 별도의 rate limit을 사용합니다.
curl https://api.anthropic.com/v1/messages/count_tokens \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "content-type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5",
"system": "You are a scientist",
"messages": [{
"role": "user",
"content": "Hello, Claude"
}]
}'응답에는 다음 필드 하나가 포함됩니다.
{ "input_tokens": 14 }실제 system prompt와 tool 정의를 대표적인 user 메시지와 함께 전달한 다음, 그 수를 위의 비용 함수에 입력합니다. 이 endpoint는 메시지 요청과 동일한 본문을 사용하므로 이미지와 PDF도 정확하게 계산됩니다. 두 가지 주의할 점이 있습니다. 이 수는 추정치이므로 청구된 수치와 약간 다를 수 있습니다. 또한 전달한 model의 tokenizer로 측정되므로 실제로 실행할 model을 전달해야 합니다.
출력 토큰은 아직 존재하지 않으므로 미리 계산할 수 없습니다. max_tokens로 출력 토큰 수를 제한한 다음, 실제 트래픽에서 usage.output_tokens부터 실제 분포를 측정합니다.
청구서에 추가되는 항목
청구 금액의 대부분은 토큰 비용입니다. 토큰이 아닌 항목도 몇 가지 있으며, 예상하지 못하는 경우가 많습니다.
- 도구 정의는 모든 요청에서 입력 토큰으로 계산됩니다. 도구 사용 시스템 프롬프트만으로도 Opus 5에서 자체 스키마를 추가하기 전에 286~406 토큰이 추가됩니다. 설명이 장황한 도구가 10개이면 작은 프롬프트의 크기가 2배가 될 수 있습니다.
- 웹 검색은 검색 1,000건당 $10가 부과됩니다. 검색 결과가 컨텍스트에 포함될 때 소비되는 토큰 비용은 별도로 추가됩니다.
- 웹 가져오기 자체에는 별도 요금이 없습니다. 하지만 가져온 페이지는 입력 토큰으로 계산됩니다. 100 kB 문서 페이지는 대략 25,000개의 입력 토큰에 해당합니다.
- Claude 4.6 이상에서
inference_geo를 사용해 미국 전용 추론을 요청하면 모든 토큰 범주에 1.1 배수가 적용됩니다. 캐시 읽기와 쓰기도 포함됩니다.
API를 구매하는 것이 적절한지는 사용량에 따라 달라집니다. 일정 수준 이하로 사용하면 정액 월간 요금제가 확실히 더 유리합니다. Claude 구독과 비교한 API 비용에서 실제 수치를 사용해 이 차이를 비교합니다.
FAQ
Claude에서 1M 토큰의 비용은 얼마입니까?
모델에 따라 다르며, 토큰이 입력인지 출력인지에 따라서도 달라집니다. 2026년 8월 기준으로 1백만 입력 토큰의 비용은 Claude Haiku 4.5에서 $1, 도입 가격이 적용되는 Claude Sonnet 5에서 $2, Claude Opus 5에서 $5입니다. 이 모델들의 출력 비용은 각각 입력 요율의 5배입니다. Sonnet 5는 2026년 9월 1일에 입력 $3, 출력 $15로 변경됩니다. 요율은 변경될 수 있으므로 예산에 금액을 반영하기 전에 공식 가격 페이지에서 확인합니다.
1M 토큰은 1M 단어와 같습니까?
아닙니다. 토큰 1개는 영어 기준으로 대략 문자 4개 또는 약 0.75단어이므로, 토큰 1백만 개는 약 750,000단어입니다. 이 비율은 참고용일 뿐입니다. 코드, JSON, 영어 이외의 언어에서는 단어당 더 많은 토큰을 사용합니다. Claude Opus 4.7 이상에서는 동일한 텍스트에 대해 Claude Sonnet 4.6 이하보다 약 30 percent 더 많은 토큰을 생성하는 새로운 토크나이저도 사용하므로, 모델 세대가 다르면 토큰 수를 그대로 비교할 수 없습니다. 실행할 모델을 지정하여 무료 /v1/messages/count_tokens endpoint로 측정합니다.
prompt caching을 사용하면 항상 비용이 절감됩니까?
아닙니다. 5 minute cache write의 비용은 기본 입력 요율의 1.25배이므로, 기록한 후 한 번도 읽지 않는 prefix는 그대로 전송하는 것보다 25 percent 더 비쌉니다. 첫 번째 읽기부터 비용을 상쇄합니다. 캐시는 두 가지 방식으로 조용히 실패할 수 있습니다. 요청 사이에 cached prefix가 변경되면 정확한 prefix 일치가 필요하므로 조회가 일치하지 않습니다. prefix가 모델의 최소 캐시 가능 길이보다 짧아도 캐시되지 않으며 오류도 반환되지 않습니다. 이 최소 길이는 Sonnet 5에서 1,024 tokens, Haiku 4.5에서 4,096입니다. cache_creation_input_tokens과 cache_read_input_tokens가 모두 0이면 캐시가 작동하지 않는 것입니다.
메시지 수보다 청구 금액이 더 빠르게 증가한 이유는 무엇입니까?
각 turn마다 전체 대화가 다시 전송되기 때문입니다. Messages API는 상태를 보유하지 않으므로 chat의 turn 20에는 앞선 19개 turn 전체가 입력으로 다시 포함됩니다. 각 turn이 평균 500 tokens라면 20 turn 대화에서 약 105,000 input tokens가 전송되지만, transcript의 길이는 10,000 tokens에 불과합니다. 모든 tool result가 history에 계속 남으므로 agent loop도 같은 방식으로 동작합니다. 변경되지 않는 prefix는 캐시하거나, 오래된 turn을 요약하여 요청에서 제거합니다.