# curl: de LLM API vanuit een terminal

> Terminal-recepten voor een OpenAI-compatibele LLM API: chat completion met curl en jq, streaming, de modellenlijst en resterende credits.

- URL: https://llmwithcrypto.com/nl/docs/curl/
- Laatst bijgewerkt: 2026-10-23
- Uitgever: LLMwithCrypto (https://llmwithcrypto.com)

Elke aanroep is gewoon HTTPS met een JSON-body, dus curl volstaat om een sleutel te testen, twee modellen te vergelijken of een snel klusje te scripten. `jq` maakt de JSON leesbaar; beide zitten op de meeste systemen of installeren met één commando.

**Snel antwoord — Hoe roep ik LLMwithCrypto aan met curl?**

Stuur een POST naar `https://llmwithcrypto.com/api/v1/chat/completions` met `-H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY"`, een JSON content type en een body met `model` en `messages`. **LLMwithCrypto** retourneert het OpenAI-responseobject; pipe het naar `jq` om het antwoord en de token-tellingen af te drukken. Voeg `-N` en `"stream": true` toe om de tekst live te zien binnenkomen, zoals gedocumenteerd op 23 oktober 2026.

## Hoe stel ik de sleutel één keer in?

Exporteer hem in je shell-sessie zodat elk commando hem kan gebruiken, en houd hem buiten je shell-geschiedenis en gedeelde scripts:

- **Linux en macOS:** `export LLMWITHCRYPTO_API_KEY=…` in de terminal, of in een `.env`-bestand dat je scripts laden en dat nooit wordt gecommit.
- **Windows PowerShell:** `$env:LLMWITHCRYPTO_API_KEY = "…"`, en voer de commando's daarna uit in Git Bash of WSL, of pas de quoting aan.

Maak één API-sleutel per app, agent of teamgenoot en trek er elk ervan in vanuit het dashboard zonder de andere te raken.

*Een kort antwoord en de token-tellingen*

```bash
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"'

```

## Hoe voorkom ik quoting-problemen?

Zet de body in een bestand. Shell-quotes en JSON-quotes vechten met elkaar zodra een prompt een apostrof of een dollarteken bevat; een bestand voorkomt beide. `--data @request.json` stuurt het bestand zoals het is.

*Een verzoek gelezen uit een bestand*

```bash
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'

```

## Hoe bekijk ik een gestreamd antwoord?

`-N` schakelt de uitvoerbuffer van curl uit, zodat elke server-sent event meteen wordt geprint zodra die binnenkomt. Je ziet dan ruwe `data:`-regels; de [streaming-pagina](https://llmwithcrypto.com/nl/docs/streaming/) legt ze uit.

*Gestreamd antwoord, ruwe events*

```bash
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
  }'

```

## Hoe list ik de modellen en check ik de credit?

Beide calls zijn gratis. De eerste print één model-id per regel, klaar voor het `model`-veld; de tweede print de resterende credit in US dollars.

*Model-ids*

```bash
curl -s "https://llmwithcrypto.com/api/v1/models" \
  -H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" | jq -r '.data[].id'

```

*Resterende credit*

```bash
curl -s "https://llmwithcrypto.com/api/v1/credits" \
  -H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" | jq -r '.balance_usd'

```

## Hoe zie ik een fout in de terminal?

Voeg `-w "\nHTTP %{http_code}\n"` toe om de status na de body te printen. Een foutbody is een klein JSON-object met een `code`-veld, zoals `invalid_api_key`, `insufficient_balance` of `model_not_found`; de [foutenpagina](https://llmwithcrypto.com/nl/docs/errors/) legt elke fout uit. Met `jq` print `.error.code // empty` de code als die er is en anders niets, wat scripts makkelijk maakt om op te vertakken.

Fouten kosten niets. Je betaalt per token vanaf je saldo: input- en outputtokens worden geteld door de tokenizer van het model zelf en afgerekend tegen de prijs van dat model per 1M tokens. Een call die op een fout eindigt, kost niets.

## Kan ik een batch scripten met curl?

Voor een handvol requests is een shell-loop over bestanden prima: één JSON-body per bestand, één curl per bestand, resultaten ernaast geschreven. Houd het sequentieel, of draai er een paar tegelijk met `xargs -P 4`, zodat je onder je rate limit blijft. Elk account heeft een limiet per minuut voor requests en tokens, te zien in het dashboard; vraag support en die kan worden verhoogd.

Voor grotere aantallen zijn retries en concurrency makkelijker in code: de [Python](https://llmwithcrypto.com/nl/docs/python/)- en [Node.js](https://llmwithcrypto.com/nl/docs/node/)-pagina's hebben kant-en-klare batchvoorbeelden met een concurrency-cap.

## curl: veelgestelde vragen

### Waarom krijg ik een 401-fout?

De API-sleutel ontbreekt, is verkeerd getypt of ingetrokken, of de variabele is niet ingesteld in deze shell. Voer `echo ${#LLMWITHCRYPTO_API_KEY}` uit om te checken dat die niet leeg is.

### Hoe vergelijk ik snel twee modellen?

Draai hetzelfde bestand twee keer en wijzig alleen `model`, bijvoorbeeld `deepseek-v4-pro` en `gpt-oss-120b`; de `usage`-regels laten zien wat elk antwoord aan tokens kostte.

### Wordt mijn prompt opgeslagen?

Nee. We bewaren je prompts en de antwoorden van het model niet: zodra een response is verstuurd, is de tekst weg. Elke call laat één logregel achter met de tijd, het account, het model en de tokentellingen, die na 30 dagen wordt verwijderd.

---

LLMwithCrypto: LLMwithCrypto is een OpenAI-compatibele LLM API voor open-weight modellen — DeepSeek V4 Pro, DeepSeek V4.1 Flash, DeepSeek R1, Qwen3.5 397B A17B, Qwen3 235B A22B Instruct, gpt-oss-120b, gpt-oss-20b, GLM-4.7, Llama 3.3 70B Instruct, Gemma 4 31B, Mistral Large 3, Mistral Small 4 — betaald per token vanaf een prepaid crypto-saldo, tegen 5% onder de mediane prijs van de publieke hosts. Zonder KYC: geen ID, geen selfie, geen documenten. Prompts en outputs worden niet opgeslagen.
