Krótka odpowiedź
Jak wywołać LLMwithCrypto za pomocą curl?
Wyślij POST do https://llmwithcrypto.com/api/v1/chat/completions z -H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY", typem zawartości JSON i ciałem zawierającym model i messages. LLMwithCrypto zwraca obiekt odpowiedzi OpenAI; przekieruj go do jq, aby wydrukować odpowiedź i liczbę tokenów. Dodaj -N i "stream": true, aby zobaczyć tekst na żywo, zgodnie z dokumentacją na 23 października 2026.
Jak ustawić klucz raz?
Wyeksportuj go w sesji powłoki, żeby każde polecenie mogło go użyć, i trzymaj go poza historią powłoki i współdzielonymi skryptami:
- Linux i macOS:
export LLMWITHCRYPTO_API_KEY=…w terminalu lub w pliku.env, który ładują Twoje skrypty i który nigdy nie jest commitowany. - Windows PowerShell:
$env:LLMWITHCRYPTO_API_KEY = "…", następnie uruchom polecenia w Git Bash lub WSL albo dostosuj cytowanie.
Twórz jeden klucz API na aplikację, agenta lub członka zespołu i odwołuj każdy z nich z dashboardu, nie ruszając pozostałych.
curl -s "https://llmwithcrypto.com/api/v1/chat/completions" \
-H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-oss-20b", "messages": [{"role": "user", "content": "One word for fast?"}], "max_tokens": 20}' \
| jq -r '.choices[0].message.content, "\(.usage.prompt_tokens) in, \(.usage.completion_tokens) out"'
Jak uniknąć problemów z cytowaniem?
Umieść ciało w pliku. Cudzysłowy powłoki i cudzysłowy JSON walczą ze sobą, gdy tylko prompt zawiera apostrof lub znak dolara; plik pozwala uniknąć obu. --data @request.json wysyła plik tak, jak jest.
cat > request.json <<'EOF'
{
"model": "deepseek-v4-pro",
"messages": [
{"role": "system", "content": "You review shell scripts."},
{"role": "user", "content": "Is it safe to run rm -rf \"$DIR\"/ when DIR may be empty?"}
],
"max_tokens": 300
}
EOF
curl -s "https://llmwithcrypto.com/api/v1/chat/completions" \
-H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" \
-H "Content-Type: application/json" \
--data @request.json | jq -r '.choices[0].message.content'
Jak mogę obserwować strumieniowaną odpowiedź?
-N wyłącza bufor wyjścia curl, więc każde zdarzenie server-sent event wyświetla się od razu po nadejściu. Zobaczysz surowe linie data:; strona o streamingu wyjaśnia je.
curl -sN "https://llmwithcrypto.com/api/v1/chat/completions" \
-H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [{"role": "user", "content": "Write a haiku about latency."}],
"stream": true,
"stream_options": {"include_usage": true},
"max_tokens": 120
}'
Jak mogę wyświetlić listę modeli i sprawdzić kredyty?
Oba zapytania są darmowe. Pierwsze wypisuje jeden id modelu na linię, gotowy do pola model; drugie wypisuje pozostałe kredyty w dolarach amerykańskich.
curl -s "https://llmwithcrypto.com/api/v1/models" \
-H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" | jq -r '.data[].id'
curl -s "https://llmwithcrypto.com/api/v1/credits" \
-H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" | jq -r '.balance_usd'
Jak mogę zobaczyć błąd w terminalu?
Dodaj -w "\nHTTP %{http_code}\n", aby wypisać status po treści odpowiedzi. Treść błędu to mały obiekt JSON z polem code, takim jak invalid_api_key, insufficient_balance lub model_not_found; strona o błędach wyjaśnia każdy z nich. Z jq, .error.code // empty wypisuje kod, gdy jakiś jest, a w przeciwnym razie nic, co ułatwia rozgałęzianie w skryptach.
Błędy nic nie kosztują. Płacisz za token z salda: tokeny wejściowe i wyjściowe są liczone przez tokenizer danego modelu i rozliczane według ceny tego modelu za 1M tokenów. Wywołanie zakończone błędem nic nie kosztuje.
Czy mogę napisać skrypt do partii z curl?
Dla kilku zapytań wystarczy pętla powłoki po plikach: jedna treść JSON na plik, jeden curl na plik, wyniki zapisane obok nich. Zachowaj kolejność lub uruchamiaj kilka naraz z xargs -P 4, aby nie przekroczyć rate limit. Każde konto ma limit zapytań i tokenów na minutę, widoczny w dashboardzie; poproś support, a można go podnieść.
Dla większych ilości ponowienia i współbieżność są łatwiejsze w kodzie: strony Python i Node.js mają gotowe przykłady partii z limitem współbieżności.
curl: często zadawane pytania
Dlaczego dostaję błąd 401?
Klucz API brakuje, jest błędnie wpisany lub unieważniony, albo zmienna nie jest ustawiona w tej powłoce. Uruchom echo ${#LLMWITHCRYPTO_API_KEY}, aby sprawdzić, czy nie jest pusta.
Jak mogę szybko porównać dwa modele?
Uruchom ten sam plik dwa razy i zmień tylko model, na przykład deepseek-v4-pro i gpt-oss-120b; linie usage pokazują, ile kosztowała każda odpowiedź w tokenach.
Czy mój prompt jest przechowywany?
Nie. Nie przechowujemy Twoich promptów ani odpowiedzi modelu: gdy odpowiedź zostanie wysłana, jej tekst znika. Każde wywołanie zostawia jedną linię logu z czasem, kontem, modelem i liczbą tokenów, usuwaną po 30 dniach.