Console

Documentação do BasicRouter

Início rápido

O BasicRouter oferece às equipes de produção uma API estável para acesso a modelos, roteamento, fallback, rastreamento de uso e cobrança baseada em créditos. O fornecimento de tokens LLM é proveniente de contas originais de provedores confiáveis em nuvem corporativa, com proteção de privacidade, alta estabilidade e rastreabilidade de solicitações integradas ao gateway.

URL basehttps://api.basicrouter.ai/api
Compatível com OpenAIhttps://api.basicrouter.ai/api/v1
Mensagens Anthropichttps://api.basicrouter.ai/api/v1
AutenticaçãoAuthorization: Bearer <key>

Criar uma chave API

Crie uma chave API do BasicRouter no console. Mantenha a chave no seu servidor e nunca a exponha no código do navegador ou do cliente móvel.

Estratégia de chave recomendada:

Tipo de chaveUso recomendado
Chave de desenvolvimentoDesenvolvimento local, homologação, testes e protótipos.
Chave de produçãoApenas cargas de trabalho de produção no backend.
Chave de integraçãoChave dedicada para ferramentas como Cursor, Claude Code, Codex, Hermes ou OpenClaw.
Chave de cliente / tenantIsolamento opcional de chave para clientes corporativos, tráfego de tenant ou unidades de negócio.

Rotacione as chaves quando o acesso da equipe mudar. Revogue as chaves que não são mais usadas.

Aponte seu SDK para o BasicRouter

A maioria dos clientes compatíveis com OpenAI só precisa de uma nova URL base e chave API.

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.BASICROUTER_API_KEY,
  baseURL: "https://api.basicrouter.ai/api/v1"
});

Enviar uma conclusão de chat

curl --request POST \
  --url https://api.basicrouter.ai/api/v1/chat/completions \
  --header "Authorization: Bearer $BASICROUTER_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "claude-sonnet-5",
    "messages": [
      { "role": "user", "content": "Explain BasicRouter in one sentence." }
    ]
  }'

Verificar uso e saldo

curl --request GET \
  --url https://api.basicrouter.ai/api/v1/billing/balance \
  --header "Authorization: Bearer $BASICROUTER_API_KEY"

Descoberta de modelos

Use a página de Modelos ou a API de Modelos para inspecionar os modelos de texto disponíveis. Os metadados do modelo incluem fornecedor, provedor de serviço, modalidade, comprimento de contexto, famílias de API suportadas, capacidades suportadas, disponibilidade, limites no nível da conta e preço em créditos.

Endpoint: GET /v1/models Objetivo: Listar modelos disponíveis para a conta atual.

curl --request GET \
  --url https://api.basicrouter.ai/api/v1/models \
  --header "Authorization: Bearer $BASICROUTER_API_KEY"

Matriz de capacidades

CapacidadeDescriçãoComumente usado por
streamingSuporta streaming de eventos enviados pelo servidor (SSE).Apps de chat, agentes de programação, UX em tempo real.
tool_callingSuporta chamada de ferramentas ou funções.Agentes, automação de fluxos de trabalho, assistentes de programação.
structured_outputsSuporta saídas com restrição de esquema ou JSON.Extração de dados, automação de fluxos de trabalho, apps corporativos.
json_modePode retornar saída formatada em JSON.Respostas estruturadas leves.
visionAceita entrada de imagem.Chat multimodal, análise de UI, capturas de tela de documentos.
prompt_cachingSuporta entrada em cache ou reutilização de contexto.Agentes de contexto longo, prompts de sistema repetidos.
reasoningSuporta controles explícitos de raciocínio quando disponíveis.Planejamento complexo, programação, fluxos de análise.
logprobsSuporta saída de probabilidade de tokens.Avaliação, classificação, fluxos avançados de NLP.

Matriz de compatibilidade de famílias de API

