Bumalik sa blog

PagsisimulaGabay

Unang API request sa VS Code: isang .http file, key mula sa .env

Ipadala ang iyong unang chat completion sa CheapTokens mula sa VS Code gamit ang REST Client extension, ilayo ang key sa git, at hanapin ang sagot at token usage.

Ni CheapTokens TeamNai-publish noong 5 min na pagbabasa

VS Code request file na may POST sa CheapTokens API at ang key na binabasa mula sa .env
Sa pahinang ito
  1. I-install ang extension at ilagay ang key sa .env
  2. Isulat ang .http file
  3. Ipadala ito at hanapin ang sagot
  4. Palitan ang modelo sa isang linya
  5. Kung hindi ito gumana

Maaari mong ipadala ang iyong unang kahilingan sa CheapTokens nang hindi lumalabas sa VS Code: i-install ang REST Client extension, magsulat ng .http file, itago ang key sa .env sa tabi nito at pindutin ang Ctrl+Alt+R. Bubukas ang sagot sa isang panel sa tabi ng file, at ang teksto at ang token count ay dalawang field na makikita mo agad.

Kung may bukas ka nang editor, mas mabuti ito kaysa mag-install ng ibang app para lang magsabi ng "Hello" sa isang modelo. At nananatili ang kahilingan sa isang plain text file, kaya maaari mo itong i-run muli bukas o i-commit (nang walang key) para sa isang kasamahan. Ang iba pang paraan para ipadala ang parehong kahilingan ay nasa First request with HTTPie at Your first API request with CheapTokens.

I-install ang extension at ilagay ang key sa .env#

Ang REST Client ang extension na humao.rest-client. Sa VS Code pindutin ang F1, i-type ang ext install, hanapin ang rest-client at i-install ito. (Sinuri laban sa README ng extension noong 9 Nobyembre 2026.)

Ngayon ang key. Inilalarawan ng README ang {{$dotenv NAME}}: nagbabasa ito ng value mula sa isang .env file na nasa parehong directory ng iyong .http file. Iyon mismo ang gusto natin, dahil hindi kailanman lumalabas ang key sa request file. Gumawa ng folder para sa eksperimento at maglagay ng dalawang file dito.

.env:

text
CHEAPTOKENS_API_KEY=paste-your-key-here

.gitignore:

text
.env

Gumawa ng key sa iyong CheapTokens account at i-paste ito kapalit ng placeholder. Kung bakit mahalaga ang ignore line, at ano ang gagawin kung may key na mapunta sa isang commit, ay nasa Store an API key safely.

Ilagay sa tamang pagkakasunod-sunod

Ilagay ang setup sa tamang pagkakasunod-sunod

  1. I-install ang REST Client extension
  2. Idagdag ang .env sa .gitignore
  3. Ilagay ang key sa .env sa tabi ng .http file
  4. Pindutin ang Ctrl+Alt+R sa kahilingan

Isulat ang .http file#

Gumawa ng first.http sa parehong folder. Maikli ang syntax: isang request line (POST URL HTTP/1.1, opsyonal ang method at nagde-default sa GET), mga header line na Name: value hanggang sa unang blangkong linya, pagkatapos ang body pagkatapos ng blangkong linya. Pinaghihiwalay ang mga kahilingan ng isang linyang may tatlo o higit pang #.

http
### 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" }]
}

Tatlong bagay ang dapat mapansin. Ang address ay ang CheapTokens API base, https://api.cheaptokens.dev/v1, kasama ang /chat/completions. Ang modelo ay isinusulat kasama ang buong id nito, zai-org/GLM-5.3-Flash: isang modelong may 390K context na makakasulat ng hanggang 8,192 token bawat sagot. At ang key ay {{$dotenv …}} placeholder lamang, kaya ligtas i-commit ang file na ito.

Nasa .env ang key; ang first.http ay may reference lamang dito
Nasa .env ang key, ang first.http ay may reference lamang dito

Kung hindi nababasa ng iyong setup ang .env file, inilalarawan din ng README ang {{$processEnv NAME}}, na nagbabasa ng variable mula sa environment ng iyong machine sa halip.

Ipadala ito at hanapin ang sagot#

