interface ClientOptions {
    apiKey?: string;
    baseURL?: null | string;
    dangerouslyAllowBrowser?: boolean;
    defaultHeaders?: HeadersLike;
    defaultQuery?: Record<string, undefined | string>;
    fetch?: Fetch;
    fetchOptions?: MergedRequestInit;
    logLevel?: LogLevel;
    logger?: Logger;
    maxRetries?: number;
    organization?: null | string;
    project?: null | string;
    timeout?: number;
}

Properties

apiKey?: string

Defaults to process.env['OPENAI_API_KEY'].

baseURL?: null | string

Override the default base URL for the API, e.g., "https://api.example.com/v2/"

Defaults to process.env['OPENAI_BASE_URL'].

dangerouslyAllowBrowser?: boolean

By default, client-side use of this library is not allowed, as it risks exposing your secret API credentials to attackers. Only set this option to true if you understand the risks and have appropriate mitigations in place.

defaultHeaders?: HeadersLike

Default headers to include with every request to the API.

These can be removed in individual requests by explicitly setting the header to null in request options.

defaultQuery?: Record<string, undefined | string>

Default query parameters to include with every request to the API.

These can be removed in individual requests by explicitly setting the param to undefined in request options.

fetch?: Fetch

Specify a custom fetch function implementation.

If not provided, we expect that fetch is defined globally.

fetchOptions?: MergedRequestInit

Additional RequestInit options to be passed to fetch calls. Properties will be overridden by per-request fetchOptions.

logLevel?: LogLevel

Set the log level.

Defaults to process.env['OPENAI_LOG'] or 'warn' if it isn't set.

logger?: Logger

Set the logger.

Defaults to globalThis.console.

maxRetries?: number

The maximum number of times that the client will retry a request in case of a temporary failure, like a network error or a 5XX error from the server.

2
organization?: null | string

Defaults to process.env['OPENAI_ORG_ID'].

project?: null | string

Defaults to process.env['OPENAI_PROJECT_ID'].

timeout?: number

The maximum amount of time (in milliseconds) that the client should wait for a response from the server before timing out a single request.

Note that request timeouts are retried by default, so in a worst-case scenario you may wait much longer than this timeout before the promise succeeds or fails.