Startseite → Ratgeber → OpenCode mit eigener API: Konfiguration, Claude, small_model und echte Kosten
OpenCode liest seine Anbieter aus opencode.json, die Einrichtung ist also eine einzige Datei. Überrascht hat uns die Rechnung: Die Bitte um ein einziges Wort erzeugte zwei Anfragen und über 12.000 Eingabe-Tokens. Wir haben OpenCode 1.19.0 mit drei Modellen gegen unser Gateway laufen lassen, um zu zeigen, wohin die Tokens gehen und wie man sie spart.
Legen Sie Folgendes in ~/.config/opencode/opencode.json (oder opencode.json im Projekt) ab:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"apiclan": {
"npm": "@ai-sdk/openai-compatible",
"name": "APICLAN",
"options": {
"baseURL": "https://apiclan.us/v1",
"apiKey": "{env:APICLAN_GPT_KEY}"
},
"models": {
"gpt-6-astra": {},
"gpt-6.1-sol": {}
}
}
}
}
APICLAN_GPT_KEY.models nur Modelle aus der Gruppe dieses Schlüssels ein. Jeder Schlüssel gehört zu genau einer Gruppe, daher brauchen GPT, DeepSeek und Claude jeweils einen eigenen Anbieter-Eintrag und Schlüssel.opencode, tippen Sie /models und wählen Sie APICLAN → gpt-6-astra. In Skripten: opencode run -m apiclan/gpt-6-astra "...".| baseURL | Ergebnis |
|---|---|
https://apiclan.us/v1 | ✓ |
https://apiclan.us | ✗ 404 Not Found |
@ai-sdk/openai-compatible hängt an baseURL nur /chat/completions an, das /v1 muss also schon drinstehen. Ohne es bricht OpenCode mit einem knappen Not Found ab.
Fügen Sie unter provider einen zweiten Anbieter mit dem Anthropic-Paket und einem Schlüssel aus einer Claude-Gruppe hinzu:
"claude": {
"npm": "@ai-sdk/anthropic",
"name": "APICLAN Claude",
"options": {
"baseURL": "https://apiclan.us/v1",
"apiKey": "{env:APICLAN_CLAUDE_KEY}"
},
"models": { "claude-fable-5-1": {} }
}
Auch hier muss baseURL auf /v1 enden: Das Anthropic-Paket hängt nur /messages an, und https://apiclan.us allein lieferte in unserem Test 404. Das ist das Gegenteil von Claude Code, dessen ANTHROPIC_BASE_URL kein /v1 enthalten darf.
Wir baten OpenCode in einem leeren Projekt um „Reply with just OK“. Jedes Modell brauchte zwei Anfragen: eine für den Titel der Sitzung und die eigentliche, die den Systemprompt und die Werkzeugdefinitionen von OpenCode mitschickt.
| Modell | Anfragen | Eingabe-Tokens (Titel + Antwort) | Gesamtzeit | Kosten |
|---|---|---|---|---|
gpt-6-astra | 2 | 4,640 + 7,678 | 20.5 s | $0.050 |
deepseek-v4-pro | 2 | 528 + 5,708 | 34.1 s | $0.005 |
deepseek-v4.1-flash | 2 | 529 + 3,027 | 21.8 s | $0.0006 |
OpenCode schickt GPT-Modellen einen deutlich längeren Systemprompt (rund 7.700 Tokens) als DeepSeek (rund 3.000), und allein die Titelanfrage verbrauchte bei GPT 4.640 Tokens. Deshalb kostete dasselbe „OK“ mit gpt-6-astra etwa 77-mal so viel wie mit deepseek-v4.1-flash. Getestet am 12. Oktober 2026 mit OpenCode 1.19.0; Kosten wie von unserem Gateway abgerechnet.
OpenCode nutzt small_model für Nebenaufgaben wie Sitzungstitel. Richten Sie es auf ein günstiges Modell in einem eigenen Anbieter:
"small_model": "apiclan-ds/deepseek-v4.1-flash",
"provider": {
"apiclan": { ... },
"apiclan-ds": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://apiclan.us/v1",
"apiKey": "{env:APICLAN_DS_KEY}"
},
"models": { "deepseek-v4.1-flash": {} }
}
}
Mit gpt-6-astra als Hauptmodell sank die Titelanfrage von $0,0187 auf $0,00003 und der ganze Ein-Wort-Austausch von $0,050 auf $0,031 – 38 % weniger bei jeder neuen Sitzung, ohne Änderung an den Antworten.
Dieselbe Aufgabe für jedes Modell: fizzbuzz.py samt pytest-Tests schreiben, ohne Befehle auszuführen. Danach haben wir jede Funktion mit der richtigen Ausgabe für 1–30 verglichen.
| Modell | Anfragen | Gesamtzeit | Kosten | Korrekt | Test-Assertions |
|---|---|---|---|---|---|
gpt-6-astra | 3 | 40 s | $0.069 | ✓ | 2 |
deepseek-v4-pro | 3 | 61 s | $0.008 | ✓ | 7 |
deepseek-v4.1-flash | 3 | 25 s | $0.0011 | ✓ | 7 |
Alle drei schrieben in drei Anfragen korrekten Code. deepseek-v4.1-flash war am schnellsten und kostete etwa 1/60 von gpt-6-astra; beide DeepSeek-Modelle schrieben zudem gründlichere Tests. deepseek-v4-pro war am langsamsten, weil es vor jedem Schritt nachdenkt. Die Gesamtzeit enthält einige Sekunden Startzeit von OpenCode selbst.
baseURL ohne /v1.apiKey ist in der Shell, die OpenCode startet, nicht gesetzt.is not supported by any configured account in this group) → unter models steht ein Modell, das nicht in der Gruppe des Schlüssels ist – etwa ein GPT-Modell bei einem Anbieter mit DeepSeek-Schlüssel.Weitere Coding-Tools: Cline mit eigener API · Codex mit eigener API.
Kein Abo, kein monatlicher Mindestumsatz, kein Vertriebsgespräch. Lade mit USDT auf und zahle, was du verbrauchst — 1 USDT ergibt 2 Guthaben an API-Kontostand.
Den 30-Sekunden-Schnellstart lesenSprache: English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Deutsch · Français · Español · Türkçe · Português · Italiano · Bahasa Indonesia · Tiếng Việt · Bahasa Melayu · Polski · Čeština · فارسی · Русский
Die Preise auf dieser Seite werden automatisch aus echten Abrechnungsdaten übernommen. Bedingungen Dritter sind aus deren eigener Dokumentation zitiert.