I-click ang "Send Request" sa itaas ng request line, o pindutin ang Ctrl+Alt+R (Cmd+Alt+R sa macOS). Maaari ka ring mag-right-click o gumamit ng F1. Bubukas ang response sa isang hiwalay na panel. Kung mas gusto mo ang normal na editor tab kung saan makakapag-search at makakapag-fold, itakda ang rest-client.previewResponseInUntitledDocument sa true sa settings.

Ang response ay ang standard na chat-completions JSON. Dalawang lugar ang mahalaga sa unang araw:

  • Ang choices[0].message.content ay ang teksto ng sagot. Sa tabi nito, sinasabi ng finish_reason kung bakit huminto ang modelo. Ang length ay nangangahulugang naputol ang sagot dahil sa token limit.
  • Ang usage ay naglalaman ng token counts para sa kahilingang ito: mga token na ipinadala mo at mga token na isinulat ng modelo. Ito ang binabayaran mo, kaya tingnan ito tuwing may kahilingan.
Mula sa Ctrl+Alt+R hanggang sa teksto ng sagot at sa usage field
Saan titingin sa response panel
Subukan mo mismoSubukan: paano mo malalaman na naputol ang isang sagot?Ipakita ang sagot

Tingnan ang finish_reason sa response. Kung sinasabi nitong length, naabot ng modelo ang token limit bago ito matapos. Magdagdag ng "max_tokens" line sa body, o taasan ito, at ipadala muli.

Para magkaroon ng pakiramdam sa gastos: sabihin nating ipinapadala mo ang kahilingang ito nang 100 beses na may mga 1,000 token na papasok at 300 na palabas (isang palagay para sa halimbawa, hindi isang pagsukat).

Modelo Bawat kahilingan 100 mga kahilingan OpenRouter, 100 mga kahilingan
GLM-5.3-Flash $0.000032 $0.0032 $0.0058
DeepSeek-V4-Flash $0.000045 $0.0045 $0.0112
MiniMax-M2.7 $0.000095 $0.0095 $0.114

1,000 input at 300 output na token bawat kahilingan. Ang mga presyo kada 1M token ay kasalukuyan at nagbabago kasabay ng aming mga taripa; ang column ng OpenRouter ay nagpapakita ng reference na presyo para sa parehong workload.

Ipinapakita ng table ang live na presyo ng workload na iyon sa bawat modelo, na may OpenRouter column para ihambing. Ang maliit na "Hello" ay mas mura nang malaki.

Palitan ang modelo sa isang linya#

Ang maginhawang bahagi ng plain text file: palitan ang isang linya at ipadala muli. Palitan ang model id ng deepseek-ai/DeepSeek-V4-Flash-0731 (380K context, hanggang 32,768 token bawat sagot, isang presyo sa anumang oras ng araw, sa kabuuan mas mura kaysa OpenRouter kapag pinagsama ang input at output) at pindutin muli ang Ctrl+Alt+R. Parehong body, parehong key, ibang sagot, at ibang usage.

Gusto mong panatilihin ang dalawa? I-paste ang pangalawang kahilingan sa ibaba ng ### line kasama ang ibang model id. Bawat kahilingan ay may sariling Send Request link, kaya maaari mong patakbuhin ang mga ito nang sunud-sunod at ihambing. Hindi sigurado sa isang id? Ipinapakita ng List models with GET /v1/models ang eksaktong mga string.

Kung hindi ito gumana#

Itugma ang mga pares

Itugma ang sintomas sa dahilan

  • 401 UnauthorizedWalang laman o mali ang key, kadalasan dahil wala ang .env sa parehong folder ng .http file
  • 404 Not FoundMay typo sa URL path o sa model id
  • Humihinto ang sagot sa gitna ng pangungusap, finish_reason ay lengthNaabot ang token limit, taasan ang max_tokens

Para sa unang dalawa, tinatalakay ng API 401 or 404: wrong key, base URL or model id ang mga dapat suriin. Ang buong detalye ng kahilingan ay nasa CheapTokens docs, at ang kasalukuyang presyo ay nasa pricing page.

Iyon ang buong workflow: isang file, isang key sa .env, isang shortcut. Mula dito maaari kang magdagdag ng system message, baguhin ang max_tokens, o gawing code sa anumang wika ang parehong body.