Família de APITextoEntrada de visãoChamada de ferramentasSaída estruturadaStreamingObservações
OpenAI Chat CompletionsSimDepende do modeloDepende do modeloDepende do modeloSimMelhor padrão para agentes e SDKs compatíveis com OpenAI.
OpenAI ResponsesSimDepende do modeloDepende do modeloDepende do modeloSimRecomendado para fluxos de trabalho de agentes mais recentes no estilo OpenAI.
Anthropic MessagesSimDepende do modeloDepende do modeloDepende do modeloSimMelhor para clientes compatíveis com Claude e Claude Code.
Compatibilidade Gemini OpenAISimDepende do modeloDepende do modeloDepende do modeloSimUse modelos Gemini através de clientes no estilo OpenAI.
Compatibilidade nativa GeminiSimDepende do modeloDepende do modeloDepende do modeloSimMelhor para aplicações nativas Gemini existentes.
Geração de imagem BasicRouterNãoDepende do modeloNãoNãoNãoUsa polling assíncrono de tarefas ou webhook.
Geração de vídeo BasicRouterNãoDepende do modeloNãoNãoNãoUsa polling assíncrono de tarefas ou webhook.

Autenticação

Toda solicitação de API usa um token bearer. Armazene as chaves em variáveis de ambiente do lado do servidor, rotacione-as quando o acesso da equipe mudar e registre os IDs de solicitação para depuração.

CabeçalhoValorObservações
AuthorizationBearer YOUR_API_KEYObrigatório para toda solicitação.
Content-Typeapplication/jsonObrigatório para corpos de solicitação JSON.

Recomendações de segurança de chaves

  1. Mantenha as chaves API no servidor. Não exponha as chaves no código do navegador ou do cliente móvel.
  2. Use chaves separadas para desenvolvimento, homologação, produção e integrações de terceiros.
  3. Defina o escopo das chaves por ambiente, serviço, cliente ou tenant quando disponível.
  4. Faça a rotação das chaves após a saída de funcionários, mudanças no acesso de fornecedores ou suspeita de vazamento.
  5. Armazene as chaves em gerenciadores de segredos ou variáveis de ambiente, não no código-fonte.

Uso do console

O Console do BasicRouter é o plano de controle operacional para acesso à API, disponibilidade de modelos, políticas de roteamento, visibilidade de uso e administração de cobrança. Ele oferece aos administradores da conta uma visão centralizada de chaves, modelos, solicitações, créditos e controles no nível da conta para tráfego de modelos em produção.

Gerenciamento de chaves API

Crie, rotacione, revogue e rotule chaves API no console. Use chaves separadas para desenvolvimento, homologação, produção e serviços individuais para que o uso possa ser auditado e isolado por ambiente ou aplicação.

PráticaDescrição
Ambientes separadosUse chaves API diferentes para tráfego de desenvolvimento, homologação e produção.
Use rótulos descritivosRotule as chaves por aplicação, serviço, ambiente ou integração.
Rotacione regularmenteRotacione as chaves quando o acesso mudar ou as credenciais podem ter sido expostas.
Evite exposição no lado do clienteMantenha as chaves API apenas em sistemas do lado do servidor. Não exponha as chaves no código do navegador ou do cliente móvel.
Monitore o uso da chaveRevise o volume de solicitações, consumo de créditos e padrões de erro por chave.

Lista de modelos

Use a página de Modelos para revisar os modelos disponíveis para a conta. Cada entrada de modelo pode incluir fornecedor, provedor de serviço, modalidade, famílias de API suportadas, comprimento de contexto, sinalizadores de capacidade, status de disponibilidade e informações de preço.

FiltroObjetivo
FornecedorFiltre por fornecedor do modelo como OpenAI, Anthropic, Google, Qwen, DeepSeek ou outros provedores.
ProvedorFiltre por provedor de serviço ou provedor de nuvem.
ModalidadeFiltre por suporte a texto, imagem, vídeo, embedding, áudio ou multimodal.
CapacidadeFiltre por suporte a streaming, chamada de ferramentas, saídas estruturadas, visão, cache de prompt ou raciocínio.
DisponibilidadeIdentifique modelos que estão disponíveis para a conta no momento.

