UNPKG

notdiamond

Version:

The official TypeScript library for the Notdiamond API

110 lines 3.57 kB
import { APIResource } from "../core/resource.js"; import { APIPromise } from "../core/api-promise.js"; import { RequestOptions } from "../internal/request-options.js"; export declare class Models extends APIResource { /** * List all supported text generation models with optional filtering. * * including pricing, context length, latency, and OpenRouter availability. * * **Note:** Image generation models are excluded from this endpoint. * * **Examples:** * * - Get all models: `/v2/models` * - OpenRouter only: `/v2/models?openrouter_only=true` * - Specific provider: `/v2/models?provider=openai` * - Multiple providers: `/v2/models?provider=openai&provider=anthropic` * * **Query Parameters:** * * - **provider**: Filter by provider name(s). Can specify multiple times for * multiple providers (e.g., `?provider=openai&provider=anthropic`) * - **openrouter_only**: Return only models that have OpenRouter support (default: * false) * * **Returns:** * * - **models**: List of active text generation model objects with metadata * - **total**: Total number of active models returned * - **deprecated_models**: List of deprecated text generation model objects with * metadata (respects the same filters as active models) * * **Caching:** * * - Response is cacheable for 1 hour (model list rarely changes) * * @example * ```ts * const models = await client.models.list(); * ``` */ list(query?: ModelListParams | null | undefined, options?: RequestOptions): APIPromise<ModelListResponse>; } /** * Response model for a single LLM model from GET /v2/models endpoint. * * Contains metadata about a supported text generation model including pricing, * context limits, and availability information. */ export interface Model { /** * Maximum context window size in tokens */ context_length: number; /** * Price per million input tokens in USD */ input_price: number; /** * Model identifier (e.g., 'gpt-4', 'claude-3-opus-20240229') */ model: string; /** * Price per million output tokens in USD */ output_price: number; /** * Provider name (e.g., 'openai', 'anthropic', 'google') */ provider: string; /** * OpenRouter model identifier if available, null if not supported via OpenRouter */ openrouter_model?: string | null; } /** * Response model for GET /v2/models endpoint. * * Returns a list of all supported text generation models with their metadata, * separated into active and deprecated models. */ export interface ModelListResponse { /** * List of deprecated models that are no longer recommended but may still work */ deprecated_models: Array<Model>; /** * List of active/supported text generation models with their metadata */ models: Array<Model>; /** * Total count of active models in the response */ total: number; } export interface ModelListParams { /** * Return only OpenRouter-supported models */ openrouter_only?: boolean; /** * Filter by provider name(s). Can specify multiple providers (e.g., 'openai', * 'anthropic') */ provider?: Array<string> | null; } export declare namespace Models { export { type Model as Model, type ModelListResponse as ModelListResponse, type ModelListParams as ModelListParams, }; } //# sourceMappingURL=models.d.ts.map