Bijgewerkt
DeepSeek API-sleutel werkt niet: oorzaken en oplossingen
Wanneer een foutmelding verschijnt dat een deepseek API-sleutel niet werkt, is de sleutel zelf minder vaak dan je denkt de oorzaak. De meeste fouten komen door de base URL, een leeg saldo, een verkeerde modelnaam of een client die de sleutel op de verkeerde plek verstuurt.


Begin met een een-regel test
Voordat je iets in je app verandert, haal de client uit het plaatje. Een enkele curl-opdracht vertelt je of de sleutel, de URL en de modelnaam samenwerken. Vervang de placeholders door de waarden uit het dashboard en de docs van je provider.
curl -i https://YOUR-PROVIDER/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"YOUR-MODEL","messages":[{"role":"user","content":"ping"}]}'
De -i flag print de statusregel en headers, en die zijn belangrijker dan de body. Als curl werkt en je app niet, ligt de fout bij de app-instellingen. Als curl ook faalt, is het probleem de sleutel, de account of het endpoint.
Lees eerst de status code
| Code | Gewone betekenis | Wat je moet controleren |
|---|---|---|
| 401 | De sleutel werd afgewezen | Fouten kopiëren, extra spaties, ingetrokken of verwijderde sleutel, sleutel van een andere provider |
| 402 of een saldobericht | Geen tegoed meer | Accountsaldo en facturatiepagina |
| 404 | Verkeerd pad of model | Base URL, trailing /v1, spelling van de modelnaam |
| 429 | Te veel verzoeken | Verzoeken per minuut, gelijktijdige verzoeken, retry-headers |
| 5xx of time-out | Providerzijde of netwerk | Provider statuspagina, later opnieuw proberen, regionale routing |
Dit zijn de veelvoorkomende betekenissen voor OpenAI-achtige providers. Elke provider documenteert zijn eigen exacte codes, dus controleer hun huidige documentatie voor de details.
De sleutel zelf
Sleutels zijn lange strings en ze breken op saaie manieren. Plak de sleutel in een platte teksteditor en kijk naar een eindspatie of regeleinde, een aanhalingsteken aan het begin, of een regelsprong toegevoegd door een chat-app. Zorg dat de header Authorization: Bearer KEY leest met een enkele spatie na Bearer. Als je de sleutel in een omgevingsvariabele zet, print dan de lengte in je app (niet de waarde) om te bevestigen dat deze geladen is.
Twee andere gevallen zijn veelvoorkomend. Eerst heb je een sleutel gemaakt, de pagina gesloten en een gemaskeerde versie gekopieerd. De meeste dashboards tonen een sleutel één keer, dus maak een nieuwe aan. Ten tweede gebruik je een sleutel van de ene service tegen de URL van een andere service. Een sleutel is alleen geldig voor de provider die hem heeft uitgegeven.
Saldo, facturatie en gratis tegoed
Veel API-sleutels werken alleen zolang het account tegoed heeft. Een leeg saldo kan eruitzien als een kapotte sleutel. Open de facturatiepagina van je provider en bevestig dat je geld hebt, dat een top-up daadwerkelijk is verwerkt, en dat eventueel promotiegoed niet is verlopen. Crypto- en creditcardtop-ups kunnen een paar minuten duren om te verschijnen.
Als je wilt vergelijken hoe een andere prepaid service dit aanpakt, is ons model eenvoudig: je koopt tegoed, verzoeken trekken het af tegen $0,15 per 1M input tokens en $0,50 per 1M output tokens, gefaalde of geweigerde verzoeken worden niet in rekening gebracht, en het tegoed verloopt nooit. Je kunt het saldo lezen met GET /v1/balance of via de X-Balance-USD header op elk antwoord.
Base URL en de modelnaam
De meest voorkomende oorzaak in tools zoals SillyTavern, Janitor AI en editorplugins is een base URL die iets verkeerd is getypt. Veelgemaakte fouten: missende /v1, een verdubbelde /v1/v1, het gebruik van http in plaats van https, of het plakken van het volledige pad /chat/completions in een veld dat het al toevoegt. Het modelveld is de andere valkuil. Het moet overeenkomen met een model ID dat de provider opsomt. Lijst ze op met GET /v1/models als de provider dit ondersteunt, of lees de huidige documentatie.
Installatiehandleidingen voor specifieke tools staan op deze site: een sleutel gebruiken in SillyTavern, in Janitor AI en in VS Code.
Snelheidslimieten en gelijktijdigheid
Een burst van gelijktijdige verzoeken kan een 429 triggeren, zelfs op een geldige sleutel. Kijk naar een Retry-After header en back off. Een minimale retry in Python ziet er zo uit:
import time
from openai import OpenAI, RateLimitError
client = OpenAI(base_url="https://api.deepseekapikey.com/v1", api_key="YOUR_KEY")
def ask(prompt):
for attempt in range(4):
try:
r = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": prompt}],
)
return r.choices[0].message.content
except RateLimitError:
time.sleep(5 * (attempt + 1))
raise RuntimeError("still rate limited")
Op ons endpoint staat een volledige sleutel 8 gelijktijdige verzoeken toe en 300 verzoeken per minuut. Een gestreamd verzoek houdt zijn slot vast tot de stream klaar is. De error code is rate_limited of concurrency, en een tijdelijke overload retourneert 429 met Retry-After: 5.
Netwerk- en regionale problemen
Als curl vastloopt of de verbinding verbroken wordt, kan het probleem tussen jou en de provider liggen: een bedrijfsproxy, een VPN, DNS of een regionale blokkade. Probeer een ander netwerk, controleer of je proxy Authorization-headers doorgeeft en verhoog de time-out van je client voor lange generaties. Streaming-antwoorden kunnen ook worden afgesneden door proxies die bufferen; test met stream: false om de twee problemen van elkaar te scheiden.
Een checklist die je in vijf minuten kunt uitvoeren
- Voer de curl test uit en noteer de status code.
- Maak een verse sleutel aan en test deze. Als de nieuwe sleutel werkt, was de oude verkeerd gekopieerd of ingetrokken.
- Controleer het saldo en eventuele vervaldatum op tegoed.
- Vergelijk base URL en model ID met de docs van de provider, teken voor teken.
- Stuur één verzoek zonder streaming, zonder hulpmiddelen en met een korte prompt. Voeg functies één voor één weer toe.
- Controleer op gelijktijdige aanroepen. Als je app meerdere verzoeken tegelijk afvuurt, verlaag dan de concurrency.
- Probeer een ander netwerk of schakel de VPN uit.
- Kijk naar de responseheaders, inclusief eventuele request-ID. Een supportteam kan je aanroep vinden aan de hand van die ID.
Stap vijf vindt een verrassend aantal bugs. Tool definitions die licht ongeldig zijn, een zeer grote max_tokens waarde, of een body boven de grootte limiet kunnen allemaal fouten retourneren die eruitzien als sleutelproblemen. Op ons endpoint is de body limiet 8 MB, en elk antwoord heeft een X-Request-Id header die je kunt citeren ter ondersteuning.
Stel een backup-endpoint in
Storingen en limieten komen bij elke provider voor, dus houd een tweede OpenAI-compatible endpoint in je configuratie. Onze is een gehost open-weight model dat is afgestemd op het beantwoorden zonder inhoudelijke weigeringen voor wettelijk volwassen gebruik. Het is niet de officiële API van DeepSeek en het is geen router, dus verwacht andere antwoorden en ander gedrag. Schakelen doe je door twee instellingen aan te passen: base URL https://api.deepseekapikey.com/v1 en model uncensored.
curl https://api.deepseekapikey.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"ping"}]}'
Nieuwe gebruikers kunnen met één klik $0,50 aan proeftegoed claimen op de API-sleutel pagina, geldig voor 7 dagen. Opwaarderingen lopen van $20 tot $500 per crypto; zie de prijzen pagina en de documentatie voor details.
Meer handleidingen
Vragen en antwoorden
Waarom werkt mijn sleutel in curl maar niet in mijn app?
De app heeft waarschijnlijk een verkeerde base URL, een verkeerde modelnaam of een verouderde kopie van de sleutel. Vergelijk de instellingen met je werkende curl-opdracht teken voor teken.
Garandeert een geldige sleutel dat verzoeken slagen?
Nee. Een leeg saldo, een rate limit of een onbekende modelnaam kunnen allemaal falen met een perfect geldige sleutel.
Kan ik dezelfde code gebruiken met een andere provider?
Als beide OpenAI-compatible zijn, ja. Verander de base URL, de sleutel en de model ID.
Is jouw endpoint hetzelfde model als DeepSeek?
Nee. Het is een open-weight model dat wordt uitgevoerd door een onafhankelijke provider, en het is niet de officiële API van een leverancier.
Je sleutel is nog maar één formulier verwijderd
Maak een account aan, kopieer de sleutel, pas de base URL aan. Dat is de hele setup.