Para aplicações em produção, verifique as capacidades do modelo antes de ativar o tráfego. Alguns parâmetros e recursos dependem do modelo e podem não ser suportados em todas as famílias de API.

Uso e logs

A visualização de Uso e Logs fornece visibilidade operacional do tráfego da API. As equipes podem inspecionar o volume de solicitações, modelos selecionados, destinos de roteamento resolvidos, consumo de créditos, latência, códigos de erro e IDs de solicitação.

  • Solucione falhas em solicitações.
  • Identifique cargas de trabalho de alto custo.
  • Compare o uso de modelos entre aplicações e ambientes.
  • Valide o comportamento de roteamento e fallback.
  • Investigue problemas de latência ou disponibilidade do provedor.
  • Forneça IDs de solicitação ao contatar o suporte.

Cada resposta da API inclui ou expõe um ID de solicitação do BasicRouter. Armazene este ID nos logs da sua aplicação para tornar a depuração de produção e a escalonamento de suporte mais eficientes.

Fallback

O Fallback é o mecanismo de resiliência do BasicRouter. Quando o modelo principal ou a política de roteamento falha, o sistema alterna automaticamente para um modelo de backup para continuar processando a solicitação. Isso mantém sua aplicação responsiva e minimiza o risco de interrupção do serviço.

Garantia de alta disponibilidade
O Fallback atua como uma rede de segurança, mantendo sua aplicação funcionando sem problemas, mesmo quando ocorre uma falha de modelo, limite de cota ou flutuação de rede.

Por que o fallback é importante

Em produção, os serviços de modelo podem enfrentar vários problemas imprevisíveis:

  • Falha no serviço do modelo: a API upstream fica temporariamente indisponível ou atinge o tempo limite.
  • Flutuação de desempenho: alta carga do modelo leva a respostas lentas ou com falha.
  • Falha de roteamento: todos os modelos candidatos selecionados pelo roteamento inteligente ficam indisponíveis.

O Fallback mantém sua aplicação disponível fornecendo um caminho de backup confiável.

Principais vantagens

VantagemDescrição
Alta disponibilidadeO failover automático mantém o serviço em execução e reduz o impacto das interrupções.
Troca transparenteO sistema alterna os modelos automaticamente — não são necessárias alterações no código da aplicação.
Configuração flexívelSuporta configuração tanto por solicitação quanto no nível da conta para diferentes casos de uso.
Otimização de custosEscolha um modelo mais econômico como fallback para controlar custos de emergência.
Gerenciamento centralizadoConfigure uma vez no nível da conta e será aplicado automaticamente a toda solicitação.

Configuração de modelo de fallback global

O BasicRouter suporta a definição de um modelo de fallback global no backend do console. Todas as solicitações usam automaticamente este modelo como backup quando falham.

Como configurar:

  1. Acesse a página de configurações de estratégia do BasicRouter.
  2. Encontre a configuração de Modelo de Fallback Padrão.
  3. Selecione seu modelo de fallback global na lista suspensa.
  4. Salve a configuração para aplicá-la imediatamente.

Vantagens da configuração global:

  • Sem alterações de código: configure uma vez e aplica-se globalmente, sem necessidade de repetir a configuração em cada solicitação.
  • Gerenciamento centralizado: gerencie a política de fallback em um único local para ajuste e monitoramento mais fáceis.
  • Manutenção simplificada: reduz a complexidade do código e a chance de erros de configuração.
  • Substituição flexível: a configuração de fallback no nível da solicitação tem prioridade e pode substituir a configuração global para cenários específicos.

Configuração de fallback no nível da solicitação

Para cenários de negócio específicos, você pode especificar um modelo de fallback em uma solicitação individual para substituir a configuração global.

