시작하기가이드
VS Code에서 첫 API 요청: .http 파일, .env에서 키 읽기
REST Client 확장으로 VS Code에서 CheapTokens에 첫 chat completion을 보내고, 키를 git 밖에 두고, 답변과 토큰 사용량을 확인하세요.

VS Code를 떠나지 않고도 CheapTokens에 첫 요청을 보낼 수 있습니다. REST Client 확장을 설치하고, .http 파일을 작성하고, 키를 같은 폴더의 .env에 두고 Ctrl+Alt+R을 누르세요. 응답은 파일 옆 패널에서 열리고, 텍스트와 토큰 수는 한눈에 확인할 수 있는 두 개의 필드입니다.
이미 에디터를 열어 두었다면, 모델에 "Hello"라고 인사하기 위해 다른 앱을 설치하는 것보다 낫습니다. 그리고 요청은 일반 텍스트 파일에 남으므로 내일 다시 실행하거나 (키를 빼고) 팀원을 위해 커밋할 수 있습니다. 같은 요청을 보내는 다른 방법은 First request with HTTPie와 Your first API request with CheapTokens에 있습니다.
확장을 설치하고 키를 .env에 넣기#
REST Client는 humao. 확장입니다. VS Code에서 F1을 누르고 ext install를 입력한 뒤 rest-client를 검색해 설치하세요. (2026년 11월 9일 기준 확장의 README와 대조했습니다.)
이제 키입니다. README는 {{$dotenv NAME}}를 설명합니다. 이는 .http 파일과 같은 디렉터리에 있는 .env 파일에서 값을 읽습니다. 키가 요청 파일에 절대 나타나지 않으므로 바로 우리가 원하는 방식입니다. 실험용 폴더를 만들고 두 파일을 넣으세요.
.env:
CHEAPTOKENS_API_KEY=paste-your-key-here.gitignore:
.envCheapTokens 계정에서 키를 만들고 자리표시자 대신 붙여넣으세요. ignore 줄이 왜 중요한지, 키가 커밋에 들어가 버렸을 때 어떻게 해야 하는지는 Store an API key safely에 있습니다.
순서대로 배열하기
설정을 올바른 순서로
항목을 드래그하거나 화살표를 사용하세요
- REST Client 확장 설치
- .gitignore에 .env 추가
- .http 파일 옆의 .env에 키 넣기
- 요청에서 Ctrl+Alt+R 누르기
.http 파일 작성하기#
같은 폴더에 first.http를 만드세요. 문법은 짧습니다. 요청 줄(POST URL HTTP/, 메서드는 선택 사항이며 기본값은 GET), 첫 빈 줄까지의 헤더 줄 Name: value, 그다음 빈 줄 뒤의 본문입니다. 요청은 # 세 개 이상으로 된 줄로 구분합니다.
### First request
POST https://api.cheaptokens.dev/v1/chat/completions
Authorization: Bearer {{$dotenv CHEAPTOKENS_API_KEY}}
Content-Type: application/json
{
"model": "zai-org/GLM-5.3-Flash",
"messages": [{ "role": "user", "content": "Hello" }]
}세 가지를 보세요. 주소는 CheapTokens API 베이스인 https:/에 /를 더한 것입니다. 모델은 전체 id인 zai-로 작성합니다. 390K 컨텍스트 모델로 답변당 최대 8,192 토큰을 쓸 수 있습니다. 그리고 키는 {{$dotenv …}} 자리표시자일 뿐이므로 이 파일은 커밋해도 안전합니다.

