Table of Contents

Class AIModelCapabilities

Namespace
Mythosia.AI.Models.Capabilities
Assembly
Mythosia.AI.Abstractions.dll

Immutable, locally resolved capabilities of a selected chat model and request configuration.

public sealed class AIModelCapabilities
Inheritance
AIModelCapabilities
Inherited Members

Remarks

Supported describes availability, not whether an option is enabled or authorized for an account. Unknown is not Unsupported. StructuredOutput includes the common prompt/repair fallback and does not promise native constrained decoding. Numeric thinking presets are suggestions, not an exhaustive range.

Constructors

AIModelCapabilities(string?, string?, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, IEnumerable<ReasoningLevel>?, IEnumerable<ReasoningLevel>?, IEnumerable<int>?, uint?)

public AIModelCapabilities(string? provider = null, string? model = null, CapabilitySupport streaming = CapabilitySupport.Unknown, CapabilitySupport functionCalling = CapabilitySupport.Unknown, CapabilitySupport asyncFunctionCalling = CapabilitySupport.Unknown, CapabilitySupport steering = CapabilitySupport.Unknown, CapabilitySupport reasoning = CapabilitySupport.Unknown, CapabilitySupport webSearch = CapabilitySupport.Unknown, CapabilitySupport fileSearch = CapabilitySupport.Unknown, CapabilitySupport reasoningCachePreservation = CapabilitySupport.Unknown, CapabilitySupport imageInput = CapabilitySupport.Unknown, CapabilitySupport structuredOutput = CapabilitySupport.Unknown, CapabilitySupport temperature = CapabilitySupport.Unknown, CapabilitySupport topP = CapabilitySupport.Unknown, CapabilitySupport frequencyPenalty = CapabilitySupport.Unknown, CapabilitySupport presencePenalty = CapabilitySupport.Unknown, CapabilitySupport nativeReasoning = CapabilitySupport.Unknown, CapabilitySupport thinkingToggle = CapabilitySupport.Unknown, IEnumerable<ReasoningLevel>? reasoningLevels = null, IEnumerable<ReasoningLevel>? nativeReasoningLevels = null, IEnumerable<int>? thinkingBudgetPresets = null, uint? maxOutputTokens = null)

Parameters

provider string
model string
streaming CapabilitySupport
functionCalling CapabilitySupport
asyncFunctionCalling CapabilitySupport
steering CapabilitySupport
reasoning CapabilitySupport
webSearch CapabilitySupport
fileSearch CapabilitySupport
reasoningCachePreservation CapabilitySupport
imageInput CapabilitySupport
structuredOutput CapabilitySupport
temperature CapabilitySupport
topP CapabilitySupport
frequencyPenalty CapabilitySupport
presencePenalty CapabilitySupport
nativeReasoning CapabilitySupport
thinkingToggle CapabilitySupport
reasoningLevels IEnumerable<ReasoningLevel>
nativeReasoningLevels IEnumerable<ReasoningLevel>
thinkingBudgetPresets IEnumerable<int>
maxOutputTokens uint?

Properties

AsyncFunctionCalling

public CapabilitySupport AsyncFunctionCalling { get; }

Property Value

CapabilitySupport

FastSpeed

public CapabilitySupport FastSpeed { get; }

Property Value

CapabilitySupport

FileSearch

public CapabilitySupport FileSearch { get; }

Property Value

CapabilitySupport

FrequencyPenalty

public CapabilitySupport FrequencyPenalty { get; }

Property Value

CapabilitySupport

FunctionCalling

public CapabilitySupport FunctionCalling { get; }

Property Value

CapabilitySupport

ImageInput

public CapabilitySupport ImageInput { get; }

Property Value

CapabilitySupport

MaxOutputTokens

public uint? MaxOutputTokens { get; }

Property Value

uint?

Model

public string? Model { get; }

Property Value

string

NativeReasoning

public CapabilitySupport NativeReasoning { get; }

Property Value

CapabilitySupport

NativeReasoningLevels

public IReadOnlyList<ReasoningLevel> NativeReasoningLevels { get; }

Property Value

IReadOnlyList<ReasoningLevel>

PresencePenalty

public CapabilitySupport PresencePenalty { get; }

Property Value

CapabilitySupport

Provider

public string? Provider { get; }

Property Value

string

Reasoning

public CapabilitySupport Reasoning { get; }

Property Value

CapabilitySupport

ReasoningCachePreservation

public CapabilitySupport ReasoningCachePreservation { get; }

Property Value

CapabilitySupport

ReasoningLevels

public IReadOnlyList<ReasoningLevel> ReasoningLevels { get; }

Property Value

IReadOnlyList<ReasoningLevel>

StandardSpeed

public CapabilitySupport StandardSpeed { get; }

Property Value

CapabilitySupport

Steering

public CapabilitySupport Steering { get; }

Property Value

CapabilitySupport

Streaming

public CapabilitySupport Streaming { get; }

Property Value

CapabilitySupport

StructuredOutput

public CapabilitySupport StructuredOutput { get; }

Property Value

CapabilitySupport

Temperature

public CapabilitySupport Temperature { get; }

Property Value

CapabilitySupport

ThinkingBudgetPresets

public IReadOnlyList<int> ThinkingBudgetPresets { get; }

Property Value

IReadOnlyList<int>

ThinkingToggle

public CapabilitySupport ThinkingToggle { get; }

Property Value

CapabilitySupport

TopP

public CapabilitySupport TopP { get; }

Property Value

CapabilitySupport

Unknown

public static AIModelCapabilities Unknown { get; }

Property Value

AIModelCapabilities

WebSearch

public CapabilitySupport WebSearch { get; }

Property Value

CapabilitySupport

Methods

GetReasoningSupport(ReasoningLevel)

Checks a level for the common WithReasoning API. Unknown must be handled separately from rejection.

public CapabilitySupport GetReasoningSupport(ReasoningLevel level)

Parameters

level ReasoningLevel

Returns

CapabilitySupport

GetSpeedSupport(InferenceSpeed)

Checks processing-mode support for this model and endpoint, not account entitlement or capacity.

public CapabilitySupport GetSpeedSupport(InferenceSpeed speed)

Parameters

speed InferenceSpeed

Returns

CapabilitySupport

WithSpeedSupport(CapabilitySupport, CapabilitySupport)

Returns an independent capability snapshot with processing-mode support. Retains the original constructor for source and binary compatibility.

public AIModelCapabilities WithSpeedSupport(CapabilitySupport standard, CapabilitySupport fast)

Parameters

standard CapabilitySupport
fast CapabilitySupport

Returns

AIModelCapabilities