Especifique o modelo de fallback com o parâmetro router.fallBackModels:

{
  "model": "claude-sonnet-4",
  "messages": [
    {
      "role": "user",
      "content": "Explain what quantum computing is"
    }
  ],
  "router": {
    "fallBackModels": ["glm-5.2"]
  }
}

Regras de prioridade

Quando várias configurações de fallback estão presentes, a prioridade vai da mais alta para a mais baixa:

  1. router.fallBackModels no nível da solicitação: o modelo de fallback especificado em uma solicitação individual.
  2. Modelo de Fallback Padrão Global: o modelo de fallback global configurado no console.
  3. Sem fallback: se nenhum dos dois estiver configurado, a solicitação retorna um erro em caso de falha.
⚠ Observações importantes
  • Se todos os modelos de fallback falharem, o sistema retorna o motivo da falha do último modelo tentado.
  • Quando ocorre um fallback, a resposta indica o modelo realmente usado, facilitando o monitoramento e a análise.

Administração da conta

Dependendo do tipo de conta, o console pode incluir ativação de modelos no nível da conta, controles de revendedor ou distribuidor, configuração de cobrança e configurações de acesso. Os administradores podem usar esses controles para alinhar o acesso a modelos, a visibilidade de uso e a responsabilidade de cobrança com aplicações, contas de cliente ou unidades de negócio.

Lista de verificação de operações de produção

ItemRecomendação
Chaves APIUse chaves de produção dedicadas com rótulos claros.
ModelosConfirme a disponibilidade do modelo, preço, comprimento de contexto e capacidades necessárias.
RoteamentoConfigure aliases de roteamento ou políticas de fallback para cargas de trabalho críticas.
LogsGaranta que os IDs de solicitação sejam capturados nos logs da aplicação.
CobrançaConfirme o saldo da carteira, o status do plano e as regras de dedução de créditos.
Limites de taxaRevise RPM, TPM, concorrência e limites de tarefas de mídia no nível da conta.
AlertasMonitore o crescimento de uso, saldo de créditos, erros e disponibilidade do provedor.

Cobrança e créditos

O BasicRouter usa um modelo de cobrança baseado em créditos para cargas de trabalho de texto, imagem, vídeo e outros modelos suportados. Os créditos fornecem uma unidade unificada para uso de múltiplos modelos e múltiplos provedores, permitindo que as equipes gerenciem o consumo de forma consistente entre modalidades e famílias de API.

Os preços detalhados dos modelos estão disponíveis na página de Modelos ou através das APIs de metadados de modelo. O preço pode variar por modelo, provedor, modalidade, resolução, tipo de token, compramento de saída, duração da tarefa, tipo de conta e acordo comercial.

Recarga e carteira

As contas podem adicionar créditos de carteira pré-pagos para uso flexível. Os créditos da carteira são usados após os créditos do plano mensal e dos pacotes de recursos serem consumidos, a menos que uma regra billing rule applies to the account.

Os créditos da carteira não expiram, salvo especificação em contrário nos termos comerciais aplicáveis. Uma taxa de serviço é cobrada ao recarregar a carteira pré-paga.

Planos mensais e pacotes de recursos

Cada usuário ou conta pode selecionar um plano mensal ativo. Os planos mensais fornecem uma quantidade definida de capacidade de uso, termos comerciais e configuração de acesso no nível da conta para o período de cobrança.

Os usuários também podem comprar vários pacotes de recursos para capacidade de uso adicional. Os pacotes de recursos podem separar o uso comprometido do saldo da carteira pré-paga e são úteis para uso de alto volume de texto, imagem, vídeo ou cargas de trabalho dedicadas.

Ordem de dedução

A menos que regras de cobrança personalizadas estejam configuradas, os créditos são deduzidos na seguinte ordem:

