LLM_MODEL_INFO  
 

The LLM_MODEL_INFO structure contains descriptive information and capability data for a language model.

typedef struct _LLM_MODEL_INFO
{
    DWORD    dwSize;
    DWORD    dwProviderId;
    DWORD    dwFlags;
    DWORD    dwStatus;
    DWORD    dwReserved;
    LONG     nMaxTokens;
    LONG     nContextSize;
    FLOAT    fTemperature;
    FLOAT    fMaxTemperature;
    FILETIME ftCreated;
    TCHAR    szName[LLM_MODEL_NAMELEN];
    TCHAR    szDisplayName[LLM_MODEL_NAMELEN];
    TCHAR    szOwner[LLM_MODEL_NAMELEN];
    TCHAR    szVersion[LLM_MODEL_VERLEN];
    TCHAR    szCreated[LLM_MODEL_DATELEN];
} LLM_MODEL_INFO, *LPLLM_MODEL_INFO;

Members

dwSize
The size of this structure, in bytes. This member must be set to sizeof(LLM_MODEL_INFO) before the structure is used.
dwProviderId
The provider associated with the model. This member should be one of the LLM_PROVIDER values.
dwFlags
One or more capability flags associated with the model. This member may contain a combination of LLM_MODEL_FLAG values.
dwStatus
One or more status flags associated with the model. This member may contain a combination of LLM_MODEL_STATUS values.
dwReserved
A reserved value for future use. This member should always be zero.
nMaxTokens
The maximum number of tokens the model can generate in response to a request. A value of zero indicates that this limit is not specified.
nContextSize
The maximum context window size for the model, in tokens. If this value is zero, the context size is unspecified or the provider does not distinguish it from nMaxTokens.
fTemperature
The default temperature value associated with the model. A value of zero may indicate the value is not specified.
fMaxTemperature
The maximum supported temperature value for the model. A value of zero indicates that this limit is not specified.
ftCreated
The creation date and time associated with the model, expressed as a FILETIME value. If this member is zero, the creation time is not available.
szName
A null-terminated string which specifies the model identifier used by the provider, such as gpt-5 or claude-4-sonnet.
szDisplayName
A null-terminated string which specifies an optional display name for the model. This value is intended for presentation to the user and may be an empty string.
szOwner
A null-terminated string which specifies the optional owner, vendor, or organization associated with the model. This value may be an empty string.
szVersion
A null-terminated string which specifies the optional version identifier associated with the model. If this information is not available, the value will be an empty string.
szCreated
A null-terminated string which specifies the optional model creation date in text form. If this information is not available, the value will be an empty string.

Remarks

This structure is used to return information about a model that is available through a specific provider. It is typically populated by the library when enumerating models or retrieving detailed information about a specific model. Applications should treat the contents of this structure as descriptive metadata and should not assume that every member will contain a meaningful value for every model.

The dwProviderId member identifies which service or platform supplies the model, using one of the LLM_PROVIDER constants. The dwFlags member describes the capabilities supported by the model, such as conversational input, structured output, reasoning, vision, tool calling, or audio support. The dwStatus member indicates the current state of the model, such as whether it is generally available, in preview, or deprecated. These values are defined by the library using the LLM_MODEL_FLAG and LLM_MODEL_STATUS constants.

The nMaxTokens value represents the maximum output token limit reported for the model. This limit only applies to generated content and may be lower than the model's total context window. The client can further restrict the length of generated responses if necessary. If this value is zero, it means the provider does not publish information about the maximum number of output tokens supported for a response. Internally, providers often impose generation limits that are lower than the total context size for a request, even if those limits are not publicly documented.

The nContextSize value represents the maximum number of tokens the model can process in a single request, including the system prompt, conversation history, user messages and generated output. Most cloud-based service providers offer models which support very large context windows while limiting the maximum number of tokens that can be generated in a single response. For example, a model may support a context window of 1,000,000 tokens, allowing it to process very large conversations or documents, while limiting individual responses to 128,000 output tokens.

The context window and maximum token values are advisory. They are used when the service provider does not return detailed limit information for a model. These values should be treated as general guidance and are not enforced by the library. The actual limits may vary depending on the provider, model version, deployment, enabled features and account limits. A value of zero for either nMaxTokens or nContextSize means those limits cannot be determined for the model. For locally hosted models or cloud-based aggregators, these limits may also be configurable for a specific model.

The metadata strings are provided for identification and display purposes. The szName member contains the canonical model name used in API requests, while szDisplayName provides a more user-friendly label when one is available. Other fields, such as szOwner, szVersion, szCreated, and ftCreated, are optional and may not be supplied by every provider.

Applications should set the dwSize member before passing this structure to a function. Unless otherwise documented, reserved members should be set to zero. When this structure is returned by the library, string members are stored directly in the fixed-length buffers contained within the structure, and may be read safely by the application.

Requirements

Minimum Desktop Platform: Windows 7 Service Pack 1
Minimum Server Platform: Windows Server 2008 R2 Service Pack 1
Header File: cstools12.h
Unicode: Implemented as Unicode and ANSI versions

See Also

LlmEnumModels, LlmGetModelInfo