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
| Export | What it describes |
|---|---|
RouterBrain | The main client class |
RouterBrainConfigs | Constructor options (apiKey, baseUrl?) |
ModelsQueryParams | Model search/filter options |
ModelsResponse | Model list response shape |
ModelItem | A single model (pricing, modalities, etc.) |
ModelEndpointResponse | Model endpoint detail response |
ModelEndpointItem | A single upstream route |
RerankCreateParams | Rerank request body |
RerankResponse | Rerank response body |
RerankResultItem | A single rerank result |
ImageResponse | Image generation response wrapper |
ImageResponseJson | Non-streaming image result |
ImageTaskResponseJson | Async task polling result |
ImageResponseUsage | Image generation usage info |
ImageAdapterProps | Image generation request params |
ImageAdapterImage | Reference image input type |
ImageData | A single generated image |