The SDK exports all its types so you can strongly type your own functions and variables.

Importing types

import {
  RouterBrain,
  RouterBrainConfigs,
  ModelItem,
  ModelsQueryParams,
  ModelsResponse,
  ModelEndpointItem,
  ModelEndpointResponse,
  RerankCreateParams,
  RerankResponse,
  RerankResultItem,
  ImageResponse,
  ImageResponseJson,
  ImageTaskResponseJson,
  ImageResponseUsage,
  ImageAdapterProps,
  ImageAdapterImage,
  ImageData,
} from '@router-brain/sdk';

Common use cases

// Type your function parameters
function handleModelResult(model: ModelItem) {
  console.log(model.id, model.pricing.prompt);
}

// Type API responses
const result: ModelsResponse = await rb.models({ q: 'gpt' });

// Type image generation results
const img: ImageResponseJson = await rb.image({
  model: 'dall-e-3',
  prompt: '...',
}).json();

// Access individual fields with autocomplete
img.data.forEach((d: ImageData) => {
  console.log(d.url);
});

Type reference

ExportWhat it describes
RouterBrainThe main client class
RouterBrainConfigsConstructor options (apiKey, baseUrl?)
ModelsQueryParamsModel search/filter options
ModelsResponseModel list response shape
ModelItemA single model (pricing, modalities, etc.)
ModelEndpointResponseModel endpoint detail response
ModelEndpointItemA single upstream route
RerankCreateParamsRerank request body
RerankResponseRerank response body
RerankResultItemA single rerank result
ImageResponseImage generation response wrapper
ImageResponseJsonNon-streaming image result
ImageTaskResponseJsonAsync task polling result
ImageResponseUsageImage generation usage info
ImageAdapterPropsImage generation request params
ImageAdapterImageReference image input type
ImageDataA single generated image

See also

SDK overview · Models and Rerank