한도 및 잔액
모든 요청은 동등하게 처리됩니다. 속도 티어도, 별도의 API 할당량도 없습니다. 토큰 값은 이미 지불하셨으니 원하는 만큼 빠르게 사용하세요.
이 페이지는 잔액이 무엇으로 구성되는지, 요청 하나가 무엇을 확보하고 얼마가 드는지, 요청을 몇 건까지 보낼 수 있는지, 그리고 단일 요청이 만날 수 있는 몇 가지 제한을 설명합니다.
- 잔액 1M 토큰의 가치
- $5.00
- 일일 할당량 갱신
- 00:00 UTC
- 플러드 보호, 계정당
- 120 요청 / 분
요청이 처리되는 방식
- 속도 티어 없음 — 요청이 도착하는 속도를 제한하는 규칙은 하나이며, 모든 계정과 모든 플랜에서 같습니다: 분당 120건의 요청. 분당 토큰 수에 대한 제한은 없습니다.
- 별도의 API 할당량 없음 — API는 채팅과 같은 잔액을 사용합니다. 플랜은 오늘의 할당량 크기를 정할 뿐 요청 속도를 정하지는 않습니다.
- 원하는 만큼 빠르게 — 병렬로 보낸 요청은 수락되어 대기열에서 기다립니다. 병렬이라는 이유로 거부되지 않습니다.
내 잔액
잔액은 토큰으로 계산됩니다. 잔액 1,000,000 토큰의 가치는 $5.00이며, 모델 및 가격 페이지의 모든 가격은 이 가치를 기준으로 한 요율입니다.
잔액은 언제나 두 부분의 합입니다.
- 오늘의 플랜 할당량 — 플랜에 따라 정해지는 토큰 수입니다. 매일 00:00 UTC에 새로 지급됩니다. 하루가 끝났을 때 남은 양은 이월되지 않습니다.
- 구매 크레딧 — 팩으로 구매한 토큰입니다. 크레딧은 만료되지 않으며 Free를 포함한 모든 플랜에서 사용할 수 있습니다.
| 플랜 | 일일 토큰 | 가치 |
|---|---|---|
| Free | 30,000 | $0.15 |
| Plus | 80,000 | $0.40 |
| Standard | 265,000 | $1.325 |
| Pro | 665,000 | $3.325 |
- 사용 순서 — 모든 요청은 오늘의 플랜 할당량을 먼저 사용합니다. 구매 크레딧은 그날 할당량을 넘는 부분에만 사용됩니다.
- 채팅과 API가 함께 사용 — 계정당 잔액은 하나입니다. API 키는 키를 소유한 계정의 잔액에서 채팅과 같은 가격으로 차감됩니다.
- 팩 — 크레딧은 1,000,000 ($5.00), 2,000,000 ($10.00), 5,000,000 ($25.00) 토큰 팩으로 판매되며, 1,000,000에서 100,000,000 토큰 사이에서 원하는 양을 1,000,000당 $5.00에 구매할 수도 있습니다.
요청이 확보하는 양과 비용
- 확보 — 요청이 도착하면 잔액에서 출력 예산을 확보합니다:
/v1/chat/completions와/v1/messages에서는max_tokens,/v1/responses에서는max_output_tokens입니다./v1/chat/completions는max_completion_tokens도 읽습니다. 기본값은 4,096이고 범위는 1에서 65,536입니다. - 수락 — 확보할 양이 남은 잔액에 들어갈 때만 요청이 수락됩니다. 잔액이 남아 있더라도 출력 예산보다 작으면
Quota exceeded응답을 받습니다. 남은 잔액을 사용하려면 더 작은max_tokens를 보내세요. - 정산 — 답변이 완료되면 확보했던 양이 실제 청구액으로 대체됩니다. 청구액은 확보했던 양보다 낮을 수도 높을 수도 있습니다.
- 반환 — 오류 상태로 끝난 요청은 확보했던 양을 전액 돌려줍니다.
실제 청구액은 모델 제품군에 따라 다릅니다.
| 모델 | 청구 내용 |
|---|---|
| Shannon 모델 | usage.total_tokens를 모델의 1M당 가격으로 청구합니다. 입력과 출력의 요율은 하나입니다. |
| 호스팅 오픈 웨이트 모델 | 캐시되지 않은 입력은 입력 요율, 캐시된 입력은 캐시 요율, 출력은 출력 요율로 청구됩니다. |
USD 금액은 1,000,000당 $5.00의 비율로 토큰 단위로 환산되어 잔액에서 차감되며, 정수 토큰으로 반올림됩니다.
POST /v1/tokenize 또는 POST /v1/messages/count_tokens로 토큰을 계산하는 것은 무료이며 아무것도 확보하지 않습니다. 토큰 수 계산
잔액과 사용량을 확인하는 곳
Keys & usage 페이지에는 지금 사용할 수 있는 금액, 오늘의 플랜 할당량, 구매 크레딧, 최근 30일간의 API 지출이 표시됩니다. 그 아래에는 키로 보낸 모든 요청이 시간, 엔드포인트, 모델, 캐시된 입력, 청구된 토큰, 비용과 함께 나열됩니다. Keys & usage
모든 응답에는 해당 호출의 토큰 수를 담은 usage 객체도 포함됩니다.
| 엔드포인트 | usage 필드 | 호스팅 오픈 웨이트 모델이 추가하는 항목 |
|---|---|---|
/v1/chat/completions | prompt_tokens, completion_tokens, total_tokens | prompt_tokens_details.cached_tokens, completion_tokens_details.reasoning_tokens |
/v1/messages | input_tokens, output_tokens | cache_read_input_tokens, cache_creation_input_tokens |
/v1/responses | input_tokens, output_tokens, total_tokens | input_tokens_details.cached_tokens, output_tokens_details.reasoning_tokens |
usage에는 모델의 토큰 수가 들어 있습니다. 잔액에서 차감된 양은 응답에 없습니다. Keys & usage의 요청 목록에 있는 Billed tokens 열에서 확인하세요.- 호스팅 오픈 웨이트 모델을 사용하는
/v1/messages에서input_tokens는 입력 중 캐시되지 않은 부분,cache_read_input_tokens는 캐시된 부분이며cache_creation_input_tokens는 항상0입니다. -
/v1/chat/completions의 스트림은[DONE]직전의 마지막 청크에usage를 담아 보냅니다. 스트리밍
잔액이 소진되면
확보할 양이 잔액에 맞지 않는 요청은 상태 429, 유형 rate_limit_error, 그리고 아래의 메시지로 응답합니다. 아무것도 청구되지 않습니다. 잔액이 남아 있지만 요청의 출력 예산보다 작을 때도 같은 응답이 전송됩니다.
{
"error": {
"type": "rate_limit_error",
"message": "Quota exceeded. Upgrade your plan at shannon-ai.com/plan"
}
} {
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Quota exceeded. Upgrade your plan at shannon-ai.com/plan"
}
} /v1/responses에서는 error 객체에 code와 param도 있을 수 있으며, 둘 다 null입니다.
할 수 있는 일:
- 00:00 UTC에 지급되는 다음 플랜 할당량을 기다리세요.
- 크레딧을 충전하세요. 크레딧은 플랜 할당량 다음에 사용되며 만료되지 않습니다. 크레딧 충전
- 일일 할당량이 더 큰 플랜으로 변경하세요. 플랜 변경
- 잔액이 조금 남아 있다면 더 작은
max_tokens를 보내세요. 그러면 확보하는 양이 더 작아집니다.
Shannon Coder 호출 할당량
/v1/chat/completions와 /v1/messages의 shannon-coder-1은 토큰이 아니라 호출 횟수로 집계됩니다. 각 플랜에는 4시간 구간당 일정 횟수의 호출이 포함됩니다. 요청 하나가 호출 한 번입니다.
| 플랜 | 4시간 구간당 호출 횟수 |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
- 구간은 00:00, 04:00, 08:00, 12:00, 16:00, 20:00 UTC에 시작됩니다. 구간이 끝날 때 남은 호출은 이월되지 않습니다.
- 호출은 모델이 응답하기 전, 요청이 수락될 때 집계됩니다. 이후에 실패한 요청도 호출로 집계됩니다.
- 이 호출은 토큰을 확보하지 않으며 잔액에서 아무것도 차감하지 않습니다. Keys & usage의 요청 목록에는 해당 토큰 수와 표시 가격 기준의 가치가 나옵니다.
- 이 두 엔드포인트에서
shannon-coder-1의 기본max_tokens는 65,536입니다. - 호출이 남아 있지 않으면 응답은 상태
429, 유형rate_limit_error, 메시지Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan입니다. /v1/responses에서shannon-coder-1에는 호출 할당량이 없습니다. 다른 모델과 마찬가지로 1M당 $8.00로 잔액에서 토큰 단위로 청구됩니다.
플러드 보호
계정은 분당 120건의 요청을 보낼 수 있습니다. 이것이 요청 속도에 대한 유일한 제한이며 모든 플랜에서 같습니다. 정상적인 사용을 늦추기 위한 것이 아니라 플러드를 막기 위한 것입니다.
- 분은 첫 요청과 함께 열리는 60초의 고정 구간입니다. 구간이 끝나면 집계는 영에서 다시 시작됩니다.
- 집계는 키나 IP 주소가 아니라 계정 단위입니다. 키를 교체해도 새 구간이 열리지 않습니다.
- 한 구간 안의 121번째 요청은 상태
429, 유형rate_limit_error, 메시지Too many requests. Retry in <N>s.로 응답합니다.N은 구간이 끝날 때까지의 초이며 1에서 60 사이입니다. - 플러드 보호는 잔액보다 먼저 확인합니다. 이로 인해 거부된 요청은 아무것도 확보하지 않으며 비용도 들지 않습니다.
{
"error": {
"type": "rate_limit_error",
"message": "Too many requests. Retry in 37s."
}
} {
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Too many requests. Retry in 37s."
}
} | 요청 | 플러드 보호 |
|---|---|
POST /v1/chat/completions, POST /v1/messages, POST /v1/responses | 집계됨. 요청당 하나. |
GET /v1/models, POST /v1/tokenize, POST /v1/messages/count_tokens | 집계되지 않음. |
/v1/chat/completions와 /v1/messages의 shannon-coder-1 | 대신 Shannon Coder 호출 할당량으로 집계됩니다. |
401로 응답한 요청, 또는 알 수 없는 model로 400이 된 요청 | 집계되지 않음. |
| 플러드 보호로 거부된 요청 | 구간에 집계됩니다. 아무것도 청구되지 않습니다. |
병렬 요청
계정이 동시에 열어 둘 수 있는 요청 수에는 제한이 없으며, 요청을 병렬로 보냈다고 오류가 발생하지도 않습니다. 바로 시작할 수 없는 요청은 대기열에서 기다렸다가 차례로 응답을 받습니다.
- 각 요청은 이전 요청이 끝났는지와 상관없이 도착하는 시점에 분당 120건에 집계됩니다.
- 각 요청은 끝날 때까지 자신의 확보분을 유지합니다. 기본 출력 예산으로 열린 요청 스무 개는 20 × 4,096 = 81,920 토큰의 잔액을 유지합니다. 확보분의 합이 잔액보다 크면, 끝난 호출은 더 적게 들었을 것이라도 다음 요청은
Quota exceeded응답을 받습니다. 더 작은max_tokens는 더 적게 유지합니다. - 스트리밍이 아닌 요청은 답변이 완료될 때까지 아무것도 보내지 않으므로, 클라이언트에 대기 시간을 포괄하는 타임아웃을 설정하세요. 스트림은 기다리는 동안 연결을 열어 둡니다. 스트리밍
단일 요청의 제한
| 제한 | 값 | 적용 대상 | 한도에 도달하면 |
|---|---|---|---|
| 요청 본문 | 32 MiB (33,554,432바이트) | 모든 엔드포인트 | 상태 413, 유형 invalid_request_error. |
출력 예산: max_tokens, max_completion_tokens, max_output_tokens | 1에서 65,536. 기본값 4,096이며, /v1/chat/completions와 /v1/messages의 shannon-coder-1은 기본값이 65,536입니다. | 모든 모델에서 잔액에서 확보하는 양으로 적용됩니다. 답변 길이의 제한으로는 호스팅 오픈 웨이트 모델, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1에 적용됩니다. | 범위를 벗어난 값은 범위의 가장 가까운 끝값으로 조정됩니다. 오류는 없습니다. |
중단 시퀀스: stop, stop_sequences | 문자열 4개 | 호스팅 오픈 웨이트 모델 | 비어 있지 않은 처음 4개의 문자열이 사용됩니다. |
| URL로 지정한 이미지 또는 파일 | 8 MiB, 20초 이내에 읽기, 리디렉션 최대 5회, 공개 http 또는 https 주소 | 이미지나 파일을 받는 모든 엔드포인트 | 해당 파트 없이 요청에 응답합니다. 오류는 없습니다. |
| 인라인(base64)으로 보낸 이미지 또는 파일 | 자체 제한은 없습니다. 32 MiB 요청 본문에 포함됩니다. | 이미지나 파일을 받는 모든 엔드포인트 | 요청 전체에 상태 413. |
POST /v1/tokenize의 text | 4,000,000바이트 | /v1/tokenize | 상태 413, 유형 invalid_request_error, 메시지 text too long. |
POST /v1/tokenize의 messages와 POST /v1/messages/count_tokens의 본문 | 32 MiB 요청 본문 | 두 계산 엔드포인트 모두 | 상태 413. |
| 컨텍스트 윈도우 | 모델별: GET /v1/models의 context_window | 모든 모델 | 더 긴 대화의 처리는 모델에 따라 다릅니다. 모델 및 가격 |
웹 검색(web_search: true) | 플랜별 일일 횟수: Free 3, Plus 30, Standard 50, Pro 60. 검색이 결과를 찾은 요청에 대해 검색 한 번이 집계됩니다. | web_search: true를 설정한 요청 | 남은 검색이 없으면 검색 없이 응답합니다. 오류는 없습니다. 내장 웹 검색 |
오류
이 페이지의 응답입니다. /v1/messages에서는 같은 error 객체가 {"type": "error", "error": {…}}로 감싸집니다.
| 상태 | 유형 | 메시지 | 발생 시점 및 대처 방법 |
|---|---|---|---|
429 | rate_limit_error | Quota exceeded. Upgrade your plan at shannon-ai.com/plan | 요청에서 확보할 양이 잔액에 맞지 않습니다. 00:00 UTC를 기다리거나, 크레딧을 충전하거나, 플랜을 변경하거나, 더 작은 max_tokens를 보내세요. |
429 | rate_limit_error | Too many requests. Retry in <N>s. | 현재 분에 120건을 초과하는 요청이 있었습니다. N초를 기다린 뒤 다시 보내세요. |
429 | rate_limit_error | Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan | 현재 4시간 구간의 Shannon Coder 호출 횟수를 모두 사용했습니다. |
429 | rate_limit_error | Shannon routes are temporarily busy. Please retry. | 모델이 지금은 요청을 받을 수 없습니다. 잠시 후 다시 보내세요. |
503 | api_error | Could not verify your quota right now. Please retry. | 잔액을 읽을 수 없었습니다. 아무것도 청구되지 않았으니 요청을 다시 보내세요. Shannon 모델을 사용하는 /v1/responses에서는 상태가 500입니다. |
413 | invalid_request_error | 요청 본문이 32 MiB보다 큽니다. OpenAI 형식 엔드포인트에서는 error 객체에 code: "request_too_large"가 담겨 있습니다. | |
413 | invalid_request_error | text too long | POST /v1/tokenize의 text가 4,000,000바이트보다 깁니다. |