클로드 AI 가격, API 사용량, 월 예산, 프롬프트 캐시 | 청구가 튀기 전에 어디에 가드를 걸까?
클로드 AI 가격을 웹 구독과 콘솔 API로 나눈 뒤, 응답 사용량과 토큰 수 세기 API로 호출당 달러를 찍고 월 예산 가드를 거는 실습. 프롬프트 캐시, 하이쿠 소넷 오퍼스 라우팅, 배치 반값, 부가세와 환율이 카드에 얹히는 조건을 LLM, API, SDK, 클로드 코드, 개발자, AI 에이전트, 백엔드 기준으로 따라 한다.
사이드 앱 서버에 클로드 키를 넣은 주부터 웹 구독 한도와 콘솔 크레딧이 따로 줄어듭니다. 표시 프로 월 20달러, 맥스 100달러대는 채팅과 클로드 코드 풀이고, 키로 부르는 호출은 토큰 종량입니다. 2026년 8월 공식 표 기준 하이쿠 4.5는 입력 100만 토큰당 1달러, 출력 5달러입니다. 소넷 5는 2달러와 10달러, 오퍼스 5는 5달러와 25달러입니다. 저는 채팅과 클로드 코드는 구독에 두고, 사이트 자동화만 콘솔 키로 뺍니다.
두 지갑을 한 줄로 합치면 월말에 숫자가 안 맞습니다. 플랜 비교는 프로와 맥스를, 원화 환산은 부가세 실습을, 결제 전 칸 채우기는 체크리스트를 보면 됩니다. 키를 붙인 뒤에는 사용량을 세고, 캐시를 켜고, 모델을 내리는 순서로 갑니다.
월 예산을 토큰 단가로 먼저 쪼갠다
가드를 걸기 전에 한 달 상한을 달러가 아니라 모델별 토큰 칸으로 나눕니다. 구독 표시가와 API 단가는 같은 화면이 아닙니다. 채팅 한도는 claude.com/pricing, 토큰 단가는 플랫폼 가격 문서가 기준입니다. 숫자는 2026년 8월 15일 공식 표이며, 결제 직전 화면이 최종입니다.
갈래
표시 가격(세금 제외)
어디에 쓰나
가드 자리
무료
0달러
웹과 앱 채팅, 짧은 시험
한도 메시지와 쿨다운 시각 메모
프로
월 20달러, 연 결제는 연 200달러
일상 채팅, 클로드 코드 기본선
설정 > 사용량 화면
맥스 5배
월 100달러대부터
긴 코딩 세션, 출력 우선
같은 풀, 주간 창까지 같이 봄
콘솔 API
하이쿠 4.5 입력 1 / 출력 5, 소넷 5 입력 2 / 출력 10, 오퍼스 5 입력 5 / 출력 25 (100만 토큰당 달러)
서버, 배치, 자동화
워크스페이스 한도 + 코드 장부
소넷 5의 2달러와 10달러는 2026년 8월 31일까지 안내된 도입 가격입니다. 이후 소넷 계열 기본 단가는 4.6과 같은 입력 3달러, 출력 15달러로 적혀 있습니다. 모델 아이디는 콘솔에서 복사해 환경 변수로 두는 편이 안전합니다. 국내 발행 카드로 구독을 결제하면 부가세 10%와 환율, 해외 수수료가 붙는 경우가 많습니다. API 콘솔 청구도 달러 기준이고, 세금 항목은 내역서가 최종입니다.
지갑을 나누는 이유 | 클로드 닷에이아이 채팅과 클로드 코드 구독은 한 풀입니다. 콘솔 키로 도는 서버 호출은 다른 줄입니다. 공식 도움말에도 유료 구독과 콘솔 API는 따로 낸다고 적혀 있습니다. 한도 습관은 사용 한도 안내를 같이 봅니다.
콘솔 한도만 켜면 안 되는 이유
콘솔 한도는 조직이 한 달을 넘기지 못하게 막는 마지막 문입니다. 코드 가드는 그 전에 호출을 멈추거나 모델을 내리는 앞문입니다. 둘 중 하나만 켜면 빈칸이 남습니다.
콘솔에서는 워크스페이스별 지출 상한과 사용량 리포트를 켭니다. 경로 이름은 바뀔 수 있어서, 콘솔 검색에 한도 또는 빌링을 치면 해당 화면이 나옵니다. 유료 구독의 추가 크레딧도 설정에서 월 상한을 따로 걸 수 있습니다. 관리자 키가 있는 조직은 지출 한도 API와 사용량과 비용 API로 과거 숫자를 받을 수 있습니다. 개인 키만 있는 사이드 앱은 로컬 장부가 더 빠릅니다.
제가 사이트를 돌리며 반복한 실수는 이겁니다. 콘솔 상한은 켜 두고 앱은 재시도만 넣었습니다. 한도에 닿기 직전에도 오퍼스가 그대로 나갔습니다. 문 앞에서 모델을 내리지 않으면, 상한은 이미 거의 찬 뒤에야 작동합니다.
콘솔 상한은 마지막 문, 코드 장부는 호출 직전 앞문이다
응답 usage 칸에서 호출당 비용을 계산한다
메시지 응답의 사용량 객체에 입력 토큰, 출력 토큰, 캐시 생성, 캐시 읽기가 나옵니다. 이 네 칸에 단가를 곱하면 그 호출의 달러가 나옵니다. 로그에 모델 이름과 달러만 남겨도 월말에 콘솔 합계와 대조할 수 있습니다.
단가 표는 코드 안에 박지 말고 환경 변수나 작은 JSON으로 빼 두세요. 소넷 5 도입 가격이 끝나는 날처럼 공식 표가 바뀌면 파일 한 줄만 고치면 됩니다. 패키지는 공식 에스디케이(@anthropic-ai/sdk)를 씁니다.
처음 돌리면 출력 토큰이 입력보다 비싼 게 바로 보입니다. 같은 질문을 길게 풀어 쓰게 하면 달러가 출력 칸에서 먼저 큽니다. max_tokens를 업무에 맞게 낮추는 것만으로도 상한이 덜 흔들립니다. 한글 장문이 구독 창을 빨리 채우는 조건은 한국어 소진에 따로 적어 두었습니다. API도 입력 글자가 늘면 같은 공식으로 달러가 늘습니다.
보내기 전에 토큰 수를 세고 막을 수 있다
호출 뒤에 세면 이미 나간 돈입니다. 공식 토큰 수 세기 엔드포인트는 과금 없이 입력 토큰을 돌려줍니다. 긴 시스템 프롬프트나 첨부 문서를 넣기 전에 한 번 재고, 예상이 남은 예산을 넘기면 보내지 않습니다.
에스디케이에서는 messages.countTokens입니다. 모델마다 토큰 규칙이 달라서, 실제로 부를 모델과 같은 아이디를 넣어야 합니다. 글자 수를 4로 나누는 식은 한글에서 어긋납니다.
count-before-send.mjs | 보내기 전 입력 토큰을 잰다
// node count-before-send.mjs
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();
const MODEL = process.env.CLAUDE_MODEL || 'claude-sonnet-4-6';
const MAX_INPUT = Number(process.env.MAX_INPUT_TOKENS || 8000);
const messages = [
{
role: 'user',
content: process.argv.slice(2).join(' ') || '첨부 없이 짧은 질문입니다.',
},
];
const counted = await client.messages.countTokens({
model: MODEL,
messages,
});
console.log('입력 토큰', counted.input_tokens);
if (counted.input_tokens > MAX_INPUT) {
console.error('입력 상한 초과. 문서를 줄이거나 모델을 내리세요.');
process.exit(2);
}
console.log('상한 안. 이제 messages.create 를 호출하면 됩니다.');
보내기 전 토큰 수 세기와 월 장부를 같은 폴더에 둔다
month-ledger.mjs | 월 상한을 넘기면 호출을 막는다
// node month-ledger.mjs
// data/claude-spend.json 에 월별 합계를 쌓는다.
import { readFileSync, writeFileSync, mkdirSync } from 'node:fs';
import { dirname } from 'node:path';
const FILE = process.env.SPEND_FILE || 'data/claude-spend.json';
const MONTH_CAP = Number(process.env.MONTH_CAP_USD || 30);
const month = new Date().toISOString().slice(0, 7);
function load() {
try {
return JSON.parse(readFileSync(FILE, 'utf8'));
} catch {
return { months: {} };
}
}
export function remainingUsd() {
const db = load();
const used = Number(db.months[month] || 0);
return Number((MONTH_CAP - used).toFixed(6));
}
export function addSpend(usd) {
const db = load();
const used = Number(db.months[month] || 0);
if (used + usd > MONTH_CAP) {
throw new Error(
month + ' 상한 ' + MONTH_CAP + '달러를 넘깁니다. 남은 값 ' + (MONTH_CAP - used).toFixed(4)
);
}
db.months[month] = Number((used + usd).toFixed(6));
mkdirSync(dirname(FILE), { recursive: true });
writeFileSync(FILE, JSON.stringify(db, null, 2));
return db.months[month];
}
const arg = Number(process.argv[2] || 0);
if (arg > 0) {
console.log('누적', addSpend(arg), '남은 값', remainingUsd());
} else {
console.log('이번 달 남은 값', remainingUsd());
}
장부 파일은 깃에 올리지 마세요. 키와 같은 비밀로 취급합니다. 여러 프로세스가 동시에 쓰면 합계가 어긋나니, 작은 큐나 파일 잠금을 붙이거나 호출을 한 프로세스로 모읍니다. 저는 사이트 자동화 잡을 한 러너에서만 돌리고, 월 상한은 콘솔 숫자보다 조금 낮게 둡니다. 콘솔 합계에는 재시도분과 워크벤치 시험이 같이 들어갑니다.
시스템 프롬프트를 캐시하면 반복 비용이 줄어든다
같은 시스템 문구와 도구 설명을 매 호출마다 다시 넣으면 입력 달러가 그대로 반복됩니다. 프롬프트 캐시는 그 앞부분을 저장해 두고, 다음 호출에서 읽기 단가로 받습니다. 공식 배수는 5분 쓰기가 입력의 1.25배, 1시간 쓰기가 2배, 읽기는 0.1배입니다. 5분 쓰기는 한 번 읽으면 본전, 1시간 쓰기는 두 번 읽어야 본전입니다.
첫 호출은 쓰기 배수 때문에 캐시 없이 보내는 것보다 비쌀 수 있습니다. 한 번만 쓰는 긴 문서를 캐시하면 손해입니다. 매 요청에 붙는 규칙, 도구 스키마, 고정 매뉴얼처럼 같은 앞부분이 반복될 때만 켭니다. 구현은 프롬프트 캐시 문서가 기준입니다.
prompt-cache.mjs | 고정 시스템 문구를 5분 캐시한다
// node prompt-cache.mjs
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();
const MODEL = process.env.CLAUDE_MODEL || 'claude-sonnet-4-6';
const SYSTEM = `당신은 이 저장소의 배포 규칙을 아는 도우미입니다.
- 커밋 메시지에 deploy 단어를 쓰지 않습니다.
- 기존 슬러그를 바꾸지 않습니다.
- 문의는 공개 이메일이 아니라 /partnership 경로로 안내합니다.
`.repeat(20); // 캐시 최소 길이를 맞추기 위한 연습용 반복. 실제로는 고정 매뉴얼을 넣습니다.
async function ask(userText) {
const msg = await client.messages.create({
model: MODEL,
max_tokens: 200,
system: [
{
type: 'text',
text: SYSTEM,
cache_control: { type: 'ephemeral' },
},
],
messages: [{ role: 'user', content: userText }],
});
return msg.usage;
}
const first = await ask('캐시 쓰기 확인용 짧은 질문');
const second = await ask('같은 시스템 문구로 두 번째 질문');
console.log('1회', first);
console.log('2회', second);
// 2회에 cache_read_input_tokens 가 늘고 cache_creation_input_tokens 가 줄어야 합니다.
막히는 지점 | 캐시 블록이 너무 짧으면 쓰기가 무시됩니다. 최소 길이는 모델마다 다릅니다. 공식 문서의 토큰 하한을 보고, 하한보다 짧은 한 줄 시스템 문구에는 캐시를 붙이지 마세요. 또 앞부분 한 글자만 바뀌어도 읽기가 실패하고 다시 쓰기 요금이 나갑니다.
남은 예산이 줄면 모델을 내린다
모든 요청을 오퍼스에 두면 월 상한이 빨리 찹니다. 기본은 소넷, 분류와 짧은 추출은 하이쿠, 긴 설계와 어려운 리뷰만 오퍼스입니다. 남은 달러가 일정 비율 아래로 내려가면 오퍼스 문을 닫습니다. 이 분기만 있어도 같은 30달러가 더 오래 갑니다.
코딩 비용을 체감할 때는 같은 리뷰 프롬프트를 소넷과 오퍼스에 한 번씩 넣고, 사용량 칸의 달러만 비교하면 됩니다. 점수가 아니라 그 호출의 달러와 다시 손볼 시간이 기준입니다. 저는 자동 분류와 제목 초안은 하이쿠, 본문 초안은 소넷, 배포 전 규칙 대조만 오퍼스로 올립니다.
배치 처리(메시지 배치 API)는 입력과 출력 단가를 절반으로 깎습니다. 대신 응답이 바로 오지 않습니다. 로그 요약, 밤에 도는 분류, 대량 번역처럼 몇 분에서 몇 시간을 기다려도 되는 일에 씁니다. 사용자 앞 채팅과 배포 게이트에는 쓰지 않습니다. 공식 표와 제한은 배치 처리 문서를 봅니다.
오퍼스 빠른 모드(패스트 모드)는 반대입니다. 출력은 빨라지고 단가는 오퍼스 5 기준 입력 10달러, 출력 50달러입니다. 배치와 함께 쓸 수 없습니다. 급하지 않은 대량은 배치, 급한 한 건은 일반 호출, 더 급한 오퍼스만 빠른 모드입니다.
batch-half.mjs | 당장 안 급하면 배치로 반값
// node batch-half.mjs
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();
const MODEL = process.env.CLAUDE_MODEL || 'claude-haiku-4-5';
const lines = [
'첫 번째 로그: 결제 웹훅 타임아웃',
'두 번째 로그: 재고 갱신 지연',
'세 번째 로그: 캐시 미스 증가',
];
const batch = await client.messages.batches.create({
requests: lines.map((text, i) => ({
custom_id: 'log-' + (i + 1),
params: {
model: MODEL,
max_tokens: 120,
messages: [
{ role: 'user', content: '한 줄 원인 후보만 적으세요. ' + text },
],
},
})),
});
console.log(batch.id, batch.processing_status);
// 이후 client.messages.batches.retrieve(batch.id) 로 완료를 확인하고 결과를 받습니다.
배치는 워크스페이스 한도와 로컬 장부에도 들어가야 합니다. 생성 시점에 예상 달러를 잡아 두고, 완료 후 실제 사용량으로 정산합니다. 예상만 넣고 정산을 빼면 콘솔 합계와 파일이 어긋납니다. 다른 도구와 구독 총액을 나란히 볼 때는 AI 코딩 도구 비용 비교와 클로드 코드 요금제를 같이 엽니다. 설치는 클로드 코드 개요부터면 됩니다.
참고 자료
가격과 한도는 앤트로픽이 바꿉니다. 아래 페이지를 결제와 배포 전에 다시 엽니다. 기준일은 2026년 8월 15일입니다.
됩니다. 프로와 맥스는 웹 채팅과 클로드 코드 구독 풀입니다. 콘솔에서 만든 키로 서버가 메시지를 보내면 토큰 종량이 따로 나갑니다. 같은 앤트로픽 계정이어도 지갑이 둘입니다. 자동화를 구독 한도에 넣고 싶으면 클로드 코드 쪽 경로를 쓰고, 서버 제품은 콘솔 키와 월 상한을 따로 둡니다.
월 예산을 얼마로 시작하면 되나?
사이드 앱 시험은 10달러에서 30달러 사이로 콘솔 상한과 로컬 장부를 같이 거는 경우가 많습니다. 트래픽이 없는 주에도 재시도와 워크벤치 시험이 쌓입니다. 첫 달은 상한을 낮게 두고, 실제 사용량 로그를 본 뒤에 올립니다. 구독 20달러와 API 30달러를 한 줄로 더하지 마세요. 카드에는 두 줄로 찍힙니다.
토큰 수 세기 호출도 돈이 나가나?
공식 토큰 수 세기 엔드포인트는 입력 토큰 수를 돌려 주는 용도이며, 메시지 생성과 같은 출력 과금이 아닙니다. 다만 모델 아이디와 메시지 형식이 실제 호출과 같아야 숫자가 맞습니다. 글자 수를 4로 나눈 추정은 한글과 코드가 섞이면 어긋나니, 긴 첨부는 이 엔드포인트로 재는 편이 안전합니다.
캐시를 켜면 항상 싸지나?
아닙니다. 첫 호출의 쓰기는 입력보다 비싸고, 짧은 블록은 쓰기가 무시됩니다. 같은 앞부분이 같은 시간 창 안에서 두 번 이상 반복될 때만 이득입니다. 한 번 쓰는 첨부, 매 요청마다 바뀌는 날짜와 사용자 문장은 캐시 밖에 둡니다. 두 번째 응답의 캐시 읽기 칸이 늘었는지 로그로 확인하세요.
소넷과 오퍼스 중 코딩은 무엇을 기본으로 두나?
기본은 소넷입니다. 같은 리뷰를 두 모델에 넣고 달러와 다시 손볼 시간을 비교하면, 일상 패치와 초안은 소넷으로 충분한 경우가 많습니다. 오퍼스는 설계가 갈리거나 배포 전 규칙 대조처럼 실패 비용이 큰 자리에만 올립니다. 남은 예산이 얼마 없을 때는 하이쿠로 분류만 남기고 본문 생성은 다음 달로 미룹니다.
원화 실청구는 코드 장부의 달러와 왜 다른가?
장부는 공식 단가에 토큰을 곱한 세전 달러입니다. 카드에는 환율, 부가세, 해외 수수료, 콘솔 세금 항목이 더해질 수 있습니다. 구독 20달러를 원화로 환산하는 식은 부가세 실습 글에 있습니다. API도 같은 이유로 장부 합계와 명세서 한 줄이 다릅니다. 최종 근거는 카드 내역과 콘솔 인보이스입니다.
클로드클로드 AI 가격API사용량월 예산프롬프트 캐시LLMSDK클로드 코드개발자AI 에이전트백엔드