PrioridadeOrigem do créditoDescrição
1Plano mensalA capacidade de uso mensal incluída é consumida primeiro.
2Pacotes de recursosPacotes adicionais comprados são consumidos após os créditos do plano mensal.
3Carteira pré-paga (pay-as-you-go)O saldo da carteira é consumido após os créditos do plano e dos pacotes de recursos.

Para contas com termos comerciais personalizados, a ordem de dedução, regras de expiração, uso incluído e preços podem ser diferentes. As regras específicas da conta são mostradas no console ou fornecidas através do acordo comercial.

Preços personalizados

Os preços podem ser personalizados para cada usuário ou conta. Clientes corporativos, contas de revendedor, contas de distribuidor e clientes de alto volume podem ser elegíveis para preços personalizados. Entre em contato com as vendas para uma cotação.

Os preços personalizados podem ser configurados por conta, modelo, provedor, modalidade, região, volume de uso ou acordo comercial. Quando os preços personalizados são ativados, o console e as APIs de cobrança refletem os preços e regras de dedução específicos da conta quando disponíveis.

Unidades de preço

Diferentes modalidades de modelo usam diferentes unidades de medida. O BasicRouter converte essas unidades em créditos de acordo com as regras de preço do modelo.

ModalidadeBase comum de preço
TextoTokens de entrada, tokens de saída, tokens de leitura em cache, tokens de escrita em cache, tokens de raciocínio ou categorias de token específicas do modelo.
ImagemModelo, resolução, número de imagens geradas, uso de imagem de entrada, modo de edição ou configuração de qualidade.
VídeoModelo, resolução de saída, segundos gerados, proporção da tela, uso de imagem ou vídeo de entrada e tipo de tarefa.
EmbeddingsTokens de entrada ou número de registros de embedding.
ÁudioDuração de entrada, duração de saída, comprimento de transcrição ou unidades de áudio específicas do modelo.

As unidades de preço podem variar por modelo. Sempre consulte a página de detalhes do modelo ou os metadados de preço antes de ativar um modelo em produção.

Atribuição de uso

O uso do BasicRouter pode ser revisado por conta, chave API, modelo, modalidade ou intervalo de tempo. Isso permite que as equipes atribuam custos a aplicações, ambientes, clientes ou unidades de negócio internas.

DimensãoDescrição
Chave APIAgrupe o uso por aplicação, serviço ou ambiente.
ModeloCompare custo e volume por modelo selecionado.
Modelo resolvidoRevise o modelo real usado após roteamento ou fallback.
ModalidadeSepare o uso de texto, imagem, vídeo, embedding e áudio.
PeríodoRevise períodos de relatório diários, mensais ou personalizados.
MetadadosAgrupe o uso por metadados de solicitação personalizados, como ID do cliente, ID do tenant, ID do usuário ou ambiente.

Saldo de créditos

Verifique quantos créditos estão disponíveis em sua conta. O saldo é dividido em três carteiras que são deduzidas em ordem: a allowances do plano mensal, pacotes de recursos comprados e a carteira pré-paga. Um total combinado de recursos (plano mensal + pacotes de recursos, excluindo o pré-pago) também está disponível para rastrear o uso incluído separadamente dos gastos de recarga.

Para recuperar isso programaticamente, consulte GET /v1/billing/balance na Referência da API.

Detalhes de uso

Revise uma lista paginada e cronológica de registros de uso individuais para relatórios, monitoramento e alocação interna de custos. Cada registro mostra o modelo, tipo de modelo (texto, imagem ou vídeo), os créditos deduzidos e um detalhamento de qual carteira cada dedução foi retirada. Os resultados podem ser filtrados por um intervalo de tempo específico.

Para recuperar isso programaticamente, consulte GET /v1/usage na Referência da API.

Histórico de transações

Use o histórico de transações para revisar movimentações de créditos, incluindo recargas, alocações de plano, concessões de pacotes de recursos, deduções de uso, ajustes e correções administrativas.

