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.
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.Quais endpoints exigem uma key
Seção intitulada “Quais endpoints exigem uma key”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 |
Quando a autenticação falha
Seção intitulada “Quando a autenticação falha”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_quotasignifica que a key está correta, mas a conta não tem saldo.usd_spend_limit_exceededesecondary_spend_limit_exceededsignificam que a key atingiu um limite de gasto configurado nela, mesmo que a conta ainda tenha saldo.
Usando com um SDK da OpenAI
Seção intitulada “Usando com um SDK da OpenAI”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.