Pular para o conteúdo
Testar o chatObter chave de API

Autenticação

Envie sua API key da Bayle como um bearer token:

Authorization: Bearer <your-key>

Se você ainda não tem uma key, gere uma key inicial em chat.bayle.ai/developers.

Copia as instruções de configuração desta página, para colar no seu agente de código.
Ver o prompt
Me ajude a configurar isto para usar a Bayle AI, uma API compatível com a OpenAI. Guia completo: https://docs.bayle.ai/pt-br/authentication/

Objetivo: autenticar toda requisição à Bayle neste projeto com uma key bearer lida do ambiente.

1. Ache onde este projeto chama a API da Bayle (um client do SDK da OpenAI, fetch, httpx ou scripts curl).
2. Faça cada chamada enviar o header `Authorization: Bearer <key>`, com a key vinda da variável de ambiente BAYLE_API_KEY. Com um SDK da OpenAI, passe-a como `api_key` (Python: `api_key=os.environ["BAYLE_API_KEY"]`; Node: `apiKey: process.env.BAYLE_API_KEY`) e o SDK envia o header por mim.
3. Só estes endpoints exigem key: POST /chat/completions, /embeddings, /images/generations, /video/queue, /video/retrieve e /video/complete. GET /models e POST /video/quote são abertos, então não exija key neles.
4. Trate falhas ramificando por `error.code` no corpo JSON do erro, nunca pelo texto da mensagem (ele é localizado):
   - 401 invalid_api_key: a key está ausente ou errada. Nada foi cobrado. Me peça para conferir BAYLE_API_KEY.
   - insufficient_quota: a key está certa, mas a conta ficou sem saldo.
   - usd_spend_limit_exceeded ou secondary_spend_limit_exceeded: a key atingiu um limite de gasto configurado nela, mesmo que a conta tenha saldo.
   Mostre uma mensagem clara para cada um; não tente de novo um 401.
5. Mantenha a key fora do controle de versão, de código client-side e de logs. Se o projeto tem um arquivo .env, confirme que ele está no .gitignore.
6. Teste com uma requisição que deve falhar e uma que deve passar:
   curl -s -o /dev/null -w "%{http_code}\n" https://api.bayle.ai/chat/completions -H "Content-Type: application/json" -d '{"model":"MODEL_ID","messages":[{"role":"user","content":"hi"}]}'
   (espere 401 sem key), depois a mesma requisição com `-H "Authorization: Bearer $BAYLE_API_KEY"` (espere 200). Pegue o MODEL_ID em GET /models?type=text.

Regras:
1. A base URL é https://api.bayle.ai exatamente como está escrita. Não acrescente nenhum caminho a ela.
2. Leia a key da variável de ambiente BAYLE_API_KEY. Nunca escreva a key em um arquivo que você criar, em um comando, em um commit nem no chat. Onde a ferramenta guarda a key na própria tela de configurações, me diga onde colar. Se BAYLE_API_KEY não estiver definida, pare e peça que eu crie uma key em https://chat.bayle.ai/developers e a exporte.
3. Pegue os ids de modelo só de GET https://api.bayle.ai/models (sem key). Nunca chute um.
4. Termine com uma requisição de teste de verdade, me mostre o resultado e liste os arquivos que você alterou.

Dois endpoints são abertos, para que você possa checar conectividade e cotar um job antes de ter uma credencial. Tudo que gera alguma coisa exige uma.

Endpoint Key exigida
GET /models Não
POST /video/quote Não
POST /chat/completions Sim
POST /embeddings Sim
POST /images/generations Sim
POST /video/queue Sim
POST /video/retrieve Sim
POST /video/complete Sim

Uma credencial ausente ou inválida retorna 401 com o envelope de erro padrão, e a requisição é rejeitada antes que qualquer trabalho de geração comece, então nada é cobrado.

{
"error": {
"message": "Sua chave de API da Bayle está ausente ou não pôde ser verificada.",
"type": "authentication_error",
"param": null,
"code": "invalid_api_key"
}
}

Trate por error.code, não pelo texto da mensagem, que é localizado. Veja Idioma da resposta.

Outros dois códigos vale a pena distinguir de uma key inválida, porque a correção é diferente:

  • insufficient_quota significa que a key está correta, mas a conta não tem saldo.
  • usd_spend_limit_exceeded e secondary_spend_limit_exceeded significam que a key atingiu um limite de gasto configurado nela, mesmo que a conta ainda tenha saldo.

Um client OpenAI envia exatamente esse header, então passar sua key da Bayle como o api_key do SDK é tudo que é preciso. Veja Compatibilidade com OpenAI.