Table of Contents

Class Model

Namespace
Glitch9.AIDevKit

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
object
Model
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

ModelCapabilities

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

Modalities

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

Modalities

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

ModelPrice[]

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

ModelType

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

api Api

Returns

string

FirstCandidate(params string[])

public static Model FirstCandidate(params string[] candidateIds)

Parameters

candidateIds string[]

Returns

Model

GetApiKey()

public string GetApiKey()

Returns

string

GetAudioPrice()

public AudioPrice GetAudioPrice()

Returns

AudioPrice

GetImagePrice()

public ImagePrice GetImagePrice()

Returns

ImagePrice

GetImagePrice(ImageSize)

public ImagePrice GetImagePrice(ImageSize size)

Parameters

size ImageSize

Returns

ImagePrice

GetImagePrice(ImageSize, ImageQuality)

public ImagePrice GetImagePrice(ImageSize size, ImageQuality quality)

Parameters

size ImageSize
quality ImageQuality

Returns

ImagePrice

GetRequestPrice()

public RequestPrice GetRequestPrice()

Returns

RequestPrice

GetTokenPrice(TokenType)

public TokenPrice GetTokenPrice(TokenType type)

Parameters

type TokenType

Returns

TokenPrice

GetTranscriptionPrice()

public TranscriptionPrice GetTranscriptionPrice()

Returns

TranscriptionPrice

GetWebSearchPrice(SearchContextSize)

public WebSearchPrice GetWebSearchPrice(SearchContextSize contextSize)

Parameters

contextSize SearchContextSize

Returns

WebSearchPrice

Supports(ModelCapabilities)

public bool Supports(ModelCapabilities f)

Parameters

f ModelCapabilities

Returns

bool

TryGet(out Model, params string[])

public static bool TryGet(out Model model, params string[] candidateIds)

Parameters

model Model
candidateIds string[]

Returns

bool

Operators

implicit operator Model(string)

public static implicit operator Model(string apiName)

Parameters

apiName string

Returns

Model