Class Model
ScriptableObject representation of a generative AI model with metadata, configuration, and pricing information. Supports token limits, ownership, creation time, and dynamic pricing for various content types (text, image, audio).
public class Model : AIAsset, IData
- Inheritance
-
objectModel
- Implements
-
IData
- Inherited Members
- Extension Methods
Fields
Anthropic_Claude_Sonnet4
public const string Anthropic_Claude_Sonnet4 = "claude-sonnet-4-20250514"
Field Value
- string
ElevenLabs_English_STS_V2
public const string ElevenLabs_English_STS_V2 = "eleven_english_sts_v2"
Field Value
- string
ElevenLabs_Flash_V2_5
public const string ElevenLabs_Flash_V2_5 = "eleven_flash_v2_5"
Field Value
- string
ElevenLabs_SFX
public const string ElevenLabs_SFX = "eleven_soundfx"
Field Value
- string
ElevenLabs_Scribe_V1
public const string ElevenLabs_Scribe_V1 = "scribe_v1"
Field Value
- string
Google_Embedding
public const string Google_Embedding = "models/embedding-001"
Field Value
- string
Google_Gemini2_5_Flash_Preview_TTS
public const string Google_Gemini2_5_Flash_Preview_TTS = "models/gemini-2.5-flash-preview-tts"
Field Value
- string
Google_Gemini2_Flash
public const string Google_Gemini2_Flash = "models/gemini-2.0-flash"
Field Value
- string
Google_Gemini2_Flash_Preview_Image_Generation
public const string Google_Gemini2_Flash_Preview_Image_Generation = "models/gemini-2.0-flash-preview-image-generation"
Field Value
- string
Google_Veo2
public const string Google_Veo2 = "models/veo-2.0-generate-001"
Field Value
- string
Google_Veo3
public const string Google_Veo3 = "models/veo-3.0-generate-001"
Field Value
- string
Google_Veo3_1
public const string Google_Veo3_1 = "models/veo-3.1-generate-preview"
Field Value
- string
Google_Veo3_1_Fast
public const string Google_Veo3_1_Fast = "models/veo-3.1-fast-generate-preview"
Field Value
- string
Google_Veo3_Fast
public const string Google_Veo3_Fast = "models/veo-3.0-fast-generate-001"
Field Value
- string
MicrosoftAzure_STT
public const string MicrosoftAzure_STT = "microsoft_azure_stt"
Field Value
- string
MicrosoftAzure_TTS
public const string MicrosoftAzure_TTS = "microsoft_azure_tts"
Field Value
- string
OpenAI_DallE2
public const string OpenAI_DallE2 = "dall-e-2"
Field Value
- string
OpenAI_DallE3
public const string OpenAI_DallE3 = "dall-e-3"
Field Value
- string
OpenAI_GPT4o
public const string OpenAI_GPT4o = "gpt-4o"
Field Value
- string
OpenAI_GPT4o_Mini
public const string OpenAI_GPT4o_Mini = "gpt-4o-mini"
Field Value
- string
OpenAI_GPT4o_Realtime_Preview
public const string OpenAI_GPT4o_Realtime_Preview = "gpt-4o-realtime-preview"
Field Value
- string
OpenAI_GPTImage1
public const string OpenAI_GPTImage1 = "gpt-image-1"
Field Value
- string
OpenAI_OmniModeration_Lastest
public const string OpenAI_OmniModeration_Lastest = "omni-moderation-latest"
Field Value
- string
OpenAI_Sora2
public const string OpenAI_Sora2 = "sora-2"
Field Value
- string
OpenAI_TTS1
public const string OpenAI_TTS1 = "tts-1"
Field Value
- string
OpenAI_TextEmbedding3_Small
public const string OpenAI_TextEmbedding3_Small = "text-embedding-3-small"
Field Value
- string
OpenAI_TextEmbeddingAda002
public const string OpenAI_TextEmbeddingAda002 = "text-embedding-ada-002"
Field Value
- string
OpenAI_Whisper1
public const string OpenAI_Whisper1 = "whisper-1"
Field Value
- string
Perplexity_Sonar
public const string Perplexity_Sonar = "sonar"
Field Value
- string
Perplexity_SonarDeepResearch
public const string Perplexity_SonarDeepResearch = "sonar-deep-research"
Field Value
- string
Perplexity_SonarPro
public const string Perplexity_SonarPro = "sonar-pro"
Field Value
- string
Perplexity_SonarReasoning
public const string Perplexity_SonarReasoning = "sonar-reasoning"
Field Value
- string
Perplexity_SonarReasoningPro
public const string Perplexity_SonarReasoningPro = "sonar-reasoning-pro"
Field Value
- string
PixelLab_Animate
public const string PixelLab_Animate = "pixellab-animate"
Field Value
- string
PixelLab_Bitforge
public const string PixelLab_Bitforge = "pixellab-bitforge"
Field Value
- string
PixelLab_EstimateSkeleton
public const string PixelLab_EstimateSkeleton = "pixellab-estimate-skeleton"
Field Value
- string
PixelLab_Inpaint
public const string PixelLab_Inpaint = "pixellab-inpaint"
Field Value
- string
PixelLab_Pixflux
public const string PixelLab_Pixflux = "pixellab-pixflux"
Field Value
- string
PixelLab_Rotate
public const string PixelLab_Rotate = "pixellab-rotate"
Field Value
- string
PixelLab_Tileset
public const string PixelLab_Tileset = "pixellab-tileset"
Field Value
- string
SystemDefaults
public static readonly string[] SystemDefaults
Field Value
- string[]
XAI_Grok2
public const string XAI_Grok2 = "grok-2-1212"
Field Value
- string
XAI_Grok2Image
public const string XAI_Grok2Image = "grok-2-image-1212"
Field Value
- string
XAI_Grok2Vision
public const string XAI_Grok2Vision = "grok-2-vision-1212"
Field Value
- string
XAI_Grok3
public const string XAI_Grok3 = "grok-3"
Field Value
- string
XAI_Grok3Fast
public const string XAI_Grok3Fast = "grok-3-fast"
Field Value
- string
XAI_Grok3Mini
public const string XAI_Grok3Mini = "grok-3-mini"
Field Value
- string
XAI_Grok3MiniFast
public const string XAI_Grok3MiniFast = "grok-3-mini-fast"
Field Value
- string
XAI_Grok4
public const string XAI_Grok4 = "grok-4-0709"
Field Value
- string
XAI_GrokCodeFast
public const string XAI_GrokCodeFast = "grok-code-fast-1"
Field Value
- string
Properties
Capabilities
Features of the model, such as text generation, image generation, etc. This information is used to determine the capabilities of the
public ModelCapabilities Capabilities { get; }
Property Value
EmbeddingDimension
The dimension of the embedding vectors produced by the This is relevant for models that generate text embeddings for tasks like semantic search.
public int EmbeddingDimension { get; }
Property Value
- int
Family
The family classification of the model (e.g., GPT, Gemini, Imagen). This information is usually used to determine the structure of the request body.
public string Family { get; }
Property Value
- string
InputModality
A bitflag indicating supported input modalities (e.g., Text, Image, Audio). This information is used to determines which input types the model supports.
public Modalities InputModality { get; }
Property Value
IsFineTuned
Indicates whether the model is a fine-tuned version (i.e., custom).
public bool IsFineTuned { get; }
Property Value
- bool
IsLegacy
Indicates whether the model is a legacy version. Legacy models often have a different endpoint or API structure.
public bool IsLegacy { get; }
Property Value
- bool
MaxInputTokens
The maximum number of input tokens allowed for this
public int MaxInputTokens { get; }
Property Value
- int
MaxN
The maximum number of images that this model can generate in a single request. This information is only relevant for image generation models.
public int MaxN { get; }
Property Value
- int
MaxOutputTokens
The maximum number of output tokens that the model can generate.
public int MaxOutputTokens { get; }
Property Value
- int
OutputModality
A bitflag indicating supported output modalities (e.g., Text, Image, Audio). This information is used to determines which output types the model supports.
public Modalities OutputModality { get; }
Property Value
Prices
An array of pricing definitions for this model based on content type and usage (e.g., per 1K tokens).
public ModelPrice[] Prices { get; }
Property Value
ResourceName
The resource name or deployment name for the model, used in certain APIs like Azure.
public string ResourceName { get; }
Property Value
- string
Type
The type of the model, such as LanguageModel, ImageModel, etc.
public ModelType Type { get; }
Property Value
Version
The specific version identifier of the
public string Version { get; }
Property Value
- string
VersionNumber
The version identifier for the model's family or group (e.g., GPT-4, Gemini-1.5).
public float VersionNumber { get; }
Property Value
- float
Methods
DefaultByApi(Api)
public static string DefaultByApi(Api api)
Parameters
apiApi
Returns
- string
FirstCandidate(params string[])
public static Model FirstCandidate(params string[] candidateIds)
Parameters
candidateIdsstring[]
Returns
GetApiKey()
public string GetApiKey()
Returns
- string
GetAudioPrice()
public AudioPrice GetAudioPrice()
Returns
GetImagePrice()
public ImagePrice GetImagePrice()
Returns
GetImagePrice(ImageSize)
public ImagePrice GetImagePrice(ImageSize size)
Parameters
sizeImageSize
Returns
GetImagePrice(ImageSize, ImageQuality)
public ImagePrice GetImagePrice(ImageSize size, ImageQuality quality)
Parameters
sizeImageSizequalityImageQuality
Returns
GetRequestPrice()
public RequestPrice GetRequestPrice()
Returns
GetTokenPrice(TokenType)
public TokenPrice GetTokenPrice(TokenType type)
Parameters
typeTokenType
Returns
GetTranscriptionPrice()
public TranscriptionPrice GetTranscriptionPrice()
Returns
GetWebSearchPrice(SearchContextSize)
public WebSearchPrice GetWebSearchPrice(SearchContextSize contextSize)
Parameters
contextSizeSearchContextSize
Returns
Supports(ModelCapabilities)
public bool Supports(ModelCapabilities f)
Parameters
Returns
- bool
TryGet(out Model, params string[])
public static bool TryGet(out Model model, params string[] candidateIds)
Parameters
modelModelcandidateIdsstring[]
Returns
- bool
Operators
implicit operator Model(string)
public static implicit operator Model(string apiName)
Parameters
apiNamestring