Bloga dön

BaşlarkenKılavuz

VS Code'da ilk API isteği: bir .http dosyası, .env'den anahtar

REST Client eklentisiyle VS Code'dan CheapTokens'a ilk sohbet tamamlamanızı gönderin, anahtarı git dışında tutun ve yanıtı ve token kullanımını bulun.

Yazan: CheapTokens TeamYayınlanma tarihi: 4 dk okuma

CheapTokens API'sine POST isteği içeren ve anahtarın .env'den okunduğu VS Code istek dosyası
Bu sayfada
  1. Eklentiyi kurun ve anahtarı .env dosyasına alın
  2. .http dosyasını yazın
  3. Gönderin ve yanıtı bulun
  4. Modeli tek satırda değiştirin
  5. Çalışmazsa

VS Code'dan ayrılmadan CheapTokens'a ilk isteğinizi gönderebilirsiniz: REST Client eklentisini kurun, bir .http dosyası yazın, anahtarı yanındaki bir .env dosyasında tutun ve Ctrl+Alt+R'ye basın. Yanıt, dosyanın yanındaki bir panelde açılır; metin ve token sayısı ise bir bakışta bulabileceğiniz iki alandır.

Zaten açık bir editörünüz varsa, bu bir modele "Merhaba" demek için başka bir uygulama kurmaktan daha iyidir. Üstelik istek düz bir metin dosyasında kalır, böylece yarın yeniden çalıştırabilir veya (anahtar olmadan) bir ekip arkadaşı için commit'leyebilirsiniz. Aynı isteği göndermenin diğer yolları HTTPie ile ilk istek ve CheapTokens ile ilk API isteğiniz sayfalarındadır.

Eklentiyi kurun ve anahtarı .env dosyasına alın#

