비용 최적화분석
API 요청 하나에 토큰이 얼마나 들까? 3가지 작업으로 측정
DeepSeek-V4-Flash의 실제 사용량 수치: 짧은 질문, 문단 요약, 이메일→JSON, 1,000회 요청 비용과 직접 프롬프트를 측정하는 스크립트.

AI API에 요청 하나를 보내는 데 얼마가 드는지 물으면 보통 "경우에 따라 다르다"는 답이 돌아옵니다. 맞는 말이지만, 그걸로 예산을 세울 수는 없죠. 그래서 일상적인 작업 세 가지를 골라 2026년 10월 23일 CheapTokens API를 통해 DeepSeek-V4-Flash로 보내고, 매번 usage 필드에 무엇이 찍혔는지 기록했습니다.
요약하면: 짧은 질문은 110토큰, 문단 요약은 396토큰, 이메일을 JSON으로 바꾸는 작업은 299토큰이었습니다. 아래에는 각 요청이 어떻게 생겼는지, 무엇이 돌아왔는지, 비용이 얼마인지 정리했습니다.
짧은 질문#
사람들이 채팅 어시스턴트에게 늘 묻는 것부터 시작했습니다. git merge과 git rebase의 차이를 두세 문장으로 설명해 달라는 질문이죠.

질문은 23토큰, 답변은 87토큰이었습니다. 여기서 먼저 눈여겨볼 점이 있습니다. 답변이 질문보다 거의 네 배 길고, 비용이 더 드는 쪽은 출력이라는 것입니다. 현재 MiniMax-M2.7 기준으로 출력 100만 토큰당 $0.15, 입력은 $0.05입니다. 이 요율로 계산하면 이런 요청 하나에 $0.000014이 듭니다. 천 번이면 $0.0142입니다.
직접 화면에서 숫자를 확인하고 싶다면, 바로 그 요청은 이렇습니다:
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [
{"role": "user", "content": "What is the difference between git merge and git rebase? Answer in two or three sentences."}
],
"max_tokens": 2048,
"temperature": 0.2
}'토큰 수는 응답 끝의 usage 블록에 있습니다. prompt_tokens은 보낸 것, completion_은 모델이 쓴 것, total_tokens는 둘을 합한 것입니다.
요약, 그리고 읽지 않는 토큰#
두 번째 작업: 짧은 장애 보고서를 두 문장으로 압축하기. 팀들은 이런 작업을 하루 종일 모델에 돌립니다. 티켓, 보고서, 긴 이메일 스레드 같은 것들이죠. 프롬프트는 이렇습니다:
Summarize this incident report in two sentences.
On Tuesday between 14:05 and 14:50 UTC the checkout API returned errors for about 6% of requests. The cause was a configuration change deployed at 13:58 that lowered the database connection pool from 50 to 5 connections per instance. Under normal load nobody noticed, but when the afternoon traffic peak arrived, requests queued for a free connection and timed out after 30 seconds. The on-call engineer saw the growing p99 latency at 14:12, found the change in the deploy log at 14:31 and rolled it back at 14:44. To prevent a repeat, the pool size is now validated in CI against a minimum value, and an alert fires when more than 20 requests wait for a connection for two minutes.그리고 답변은:
화요일, 데이터베이스 연결 풀을 50에서 5로 줄이는 구성 변경으로 인해 오후 피크 시간대에 약 6%의 요청에서 체크아웃 API 오류가 발생했으며, 14:44에 롤백되었습니다. 재발을 방지하기 위해 이제 CI에서 풀 크기를 검증하고, 연결 대기 시간이 임계값을 초과하면 알림이 발생합니다.
두 문장, 331자, 출력 토큰 146개. 이렇게 짧은 텍스트치고는 많아 보였는데, 응답이 이유를 알려줬습니다. usage에 필드가 하나 더 있었던 것입니다. 바로 reasoning_입니다. 답변하기 전에 모델은 생각하는 데 76토큰을 썼습니다. 이 토큰들은 146개에 포함되므로(입력 250 + 출력 146 = 총 396), 출력의 약 절반이 답변 텍스트에 포함되지 않는 추론에 쓰인 것이며, 다른 출력 토큰과 똑같이 과금됩니다.
예산을 세울 때 알아두면 좋습니다. 모델이 생각하는 데 시간을 쓰는 작업에서는 출력이 돌려받는 텍스트보다 눈에 띄게 커질 수 있습니다. 이런 요약 천 번이면 $0.0344입니다.
이메일을 넣으면 깔끔한 JSON이 나온다#
세 번째 작업: 데이터베이스 레코드로 바꿔야 하는 주문 확인 이메일.

