Skip to content

ModelDescriptor

Namespace AgentPrism · Assembly AgentPrism.Abstractions.dll

A model’s capabilities and limits.

public sealed record ModelDescriptor : IEquatable<ModelDescriptor>

objectModelDescriptor

IEquatable<ModelDescriptor>

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

public ModelDescriptor()

The cost per million input tokens that were served from the provider’s prompt cache. For reporting only.

public decimal? CachedInputCostPerMillionTokens { get; init; }

decimal?

When this is null the cached tokens are priced at ModelDescriptor.InputCostPerMillionTokens, exactly as they were before the rate existed — an undefined cache rate does not make the run’s price unknown. Set it to 0 only to state that cache reads are free.

The context window’s token capacity.

public int? ContextWindowTokens { get; init; }

int?

The name shown in the UI.

public string? DisplayName { get; init; }

string?

The cost per million input tokens. For reporting only.

public decimal? InputCostPerMillionTokens { get; init; }

decimal?

The maximum number of tokens producible in a single response.

public int? MaxOutputTokens { get; init; }

int?

The model name. ModelBinding.Model matches this value.

public required string Name { get; init; }

string

The cost per million output tokens. For reporting only.

public decimal? OutputCostPerMillionTokens { get; init; }

decimal?

Whether the reasoning-effort setting is supported.

public bool SupportsReasoning { get; init; }

bool

Whether streaming responses are supported.

public bool SupportsStreaming { get; init; }

bool

Whether output conforming to a JSON schema can be produced.

public bool SupportsStructuredOutput { get; init; }

bool

Whether tool calling is supported.

public bool SupportsTools { get; init; }

bool

public override bool Equals(object? obj)

obj object?

bool

public bool Equals(ModelDescriptor? other)

other ModelDescriptor?

bool

public override int GetHashCode()

int

public override string ToString()

string

operator ==(ModelDescriptor?, ModelDescriptor?)

Section titled “ operator ==(ModelDescriptor?, ModelDescriptor?)”
public static bool operator ==(ModelDescriptor? left, ModelDescriptor? right)

left ModelDescriptor?

right ModelDescriptor?

bool

operator !=(ModelDescriptor?, ModelDescriptor?)

Section titled “ operator !=(ModelDescriptor?, ModelDescriptor?)”
public static bool operator !=(ModelDescriptor? left, ModelDescriptor? right)

left ModelDescriptor?

right ModelDescriptor?

bool