설정이 .env 파일을 읽지 못한다면, README는 머신의 환경 변수에서 값을 읽는 {{$processEnv NAME}}도 설명합니다.
보내고 응답 찾기#
요청 줄 위의 "Send Request"를 클릭하거나 Ctrl+Alt+R(macOS에서는 Cmd+Alt+R)을 누르세요. 마우스 오른쪽 버튼이나 F1을 사용할 수도 있습니다. 응답은 별도 패널에서 열립니다. 검색과 접기가 가능한 일반 에디터 탭을 선호한다면 설정에서 rest-을 true로 바꾸세요.
응답은 표준 chat-completions JSON입니다. 첫날 중요한 두 곳은 다음과 같습니다.
choices[0].는 답변 텍스트입니다. 옆의message. content finish_reason는 모델이 왜 멈췄는지 알려줍니다.length는 답변이 토큰 한도로 잘렸다는 뜻입니다.usage에는 이 요청의 토큰 수가 들어 있습니다. 보낸 토큰과 모델이 쓴 토큰입니다. 이것이 지불하는 대상이므로 매번 확인하세요.

직접 해보기해보기: 답변이 잘렸다는 것을 어떻게 알 수 있나요?정답 보기
응답의 finish_reason를 보세요. length라고 되어 있으면 모델이 끝나기 전에 토큰 한도에 도달한 것입니다. 본문에 "max_tokens" 줄을 추가하거나 값을 높이고 다시 보내세요.
비용 감각을 위해: 이 요청을 입력 약 1,000 토큰, 출력 300 토큰으로 100번 보낸다고 가정해 봅시다(예시를 위한 가정이며 측정값이 아닙니다).
| 모델 | 입력 $/1M | 출력 $/1M | 요청당 | 100회 요청 | OpenRouter, 100회 요청 |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.000032 | $0.0032 | $0.0058 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.000045 | $0.0045 | $0.0112 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.000095 | $0.0095 | $0.114 |
요청당 입력 1,000개 및 출력 300개 토큰입니다. 100만 토큰당 가격은 현재 기준이며 당사 요금제에 따라 함께 변경됩니다. OpenRouter 열은 동일한 작업량에 대한 참고 가격을 보여줍니다.
표는 각 모델에서 해당 작업량의 실시간 가격을 보여주며, 비교를 위한 OpenRouter 열도 있습니다. 아주 작은 "Hello"는 훨씬 적게 듭니다.
한 줄로 모델 바꾸기#
일반 텍스트 파일의 편리한 점: 한 줄을 바꾸고 다시 보내면 됩니다. 모델 id를 deepseek-(380K 컨텍스트, 답변당 최대 32,768 토큰, 하루 중 언제든 하나의 가격, 입력과 출력을 합산하면 OpenRouter보다 전체적으로 저렴)로 바꾸고 Ctrl+Alt+R을 한 번 더 누르세요. 같은 본문, 같은 키, 다른 답변, 그리고 다른 usage입니다.
둘 다 유지하고 싶나요? ### 줄 아래에 다른 모델 id로 두 번째 요청을 붙여넣으세요. 각 요청에는 자체 Send Request 링크가 있으므로 차례로 실행해 비교할 수 있습니다. id가 확실하지 않나요? List models with GET /v1/models가 정확한 문자열을 보여줍니다.
작동하지 않을 때#
짝 맞추기
증상을 원인과 맞추기
왼쪽 항목을 탭한 다음 짝을 탭하세요
- 401 Unauthorized키가 비었거나 잘못됨, 흔히 .env가 .http 파일과 같은 폴더에 없기 때문
- 404 Not FoundURL 경로나 모델 id의 오타
- 답변이 문장 중간에 멈춤, finish_reason이 length토큰 한도에 도달함, max_tokens를 높이세요
처음 두 가지는 API 401 or 404: wrong key, base URL or model id에서 점검 과정을 안내합니다. 전체 요청 세부 정보는 CheapTokens docs에 있고, 현재 가격은 pricing page에 있습니다.
이것이 전체 워크플로입니다. 파일 하나, .env에 있는 키 하나, 단축키 하나. 여기서부터 시스템 메시지를 추가하거나, max_tokens을 바꾸거나, 같은 본문을 어떤 언어의 코드로 바꿀 수 있습니다.



