Documentos de BasicRouter
Inicio rápido
BasicRouter ofrece a los equipos de producción una API estable para el acceso a modelos, enrutamiento, respaldo, seguimiento de uso y facturación basada en créditos. El suministro de tokens de LLM proviene de cuentas de proveedores originales en la nube empresarial de confianza, con protección de privacidad, alta estabilidad y trazabilidad de solicitudes integradas en la pasarela.
https://api.basicrouter.ai/apihttps://api.basicrouter.ai/api/v1https://api.basicrouter.ai/api/v1Authorization: Bearer <key>Crear una clave API
Cree una clave API de BasicRouter en la consola. Mantenga la clave en su servidor y nunca la exponga en el código del navegador o del cliente móvil.
Estrategia de claves recomendada:
| Tipo de clave | Uso recomendado |
|---|---|
| Clave de desarrollo | Desarrollo local, staging, pruebas y prototipos. |
| Clave de producción | Solo cargas de trabajo de producción en el backend. |
| Clave de integración | Clave dedicada para herramientas como Cursor, Claude Code, Codex, Hermes o OpenClaw. |
| Clave de cliente / inquilino | Aislamiento de clave opcional para clientes empresariales, tráfico por inquilino o unidades de negocio. |
Rotar las claves cuando cambie el acceso del equipo. Revocar las claves que ya no se usen.
Apunte su SDK a BasicRouter
La mayoría de los clientes compatibles con OpenAI solo necesitan una nueva URL base y una clave API.
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.BASICROUTER_API_KEY,
baseURL: "https://api.basicrouter.ai/api/v1"
});Enviar una completación 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." }
]
}'Comprobar uso y saldo
curl --request GET \
--url https://api.basicrouter.ai/api/v1/billing/balance \
--header "Authorization: Bearer $BASICROUTER_API_KEY"Descubrimiento de modelos
Use la página de Modelos o la API de Modelos para inspeccionar los modelos de texto disponibles. Los metadatos del modelo incluyen proveedor, proveedor de servicio, modalidad, longitud de contexto, familias de API soportadas, capacidades soportadas, disponibilidad, límites a nivel de cuenta y precios en créditos.
Endpoint: GET /v1/models Propósito: Listar los modelos disponibles para la cuenta actual.
curl --request GET \
--url https://api.basicrouter.ai/api/v1/models \
--header "Authorization: Bearer $BASICROUTER_API_KEY"Matriz de capacidades
| Capacidad | Descripción | Usado comúnmente por |
|---|---|---|
streaming | Soporta transmisión mediante eventos enviados por el servidor. | Apps de chat, agentes de programación, UX en tiempo real. |
tool_calling | Soporta llamada a herramientas o funciones. | Agentes, automatización de flujos de trabajo, asistentes de programación. |
structured_outputs | Soporta salidas restringidas por esquema o JSON. | Extracción de datos, automatización de flujos, apps empresariales. |
json_mode | Puede devolver salida en formato JSON. | Respuestas estructuradas ligeras. |
vision | Acepta entrada de imágenes. | Chat multimodal, análisis de UI, capturas de documentos. |
prompt_caching | Soporta caché de entrada o reutilización de contexto. | Agentes de contexto largo, prompts del sistema repetidos. |
reasoning | Soporta controles explícitos de razonamiento cuando estén disponibles. | Planificación compleja, programación, flujos de análisis. |
logprobs | Soporta salida de probabilidad de tokens. | Evaluación, clasificación, flujos avanzados de NLP. |
Matriz de compatibilidad de familias de API
| Familia de API | Texto | Entrada de visión | Llamada a herramientas | Salida estructurada | Transmisión | Notas |
|---|---|---|---|---|---|---|
| OpenAI Chat Completions | Sí | Depende del modelo | Depende del modelo | Depende del modelo | Sí | Mejor opción por defecto para agentes y SDKs compatibles con OpenAI. |
| OpenAI Responses | Sí | Depende del modelo | Depende del modelo | Depende del modelo | Sí | Recomendado para flujos de agentes más nuevos de estilo OpenAI. |
| Anthropic Messages | Sí | Depende del modelo | Depende del modelo | Depende del modelo | Sí | Mejor para clientes compatibles con Claude y Claude Code. |
| BasicRouter image generation | No | Depende del modelo | No | No | No | Usa sondeo asíncrono de tareas o webhook. |
| BasicRouter video generation | No | Depende del modelo | No | No | No | Usa sondeo asíncrono de tareas o webhook. |
Autenticación
Cada solicitud API usa un token bearer. Guarde las claves en variables de entorno del lado del servidor, rótelas cuando cambie el acceso del equipo y registre los IDs de solicitud para depuración.
| Encabezado | Valor | Notas |
|---|---|---|
Authorization | Bearer YOUR_API_KEY | Obligatorio para cada solicitud. |
Content-Type | application/json | Obligatorio para cuerpos de solicitud JSON. |
Recomendaciones de seguridad de claves
- Mantenga las claves API en el servidor. No exponga las claves en código de cliente del navegador o móvil.
- Use claves separadas para desarrollo, staging, producción e integraciones de terceros.
- Limite las claves por entorno, servicio, cliente o inquilino cuando esté disponible.
- Rote las claves tras la salida de empleados, cambios de acceso de proveedores o sospecha de fuga.
- Guarde las claves en gestores de secretos o variables de entorno, no en código fuente.
Uso de la Consola
La Consola de BasicRouter es el plano de control operativo para el acceso API, la disponibilidad de modelos, las políticas de enrutamiento, la visibilidad de uso y la administración de facturación. Ofrece a los administradores de cuenta una vista centralizada de claves, modelos, solicitudes, créditos y controles a nivel de cuenta para el tráfico de modelos en producción.
Gestión de claves API
Cree, rote, revoque y etiquete claves API desde la consola. Use claves separadas para desarrollo, staging, producción y servicios individuales para que el uso pueda ser auditado y aislado por entorno o aplicación.
| Práctica | Descripción |
|---|---|
| Separar entornos | Use diferentes claves API para tráfico de desarrollo, staging y producción. |
| Use etiquetas descriptivas | Etiquete las claves por aplicación, servicio, entorno o integración. |
| Rotar regularmente | Rote las claves cuando cambie el acceso o cuando las credenciales puedan haber sido expuestas. |
| Evitar exposición en el cliente | Mantenga las claves API solo en sistemas del lado del servidor. No exponga las claves en código de cliente del navegador o móvil. |
| Monitorear uso de claves | Revise el volumen de solicitudes, el consumo de créditos y los patrones de error por clave. |
Lista de modelos
Use la página de Modelos para revisar los modelos disponibles para la cuenta. Cada entrada de modelo puede incluir proveedor, proveedor de servicio, modalidad, familias de API soportadas, longitud de contexto, indicadores de capacidad, estado de disponibilidad e información de precios.
| Filtro | Propósito |
|---|---|
| Proveedor | Filtrar por proveedor de modelo como OpenAI, Anthropic, Google, Qwen, DeepSeek u otros proveedores. |
| Proveedor de servicio | Filtrar por proveedor de servicio o proveedor de nube. |
| Modalidad | Filtrar por soporte de texto, imagen, video, embedding, audio o multimodal. |
| Capacidad | Filtrar por streaming, llamada a herramientas, salidas estructuradas, visión, caché de prompts o soporte de razonamiento. |
| Disponibilidad | Identificar modelos que están actualmente disponibles para la cuenta. |
Para aplicaciones en producción, verifique las capacidades del modelo antes de habilitar el tráfico. Algunos parámetros y características dependen del modelo y pueden no estar soportados en todas las familias de API.
Uso y registros
La vista de Uso y Registros proporciona visibilidad operativa del tráfico API. Los equipos pueden inspeccionar el volumen de solicitudes, los modelos seleccionados, los destinos de enrutamiento resueltos, el consumo de créditos, la latencia, los códigos de error y los IDs de solicitud.
- Solucionar solicitudes fallidas.
- Identificar cargas de trabajo de alto costo.
- Comparar el uso de modelos entre aplicaciones y entornos.
- Validar el comportamiento de enrutamiento y respaldo.
- Investigar problemas de latencia o disponibilidad del proveedor.
- Proporcionar IDs de solicitud al contactar con soporte.
Cada respuesta API incluye o expone un ID de solicitud de BasicRouter. Guarde este ID en los registros de su aplicación para hacer que la depuración en producción y la escalada de soporte sean más eficientes.
Respaldo
El respaldo es el mecanismo de resiliencia de BasicRouter. Cuando el modelo principal o la política de enrutamiento falla, el sistema cambia automáticamente a un modelo de respaldo para seguir procesando la solicitud. Esto mantiene su aplicación receptiva y minimiza el riesgo de interrupción del servicio.
El respaldo actúa como una red de seguridad, manteniendo su aplicación funcionando sin problemas incluso cuando ocurre una falla de modelo, un límite de cuota o una fluctuación de red.
Por qué importa el respaldo
En producción, los servicios de modelos pueden encontrar varios problemas impredecibles:
- Falla del servicio de modelo: la API de origen queda temporalmente no disponible o se agota el tiempo de espera.
- Fluctuación de rendimiento: una alta carga del modelo provoca respuestas lentas o fallidas.
- Falla de enrutamiento: todos los modelos candidatos seleccionados por el enrutamiento inteligente quedan no disponibles.
El respaldo mantiene su aplicación disponible proporcionando una ruta de respaldo confiable.
Ventajas principales
| Ventaja | Descripción |
|---|---|
| Alta disponibilidad | La conmutación por error automática mantiene el servicio en ejecución y reduce el impacto de las interrupciones. |
| Cambio transparente | El sistema cambia de modelo automáticamente — no se requieren cambios en el código de la aplicación. |
| Configuración flexible | Soporta tanto configuración por solicitud como a nivel de cuenta para diferentes casos de uso. |
| Optimización de costos | Elija un modelo más rentable como respaldo para controlar los costos de emergencia. |
| Gestión centralizada | Configure una vez a nivel de cuenta y se aplica automáticamente a cada solicitud. |
Configuración global de modelo de respaldo
BasicRouter permite configurar un modelo de respaldo global desde el backend de la consola. Todas las solicitudes usan automáticamente este modelo como respaldo cuando fallan.
Cómo configurarlo:
- Vaya a la página de configuración de estrategia de BasicRouter.
- Busque el ajuste Modelo de respaldo predeterminado.
- Seleccione su modelo de respaldo global de la lista desplegable.
- Guarde el ajuste para aplicarlo inmediatamente.
Ventajas de la configuración global:
- Sin cambios en el código: configure una vez y se aplica globalmente, sin necesidad de repetir el ajuste en cada solicitud.
- Gestión centralizada: administre la política de respaldo en un solo lugar para facilitar el ajuste y monitoreo.
- Mantenimiento simplificado: reduce la complejidad del código y la posibilidad de errores de configuración.
- Reemplazo flexible: la configuración de respaldo a nivel de solicitud tiene prioridad y puede anular el ajuste global para escenarios específicos.
Configuración de respaldo a nivel de solicitud
Para escenarios de negocio específicos, puede especificar un modelo de respaldo en una solicitud individual para anular la configuración global.
Especifique el modelo de respaldo con el parámetro router.fallBackModels:
{
"model": "claude-sonnet-4",
"messages": [
{
"role": "user",
"content": "Explain what quantum computing is"
}
],
"router": {
"fallBackModels": ["glm-5.2"]
}
}Reglas de prioridad
Cuando hay múltiples configuraciones de respaldo, la prioridad va de mayor a menor:
router.fallBackModelsa nivel de solicitud: el modelo de respaldo especificado en una solicitud individual.- Modelo de respaldo predeterminado global: el modelo de respaldo global configurado en la consola.
- Sin respaldo: si no se configura ninguno, la solicitud devuelve un error al fallar.
- Si todos los modelos de respaldo fallan, el sistema devuelve el motivo de falla del último modelo intentado.
- Cuando ocurre un respaldo, la respuesta indica el modelo realmente utilizado, lo que facilita el monitoreo y análisis.
Administración de cuenta
Dependiendo del tipo de cuenta, la consola puede incluir habilitación de modelos a nivel de cuenta, controles de revendedor o distribuidor, configuración de facturación y ajustes de acceso. Los administradores pueden usar estos controles para alinear el acceso a modelos, la visibilidad de uso y la responsabilidad de facturación con aplicaciones, cuentas de cliente o unidades de negocio.
Lista de verificación de operaciones de producción
| Elemento | Recomendación |
|---|---|
| Claves API | Use claves de producción dedicadas con etiquetas claras. |
| Modelos | Confirme la disponibilidad del modelo, los precios, la longitud de contexto y las capacidades requeridas. |
| Enrutamiento | Configure alias de enrutamiento o políticas de respaldo para cargas de trabajo críticas. |
| Registros | Asegúrese de que los IDs de solicitud se capturen en los registros de la aplicación. |
| Facturación | Confirme el saldo del monedero, el estado del plan y las reglas de deducción de créditos. |
| Límites de velocidad | Revise los límites RPM, TPM, concurrencia y tareas multimedia a nivel de cuenta. |
| Alertas | Monitoree el crecimiento de uso, el saldo de créditos, los errores y la disponibilidad del proveedor. |
Facturación y créditos
BasicRouter usa un modelo de facturación basado en créditos para cargas de trabajo de texto, imagen, video y otros modelos soportados. Los créditos proporcionan una unidad unificada para el uso de múltiples modelos y proveedores, de modo que los equipos puedan gestionar el consumo de manera consistente entre modalidades y familias de API.
Los precios detallados de los modelos están disponibles en la página de Modelos o a través de las APIs de metadatos de modelos. Los precios pueden variar según el modelo, proveedor, modalidad, resolución, tipo de token, longitud de salida, duración de la tarea, tipo de cuenta y acuerdo comercial.
Recargar y monedero
Las cuentas pueden añadir créditos de monedero de pago por uso para un uso flexible. Los créditos del monedero se usan después de que se hayan consumido los créditos del plan mensual y los paquetes de recursos, a menos que se aplique una regla de facturación personalizada a la cuenta.
Los créditos del monedero no expiran a menos que se especifique lo contrario en los términos comerciales aplicables. Se cobra una tarifa de servicio al recargar el monedero de pago por uso.
Planes mensuales y paquetes de recursos
Cada usuario o cuenta puede seleccionar un plan mensual activo. Los planes mensuales proporcionan una cantidad definida de capacidad de uso, términos comerciales y configuración de acceso a nivel de cuenta para el período de facturación.
Los usuarios también pueden comprar múltiples paquetes de recursos para capacidad de uso adicional. Los paquetes de recursos pueden separar el uso comprometido del saldo del monedero de pago por uso y son útiles para uso intensivo de texto, imagen, video o cargas de trabajo dedicadas.
Orden de deducción
A menos que se configuren reglas de facturación personalizadas, los créditos se deducen en el siguiente orden:
| Prioridad | Origen de crédito | Descripción |
|---|---|---|
| 1 | Plan mensual | La capacidad de uso mensual incluida se consume primero. |
| 2 | Paquetes de recursos | Los paquetes comprados adicionalmente se consumen después de los créditos del plan mensual. |
| 3 | Monedero de pago por uso | El saldo del monedero se consume después de los créditos del plan y paquetes de recursos. |
Para cuentas con términos comerciales personalizados, el orden de deducción, las reglas de expiración, el uso incluido y los precios pueden diferir. Las reglas específicas de cuenta se muestran en la consola o se proporcionan a través del acuerdo comercial.
Precios personalizados
Los precios pueden personalizarse para cada usuario o cuenta. Los clientes empresariales, las cuentas de revendedor, las cuentas de distribuidor y los clientes de alto volumen pueden ser elegibles para precios personalizados. Contacte con ventas para obtener una cotización.
Los precios personalizados pueden configurarse por cuenta, modelo, proveedor, modalidad, región, volumen de uso o acuerdo comercial. Cuando se habilitan precios personalizados, la consola y las APIs de facturación reflejan los precios y reglas de deducción específicos de la cuenta cuando estén disponibles.
Unidades de precio
Diferentes modalidades de modelo usan diferentes unidades de medida. BasicRouter convierte estas unidades en créditos según las reglas de precios del modelo.
| Modalidad | Base común de precios |
|---|---|
| Texto | Tokens de entrada, tokens de salida, tokens de lectura en caché, tokens de escritura en caché, tokens de razonamiento o categorías de token específicas del modelo. |
| Imagen | Modelo, resolución, número de imágenes generadas, uso de imagen de entrada, modo de edición o ajuste de calidad. |
| Video | Modelo, resolución de salida, segundos generados, relación de aspecto, uso de imagen o video de entrada, y tipo de tarea. |
| Embeddings | Tokens de entrada o número de registros de embedding. |
| Audio | Duración de entrada, duración de salida, longitud de transcripción o unidades de audio específicas del modelo. |
Las unidades de precio pueden variar según el modelo. Consulte siempre la página de detalles del modelo o los metadatos de precios antes de habilitar un modelo en producción.
Atribución de uso
El uso de BasicRouter puede revisarse por cuenta, clave API, modelo, modalidad o rango de tiempo. Esto permite a los equipos atribuir costos a aplicaciones, entornos, clientes o unidades de negocio internas.
| Dimensión | Descripción |
|---|---|
| Clave API | Agrupar uso por aplicación, servicio o entorno. |
| Modelo | Comparar costo y volumen por modelo seleccionado. |
| Modelo resuelto | Revisar el modelo realmente usado después del enrutamiento o respaldo. |
| Modalidad | Separar uso de texto, imagen, video, embedding y audio. |
| Rango de tiempo | Revisar períodos de reporte diarios, mensuales o personalizados. |
| Metadatos | Agrupar uso por metadatos personalizados de solicitud como ID de cliente, ID de inquilino, ID de usuario o entorno. |
Saldo de créditos
Verifique cuántos créditos están disponibles en su cuenta. El saldo se divide en tres monederos que se deducen en orden: la asignación del plan mensual, los paquetes de recursos comprados y el monedero de pago por uso. También está disponible un total combinado de recursos (plan mensual + paquetes de recursos, excluyendo pago por uso) para rastrear el uso incluido separadamente del gasto de recarga.
Para obtener esto mediante programación, consulte GET /v1/billing/balance en la Referencia API.
Detalles de uso
Revise una lista paginada y cronológica de registros de uso individuales para reportes, monitoreo y asignación interna de costos. Cada registro muestra el modelo, el tipo de modelo (texto, imagen o video), los créditos deducidos y un desglose de qué monedero se usó para cada deducción. Los resultados pueden filtrarse a un rango de tiempo específico.
Para obtener esto mediante programación, consulte GET /v1/usage en la Referencia API.
Historial de transacciones
Use el historial de transacciones para revisar movimientos de créditos, incluyendo recargas, asignaciones de planes, concesiones de paquetes de recursos, deducciones de uso, ajustes y correcciones administrativas.
Para obtener esto mediante programación, consulte GET /v1/billing/transactions en la Referencia API.
Solicitudes fallidas y reembolsos
Los errores de validación, los errores de autenticación y los errores de permisos generalmente no se facturan porque no ocurre ejecución del modelo. Las solicitudes que llegan a un modelo de origen o que generan salida parcial pueden consumir créditos dependiendo del modelo, el proveedor y el estado de la respuesta.
Para tareas asíncronas de imagen y video, el comportamiento de facturación depende de si la tarea fue aceptada, iniciada, completada, fallida o cancelada. La respuesta de detalle de la tarea incluye información de uso cuando se han consumido créditos.
Las recargas, los planes mensuales, los paquetes de recursos y los créditos consumidos no son reembolsables a menos que se especifique lo contrario en el acuerdo comercial aplicable o lo exija la ley.
Operativo
Errores
BasicRouter devuelve códigos de error estables para que las aplicaciones puedan manejar reintentos, respaldos, problemas de facturación y depuración de forma consistente.
Los endpoints compatibles con proveedores intentan preservar la forma de error de la familia de API original cuando es posible. Los endpoints nativos de BasicRouter usan el objeto de error de BasicRouter.
Mapeo de estados HTTP y códigos de error
| Estado HTTP | Tipo de error | Códigos de ejemplo | Reintentar |
|---|---|---|---|
| 400 | invalid_request_error | invalid_request, unsupported_parameter, invalid_messages, invalid_image_url | No |
| 401 | authentication_error | missing_api_key, invalid_api_key | No |
| 402 | billing_error | insufficient_credits, payment_required, quota_exceeded | No |
| 403 | permission_error | model_access_denied, endpoint_access_denied, key_scope_denied | No |
| 404 | not_found_error | model_not_found, response_not_found, task_not_found | No |
| 408 | timeout_error | gateway_timeout, provider_timeout | Sí |
| 409 | conflict_error | idempotency_conflict, task_already_cancelled | Depende |
| 422 | validation_error | schema_validation_failed, unsupported_modality | No |
| 429 | rate_limit_error | account_rpm_exceeded, account_tpm_exceeded, provider_rate_limited | Sí |
| 500 | internal_error | internal_error | Sí |
| 502 | provider_error | provider_bad_gateway, provider_invalid_response | Sí |
| 503 | service_unavailable | model_unavailable, provider_unavailable, insufficient_capacity | Sí |
| 504 | timeout_error | provider_timeout, gateway_timeout | Sí |
Códigos de error comunes
| Código | Significado | Acción recomendada |
|---|---|---|
missing_api_key | No se proporcionó una clave API. | Agregue el encabezado Authorization. |
invalid_api_key | La clave API es inválida o ha sido revocada. | Cree o rote la clave API. |
model_not_found | El ID del modelo no existe o no está habilitado para la cuenta. | Consulte la página de Modelos o llame a GET /v1/models. |
model_access_denied | La clave API o la cuenta no tiene acceso al modelo. | Habilite el modelo o contacte al administrador. |
unsupported_parameter | La solicitud incluye un parámetro no soportado por el endpoint o modelo seleccionado. | Elimine el parámetro o elija un modelo compatible. |
unsupported_modality | La modalidad de entrada o salida no es soportada por el modelo seleccionado. | Elija un modelo que soporte la modalidad. |
account_rpm_exceeded | Se excedió el límite de solicitudes por minuto de la cuenta. | Reintente con backoff o solicite límites más altos. |
account_tpm_exceeded | Se excedió el límite de tokens por minuto de la cuenta. | Reintente con backoff, reduzca tokens o solicite límites más altos. |
provider_rate_limited | El proveedor aguas arriba limitó la solicitud. | Reintente o habilite el respaldo. |
insufficient_credits | La cuenta no tiene créditos suficientes. | Recargue el monedero, compre un paquete o mejore el plan. |
provider_timeout | El proveedor aguas arriba no respondió a tiempo. | Reintente o habilite el respaldo. |
model_unavailable | El modelo no está disponible temporalmente. | Reintente o use un alias de enrutamiento. |
content_policy_error | La solicitud o salida fue bloqueada por una política de seguridad. | Modifique la entrada o elija un flujo de trabajo adecuado. |
