Atualizado
Chave de API DeepSeek não funciona: causas e soluções
Quando aparece o erro de chave de API do DeepSeek não funcionando, a própria chave é a culpada com menos frequência do que você imagina. A maioria das falhas vem da URL base, de um saldo vazio, de um nome de modelo errado ou de um cliente que envia a chave no lugar errado.


Comece com um teste de uma linha
Antes de alterar qualquer coisa no seu app, remova o cliente da equação. Uma única chamada curl diz se a chave, a URL e o nome do modelo funcionam juntos. Substitua os placeholders pelos valores do painel e da documentação do seu provedor.
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"}]}'
A flag -i imprime a linha de status e os cabeçalhos, e eles importam mais que o corpo. Se o curl funcionar e o app não, a falha está nas configurações do app. Se o curl falhar também, o problema é a chave, a conta ou o endpoint.
Leia o código de status primeiro
| Código | Significado usual | O que verificar |
|---|---|---|
| 401 | A chave foi rejeitada | Copie as mensagens de erro, espaços extras, chave revogada ou excluída, chave de outro provedor |
| 402 ou uma mensagem de saldo | Sem crédito restante | Saldo da conta e página de faturamento |
| 404 | Caminho ou modelo errado | URL base, /v1 no final, ortografia do nome do modelo |
| 429 | Muitas requisições | Requisições por minuto, chamadas paralelas, cabeçalhos de retry |
| 5xx ou timeout | Lado do provedor ou rede | Página de status do provedor, tente novamente mais tarde, roteamento regional |
Estes são os significados comuns entre provedores estilo OpenAI. Cada provedor documenta seus próprios códigos exatos, então verifique a documentação atual deles para os detalhes.
A própria chave
Chaves são strings longas e falham de maneiras chatas. Cole a chave em um editor de texto puro e procure por espaço ou nova linha no final, aspas no início ou uma quebra de linha adicionada por um app de chat. Certifique-se de que o cabeçalho esteja Authorization: Bearer KEY com um único espaço após Bearer. Se você definir a chave em uma variável de ambiente, imprima seu comprimento no app (não o valor) para confirmar que foi carregada.
Dois outros casos são comuns. Primeiro, você criou uma chave, fechou a página e copiou uma versão mascarada. A maioria dos painéis mostra uma chave apenas uma vez, então crie uma nova. Segundo, você está usando uma chave de um serviço contra a URL de outro serviço. Uma chave é válida apenas para o provedor que a emitiu.
Saldo, faturamento e crédito grátis
Muitas chaves de API funcionam apenas enquanto a conta tem crédito. Um saldo vazio pode parecer uma chave quebrada. Abra a página de faturamento do seu provedor e confirme se você tem fundos, se um recarregamento foi efetivamente liberado e se qualquer crédito promocional não expirou. Recarregamentos com cripto podem levar alguns minutos para aparecer.
Se você quiser comparar como outro serviço pré-pago lida com isso, nosso modelo é simples: você compra crédito, as chamadas o consomem a $0.15 por 1M de tokens de entrada e $0.50 por 1M de tokens de saída, requisições falhas ou recusadas não são cobradas, e o crédito nunca expira. Você pode ler o saldo com GET /v1/balance ou pelo cabeçalho X-Balance-USD em cada resposta.
URL base e nome do modelo
A causa mais frequente em ferramentas como SillyTavern, Janitor AI e plugins de editor é uma URL base digitada errada. Erros comuns: falta /v1, um /v1/v1 duplicado, uso de http em vez de https ou colar o caminho completo /chat/completions em um campo que já o adiciona. O campo do modelo é a outra armadilha. Deve corresponder a um ID de modelo listado pelo provedor. Liste-os com GET /v1/models se o provedor suportar, ou leia a documentação atual.
Guias de configuração para ferramentas específicas estão neste site: usando uma chave no SillyTavern, no Janitor AI e no VS Code.
Limites de requisições e concorrência
Uma explosão de requisições paralelas pode acionar um 429 mesmo com uma chave válida. Procure o cabeçalho Retry-After e reduza a taxa. Uma tentativa mínima em Python se parece com isto:
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")
No nosso endpoint, uma chave completa permite 8 requisições simultâneas e 300 requisições por minuto. Uma requisição com streaming ocupa sua vaga até que o streaming termine. O código de erro é rate_limited ou concurrency, e uma sobrecarga temporária retorna 429 com Retry-After: 5.
Problemas de rede e regionais
Se o curl travar ou resetar, o problema pode estar entre você e o provedor: um proxy corporativo, VPN, DNS ou bloqueio regional. Tente uma rede diferente, verifique se seu proxy encaminha os cabeçalhos Authorization e aumente o timeout do cliente para gerações longas. Respostas streaming também podem ser cortadas por proxies que fazem buffer; teste com stream: false para separar os dois problemas.
Uma lista de verificação que você pode executar em cinco minutos
- Execute o teste curl e anote o código de status.
- Crie uma nova chave e teste-a. Se a nova chave funcionar, a antiga foi copiada errada ou revogada.
- Verifique o saldo e qualquer data de validade no crédito.
- Compare base URL e ID do modelo com a documentação do provedor, caractere por caractere.
- Envie uma solicitação sem streaming, sem ferramentas e com um prompt curto. Habilite os recursos de volta um por um.
- Verifique chamadas paralelas. Se seu app dispara várias requisições de uma vez, reduza a concorrência.
- Tente outra rede ou desative a VPN.
- Olhe os cabeçalhos de resposta, incluindo qualquer ID de solicitação. Uma equipe de suporte pode encontrar sua chamada por esse ID.
O passo cinco encontra um número surpreendente de erros. Definições de ferramentas ligeiramente inválidas, um valor muito grande de max_tokens ou um corpo acima do limite de tamanho podem retornar erros que parecem problemas de chave. No nosso endpoint, o limite do corpo é 8 MB, e toda resposta carrega um cabeçalho X-Request-Id que você pode citar para o suporte.
Configure um endpoint de backup
Quedas e limites acontecem com qualquer provedor, então mantenha um segundo endpoint compatível com OpenAI na sua configuração. O nosso é um modelo de pesos abertos hospedado, ajustado para responder sem recusas de conteúdo para uso adulto lícito. Não é a API oficial do DeepSeek e não é um roteador, então espere respostas e comportamentos diferentes. A troca leva duas configurações: URL base https://api.deepseekapikey.com/v1 e modelo 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"}]}'
Novos usuários podem reivindicar $0,50 de crédito de teste grátis com um clique na página da chave de API, válido por 7 dias. As recargas variam de $20 a $500 por cripto; consulte a página de preços e a documentação para detalhes.
Mais guias
Perguntas e respostas
Por que minha chave funciona no curl, mas não no meu app?
O aplicativo provavelmente tem uma URL base errada, um nome de modelo errado ou uma cópia antiga da chave. Compare as configurações dele com sua chamada curl que funciona caractere por caractere.
Uma chave válida garante que as requisições serão bem-sucedidas?
Não. Saldo vazio, limite de requisições ou nome de modelo desconhecido podem falhar mesmo com uma chave perfeitamente válida.
Posso usar o mesmo código com um provedor diferente?
Se ambos forem compatíveis com OpenAI, sim. Altere a base URL, a chave e o ID do modelo.
Seu endpoint é o mesmo modelo da DeepSeek?
Não. É um modelo de pesos abertos executado por um provedor independente e não é a API oficial de nenhum fornecedor.
Sua chave está a um passo de distância
Crie uma conta, copie a chave e altere a URL base. Essa é toda a configuração.