모델은 요청한 키만 정확히 반환했고 그 주변에 아무것도 붙이지 않았습니다. "Here is your JSON" 같은 말도 없었죠. 합계는 이메일과 일치했고, 배송 날짜는 2026-11-03으로 요청한 형식 그대로 돌아왔습니다. 입력 199토큰, 출력 100토큰.
눈에 띄는 것은 밀도입니다. 276자짜리 JSON에 100토큰이 들었는데, git 답변은 421자의 일반 텍스트에 87토큰이 들었습니다. 따옴표, 중괄호, 쉼표도 토큰이므로 구조화된 출력은 문자당 비용이 산문보다 더 듭니다. 이런 이메일 천 번이면 $0.025입니다.
세 작업 나란히 보기#
표를 오른쪽으로 스크롤하세요 →
| 작업 | 입력 토큰 | 출력 토큰 | 1,000회 요청 |
|---|---|---|---|
| 짧은 질문 | 23 | 87 | $0.0142 |
| 요약 | 250 | 146 | $0.0344 |
| 이메일 → JSON | 199 | 100 | $0.025 |
비용은 이 토큰 수를 현재 MiniMax-M2.7 가격으로 계산한 것이므로, 가격이 바뀌면 그에 맞춰 달라집니다.
모든 작업에서 출력이 더 많습니다. 심지어 보낸 양이 받은 양보다 많았던 요약에서도 그렇습니다. 따라서 청구서를 줄이는 가장 쉬운 방법은 답변 길이입니다. "두세 문장으로" 또는 "JSON만 반환" 같은 지시가 실제로 효과를 냅니다.
규모를 가늠해 보면: 하루에 2,000개의 짧은 질문에 답하는 지원 봇이 있고, 각 질문이 첫 번째 예시와 같다면 MiniMax-M2.7 기준 월 약 $0.852을 씁니다. 실제 채팅은 매 턴마다 대화 기록을 다시 보내므로 메시지마다 입력이 늘어납니다. 하지만 일회성 질문이라면 그것이 전부입니다.
직접 프롬프트로 시험해 보기#
여러분의 프롬프트는 다른 숫자에 도달할 것이고, 확인하는 데 1분이면 충분합니다. 이 스크립트는 각 프롬프트를 보내고, 잘린 답변은 건너뛰고, 토큰과 1,000회 요청 비용을 출력합니다:
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.cheaptokens.dev/v1", api_key=os.environ["CHEAPTOKENS_API_KEY"])
MODEL = "MiniMaxAI/MiniMax-M2.7"
PRICE_IN, PRICE_OUT = 1.00, 4.00 # USD per 1M tokens: example values, use the current ones from the price list
PROMPTS = [
"What is the difference between git merge and git rebase? Answer in two or three sentences.",
# add your own prompts here
]
for prompt in PROMPTS:
r = client.chat.completions.create(
model=MODEL,
messages=[{"role": "user", "content": prompt}],
max_tokens=2048,
temperature=0.2,
)
if r.choices[0].finish_reason != "stop":
print("cut off at max_tokens, raise the limit:", prompt[:40])
continue
tin, tout = r.usage.prompt_tokens, r.usage.completion_tokens
per_1000 = (tin * PRICE_IN + tout * PRICE_OUT) * 1000 / 1_000_000
print(f"{tin} in, {tout} out, 1,000 requests = ${per_1000:.4f} | {prompt[:40]}")현재 가격을 PRICE_IN와 PRICE_OUT에 넣으세요. MiniMax-M2.7의 경우 입력 100만 토큰당 $0.05, 출력 100만 토큰당 $0.15입니다. 첫 번째 프롬프트는 테스트에 쓴 것입니다. 토큰 수는 모델마다 조금씩 다르므로 입력 23, 출력 87과 비슷한 범위의 숫자가 나올 것으로 예상하세요. openai 패키지(pip install openai)와 CHEAPTOKENS_에 넣은 키가 필요합니다.
숫자가 이상해 보인다면: finish_는 답변이 max_tokens에 도달했다는 뜻이고(답변이 문장 중간에 멈추는 이유), reasoning_tokens이 크면 출력이 텍스트보다 큰 이유를 설명해 주며, 입력과 출력 가격의 전체 공식은 입력 vs 출력 토큰에 있습니다.
어디서 시작할까#
입력과 출력을 모두 합산하면, 위 세 작업 모두에서 CheapTokens의 MiniMax-M2.7이 OpenRouter의 기준 가격보다 저렴합니다. 180K 컨텍스트, 최대 8,192토큰 답변, 시간대와 무관한 단일 가격을 제공합니다. 잔액을 충전하고 키를 만든 뒤 이 페이지 맨 위의 curl 요청을 보내세요. 문서에 키와 기본 URL이 있고, DeepSeek 페이지에 모델 카탈로그가 있으며, 가격에 실시간 가격표가 있습니다.