Para recuperar isso programaticamente, consulte GET /v1/billing/transactions na Referência da API.

Solicitações com falha e reembolsos

Erros de validação, erros de autenticação e erros de permissão geralmente não são cobrados porque nenhuma execução de modelo ocorre. Solicitações que alcançam um modelo upstream ou geram saída parcial podem consumir créditos dependendo do modelo, provedor e estado da resposta.

Para tarefas assíncronas de imagem e vídeo, o comportamento de cobrança depende se a tarefa foi aceita, iniciada, concluída, falhou ou foi cancelada. A resposta de detalhes da tarefa inclui informações de uso quando os créditos foram consumidos.

Recargas, planos mensais, pacotes de recursos e créditos consumidos não são reembolsáveis, a menos que especificado de outra forma no acordo comercial aplicável ou exigido por lei.

Operacional

Erros

O BasicRouter retorna códigos de erro estáveis para que as aplicações possam lidar com repetições, fallbacks, problemas de cobrança e depuração de forma consistente.

Endpoints compatíveis com provedores tentam preservar o formato de erro da família de API original quando possível. Endpoints nativos do BasicRouter usam o objeto de erro do BasicRouter.

Mapeamento de status HTTP e códigos de erro

Status HTTPTipo de erroCódigos de exemploRepetir
400invalid_request_errorinvalid_request, unsupported_parameter, invalid_messages, invalid_image_urlNão
401authentication_errormissing_api_key, invalid_api_keyNão
402billing_errorinsufficient_credits, payment_required, quota_exceededNão
403permission_errormodel_access_denied, endpoint_access_denied, key_scope_deniedNão
404not_found_errormodel_not_found, response_not_found, task_not_foundNão
408timeout_errorgateway_timeout, provider_timeoutSim
409conflict_erroridempotency_conflict, task_already_cancelledDepende
422validation_errorschema_validation_failed, unsupported_modalityNão
429rate_limit_erroraccount_rpm_exceeded, account_tpm_exceeded, provider_rate_limitedSim
500internal_errorinternal_errorSim
502provider_errorprovider_bad_gateway, provider_invalid_responseSim
503service_unavailablemodel_unavailable, provider_unavailable, insufficient_capacitySim
504timeout_errorprovider_timeout, gateway_timeoutSim

Códigos de erro comuns

CódigoSignificadoAção recomendada
missing_api_keyNenhuma chave API foi fornecida.Adicione o cabeçalho Authorization.
invalid_api_keyA chave API é inválida ou revogada.Crie ou rotacione a chave API.
model_not_foundO ID do modelo não existe ou não está ativado para a conta.Consulte a página de Modelos ou chame GET /v1/models.
model_access_deniedA chave API ou a conta não tem acesso ao modelo.Ative o modelo ou contate o administrador.
unsupported_parameterA solicitação inclui um parâmetro não suportado pelo endpoint ou modelo selecionado.Remova o parâmetro ou escolha um modelo compatível.
unsupported_modalityA modalidade de entrada ou saída não é suportada pelo modelo selecionado.Escolha um modelo que suporte a modalidade.
account_rpm_exceededLimite de solicitações por minuto da conta excedido.Repita com backoff ou solicite limites maiores.
account_tpm_exceededLimite de tokens por minuto da conta excedido.Repita com backoff, reduza tokens ou solicite limites maiores.
provider_rate_limitedO provedor upstream limitou a taxa da solicitação.Repita ou ative o fallback.
insufficient_creditsA conta tem créditos insuficientes.Recarregue a carteira, compre um pacote ou faça upgrade do plano.
provider_timeoutO provedor upstream não respondeu a tempo.Repita ou ative o fallback.
model_unavailableO modelo está temporariamente indisponível.Repita ou use um alias de roteamento.
content_policy_errorA solicitação ou saída foi bloqueada por uma política de segurança.Modifique a entrada ou escolha um fluxo de trabalho adequado.