REST Client, humao.rest-client eklentisidir. VS Code'da F1'e basın, ext install yazın, rest-client araması yapın ve kurun. (9 Kasım 2026'da eklentinin README dosyasına göre kontrol edilmiştir.)

Şimdi anahtar. README, {{$dotenv NAME}} özelliğini açıklar: .http dosyanızla aynı dizinde bulunan bir .env dosyasından bir değer okur. Tam istediğimiz şey bu, çünkü anahtar hiçbir zaman istek dosyasında görünmez. Deney için bir klasör oluşturun ve içine iki dosya koyun.

.env:

text
CHEAPTOKENS_API_KEY=paste-your-key-here

.gitignore:

text
.env

CheapTokens hesabınızda anahtarı oluşturun ve yer tutucunun yerine yapıştırın. Yoksayma satırının neden önemli olduğu ve bir anahtarın bir commit'e karışması durumunda ne yapılacağı Bir API anahtarını güvenle saklayın sayfasındadır.

Sıraya koy

Kurulumu doğru sıraya koyun

  1. REST Client eklentisini kurun
  2. .env dosyasını .gitignore'a ekleyin
  3. Anahtarı .http dosyasının yanındaki .env dosyasına koyun
  4. İstek üzerinde Ctrl+Alt+R'ye basın

.http dosyasını yazın#

Aynı klasörde first.http oluşturun. Sözdizimi kısadır: bir istek satırı (POST URL HTTP/1.1, yöntem isteğe bağlıdır ve varsayılan olarak GET'tir), ilk boş satıra kadar başlık satırları Name: value, ardından boş bir satırdan sonra gövde. İstekler üç veya daha fazla # satırıyla ayrılır.

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

Dikkat edilmesi gereken üç şey. Adres, CheapTokens API temel adresi https://api.cheaptokens.dev/v1 artı /chat/completions'tür. Model, tam kimliğiyle yazılmıştır: zai-org/GLM-5.3-Flash, yanıt başına 8.192 token'a kadar yazabilen 390K bağlamlı bir model. Ve anahtar yalnızca bir {{$dotenv …}} yer tutucusudur, bu nedenle bu dosyayı commit'lemek güvenlidir.

Anahtar .env dosyasında yaşar; first.http yalnızca ona bir referans içerir
Anahtar .env dosyasında yaşar, first.http yalnızca ona bir referans içerir

Kurulumunuz .env dosyasını almıyorsa, README ayrıca makinenizin ortamından bir değişken okuyan {{$processEnv NAME}} özelliğini de açıklar.

Gönderin ve yanıtı bulun#

İstek satırının üzerindeki "Send Request"e tıklayın veya Ctrl+Alt+R'ye (macOS'ta Cmd+Alt+R) basın. Sağ tıklayabilir veya F1'i de kullanabilirsiniz. Yanıt ayrı bir panelde açılır. Arama ve katlama yapabileceğiniz normal bir editör sekmesini tercih ediyorsanız, ayarlarda rest-client.previewResponseInUntitledDocument değerini true olarak ayarlayın.

Yanıt, standart sohbet tamamlama JSON'udur. İlk günde önemli olan iki yer:

  • choices[0].message.content yanıt metnidir. Yanında, finish_reason modelin neden durduğunu söyler. length, yanıtın token sınırı nedeniyle kesildiği anlamına gelir.
  • usage bu istek için token sayılarını tutar: gönderdiğiniz token'lar ve modelin yazdığı token'lar. Ödediğiniz şey budur, bu yüzden her seferinde ona bakın.
Ctrl+Alt+R'den yanıt metnine ve usage alanına
Yanıt panelinde nereye bakmalı
Kendin deneDeneyin: bir yanıtın kesildiğini nasıl anlarsınız?Cevabı göster

Yanıttaki finish_reason alanına bakın. length diyorsa, model bitirmeden önce token sınırına ulaşmıştır. Gövdeye bir "max_tokens" satırı ekleyin veya değerini artırın ve yeniden gönderin.

Para konusunda bir fikir edinmek için: bu isteği yaklaşık 1.000 token giriş ve 300 token çıkışla 100 kez gönderdiğinizi varsayalım (örnek için bir varsayım, ölçüm değil).

Model İstek başına 100 istek OpenRouter, 100 istek
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

İstek başına 1.000 giriş ve 300 çıkış token'ı. 1M token başına fiyatlar günceldir ve tarifelerimizle birlikte değişir; OpenRouter sütunu aynı iş yükü için referans fiyatları gösterir.

Tablo, bu iş yükünün her modeldeki canlı fiyatını, karşılaştırma için bir OpenRouter sütunuyla birlikte gösterir. Küçük bir "Merhaba" çok daha ucuza gelir.

Modeli tek satırda değiştirin#

Düz bir metin dosyasının kullanışlı yanı: bir satırı değiştirin ve yeniden gönderin. Model kimliğini deepseek-ai/DeepSeek-V4-Flash-0731 ile değiştirin (380K bağlam, yanıt başına 32.768 token'a kadar, günün her saatinde tek fiyat, giriş ve çıkış birlikte sayıldığında toplamda OpenRouter'dan daha ucuz) ve bir kez daha Ctrl+Alt+R'ye basın. Aynı gövde, aynı anahtar, farklı bir yanıt ve farklı bir usage.

İkisini de tutmak ister misiniz? Bir ### satırının altına diğer model kimliğiyle ikinci bir istek yapıştırın. Her istek kendi Send Request bağlantısını alır, böylece bunları arka arkaya çalıştırıp karşılaştırabilirsiniz. Bir kimlikten emin değil misiniz? GET /v1/models ile modelleri listeleyin tam dizeleri gösterir.

Çalışmazsa#

Eşleştir

Belirtiyi nedene eşleştirin

  • 401 UnauthorizedAnahtar boş veya yanlış, genellikle .env dosyası .http dosyasıyla aynı klasörde olmadığı için
  • 404 Not FoundURL yolunda veya model kimliğinde bir yazım hatası
  • Yanıt cümle ortasında duruyor, finish_reason lengthToken sınırına ulaşıldı, max_tokens değerini artırın

İlk ikisi için, API 401 veya 404: yanlış anahtar, temel URL veya model kimliği kontrolleri adım adım anlatır. Tam istek ayrıntıları CheapTokens belgelerinde, güncel fiyatlar ise fiyatlandırma sayfasında bulunur.

İş akışının tamamı bu: bir dosya, .env içinde bir anahtar, bir kısayol. Buradan bir sistem mesajı ekleyebilir, max_tokens değerini değiştirebilir veya aynı gövdeyi herhangi bir dilde koda dönüştürebilirsiniz.