# curl: die LLM API vom Terminal aus

> Terminal-Rezepte für eine OpenAI-kompatible LLM API: Chat-Completion mit curl und jq, Anfrage aus einer Datei, Streaming und Modellliste.

- URL: https://llmwithcrypto.com/de/docs/curl/
- Zuletzt aktualisiert: 2026-10-23
- Herausgeber: LLMwithCrypto (https://llmwithcrypto.com)

Jeder Aufruf ist reines HTTPS mit einem JSON-Body, also reicht curl, um einen API-Schlüssel zu testen, zwei Modelle zu vergleichen oder einen schnellen Job zu skripten. `jq` macht das JSON lesbar; beides ist auf den meisten Systemen dabei oder mit einem Befehl installiert.

**Kurze Antwort — Wie rufe ich LLMwithCrypto mit curl auf?**

Senden Sie ein POST an `https://llmwithcrypto.com/api/v1/chat/completions` mit `-H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY"`, einem JSON-Content-Type und einem Body mit `model` und `messages`. **LLMwithCrypto** gibt das OpenAI-Response-Objekt zurück; leiten Sie es an `jq` weiter, um die Antwort und die Token-Zahlen auszugeben. Fügen Sie `-N` und `"stream": true` hinzu, um den Text live ankommen zu sehen, wie am 23. Oktober 2026 dokumentiert.

## Wie setze ich den API-Schlüssel einmal?

Exportieren Sie ihn in Ihrer Shell-Sitzung, damit jeder Befehl ihn nutzen kann, und halten Sie ihn aus Ihrer Shell-History und aus geteilten Skripten heraus:

- **Linux und macOS:** `export LLMWITHCRYPTO_API_KEY=…` im Terminal oder in einer `.env`-Datei, die Ihre Skripte laden und die nie committet wird.
- **Windows PowerShell:** `$env:LLMWITHCRYPTO_API_KEY = "…"`, dann führen Sie die Befehle in Git Bash oder WSL aus oder passen Sie das Quoting an.

Legen Sie einen API-Schlüssel pro App, Agent oder Teammitglied an und widerrufen Sie jeden davon im Dashboard, ohne die anderen zu berühren.

*Eine kurze Antwort und ihre Token-Zahlen*

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

```

## Wie vermeide ich Quoting-Probleme?

Legen Sie den Body in eine Datei. Shell-Quotes und JSON-Quotes bekämpfen sich, sobald ein Prompt ein Apostroph oder ein Dollarzeichen enthält; eine Datei vermeidet beides. `--data @request.json` sendet die Datei unverändert.

*Eine Anfrage aus einer Datei*

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

```

## Wie sehe ich eine gestreamte Antwort?

`-N` schaltet den Ausgabepuffer von curl ab, sodass jedes Server-Sent Event sofort ausgegeben wird, sobald es eintrifft. Sie sehen dann rohe `data:`-Zeilen; die [Streaming-Seite](https://llmwithcrypto.com/de/docs/streaming/) erklärt sie.

*Gestreamte Antwort, rohe 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
  }'

```

## Wie liste ich die Modelle auf und prüfe das Guthaben?

Beide Aufrufe sind kostenlos. Der erste gibt eine Modell-ID pro Zeile aus, direkt geeignet für das Feld `model`; der zweite gibt das verbleibende Guthaben in US-Dollar aus.

*Modell-IDs*

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

```

*Verbleibendes Guthaben*

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

```

## Wie sehe ich einen Fehler im Terminal?

Fügen Sie `-w "\nHTTP %{http_code}\n"` hinzu, um den Status nach dem Body auszugeben. Ein Fehler-Body ist ein kleines JSON-Objekt mit einem Feld `code`, etwa `invalid_api_key`, `insufficient_balance` oder `model_not_found`; die [Fehlerseite](https://llmwithcrypto.com/de/docs/errors/) erklärt jeden einzelnen. Mit `jq` gibt `.error.code // empty` den Code aus, wenn einer vorhanden ist, und sonst nichts, was Skripten die Verzweigung erleichtert.

Fehler kosten nichts. Sie zahlen pro Token aus Ihrem Guthaben: Input- und Output-Tokens werden mit dem eigenen Tokenizer des Modells gezählt und zum Preis des Modells pro 1M Tokens berechnet. Ein Aufruf, der mit einem Fehler endet, kostet nichts.

## Kann ich mit curl einen Batch skripten?

Für eine Handvoll Anfragen ist eine Shell-Schleife über Dateien in Ordnung: ein JSON-Body pro Datei, ein curl pro Datei, Ergebnisse daneben geschrieben. Halten Sie es sequenziell oder führen Sie mit `xargs -P 4` einige gleichzeitig aus, damit Sie unter Ihrem rate limit bleiben. Jedes Konto hat ein Anfrage- und Token-Limit pro Minute, das im Dashboard angezeigt wird; fragen Sie den Support, dann kann es erhöht werden.

Für alles Größere sind Retries und Nebenläufigkeit im Code einfacher: die Seiten [Python](https://llmwithcrypto.com/de/docs/python/) und [Node.js](https://llmwithcrypto.com/de/docs/node/) enthalten fertige Batch-Beispiele mit einer Obergrenze für die Nebenläufigkeit.

## curl: häufige Fragen

### Warum erhalte ich einen 401-Fehler?

Der Schlüssel fehlt, ist falsch geschrieben oder wurde widerrufen, oder die Variable ist in dieser Shell nicht gesetzt. Führen Sie `echo ${#LLMWITHCRYPTO_API_KEY}` aus, um zu prüfen, dass sie nicht leer ist.

### Wie vergleiche ich zwei Modelle schnell?

Führen Sie dieselbe Datei zweimal aus und ändern Sie nur `model`, zum Beispiel `deepseek-v4-pro` und `gpt-oss-120b`; die Zeilen `usage` zeigen, was jede Antwort an Tokens gekostet hat.

### Wird mein Prompt gespeichert?

Nein. Wir speichern Ihre Prompts und die Antworten der Modelle nicht: Sobald eine Antwort gesendet ist, ist ihr Text weg. Jeder Aufruf hinterlässt eine Logzeile mit Zeit, Konto, Modell und Token-Anzahl, die nach 30 Tagen gelöscht wird.

---

LLMwithCrypto: LLMwithCrypto ist eine OpenAI-kompatible LLM-API für Open-Weight-Modelle — 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 — pro Token aus einem vorausbezahlten Krypto-Guthaben bezahlt, 5 % unter dem Medianpreis der öffentlichen Hosts. Ohne KYC: kein Ausweis, kein Selfie, keine Dokumente. Prompts und Ausgaben werden nicht gespeichert.
