Documentation
¶
Overview ¶
Package bestiary provides a thin wrapper and CLI interface for the models.dev API. It exposes types for AI model metadata and a local SQLite cache for offline use.
Index ¶
- Constants
- func BaseRefFor(id ModelID) string
- func CanonicalizeModifiers(mods []string) []string
- func ContextWindowFor(id ModelID) int
- func DefaultDBPath() (string, error)
- func DetectHost(id ModelID) (Host, ModelID)
- func DetectQuantization(id ModelID) (Quantization, string, ModelID)
- func EnrichedParamSize(id string) (token string, err error)
- func EntityModifiers(mods []string, fam Family) []string
- func EstimateVRAMBytes(weightsBytes int64, contextTokens, layers, kvHeads, headDim int) int64
- func ExtractDate(id ModelID, releaseDate string) string
- func ExtractModifier(id ModelID, family Family, variant string) (modifier string, modifierConsumed string)
- func ExtractParamSizeToken(id string) (token string, ok bool)
- func ExtractVersionBetweenFamilyAndVariant(id ModelID, family Family, variant string) (version string, residual []string)
- func ExtractVersionFromID(id ModelID, rawFamily Family) string
- func FamiliesJSONKeyError(data []byte) error
- func FamilyAliasesJSONError(data []byte) error
- func FormatAmbiguous(w io.Writer, e *ErrAmbiguous)
- func FormatModel(w io.Writer, model ModelInfo, format OutputFormat) error
- func FormatModels(w io.Writer, models []ModelInfo, format OutputFormat) error
- func IsEnforcedCanonicalFamily(f Family) bool
- func IsKnownFamily(f Family) bool
- func JoinEntityMetadata(ents []Entity, meta []EntityMetadata) (attached []Entity, unlinked []MetadataID, standalone []Entity)
- func ParamSizeFor(id ModelID) string
- func ParseDataReady() error
- func ParseFamilyDetailed(raw Family, id ModelID, p Provider) (Family, string, string, []string, *ParseFailure)
- func ParseParamSize(raw string) (string, error)
- func VRAMEstimateIsPartial(layers, kvHeads, headDim int) bool
- func ValidateDataSourceTable() error
- func ValidateEntitySourceTable() error
- func ValidateLineageTable() error
- func ValidateParamSizePins() error
- func ValidateQuantVRAMTable() error
- type AcceptabilityRating
- type BenchmarkResult
- type CanonicalFilter
- type CanonicalScheme
- type Capability
- type CapabilityUnion
- type Catalog
- type Client
- func (c *Client) FetchCatalog(ctx context.Context) (Catalog, error)
- func (c *Client) FetchModelMetadata(ctx context.Context) ([]EntityMetadata, error)
- func (c *Client) FetchModels(ctx context.Context) ([]ModelInfo, error)
- func (c *Client) FetchModelsByProvider(ctx context.Context, p Provider) ([]ModelInfo, error)
- type ClientOption
- type CostTier
- type DataSource
- type DataSourceID
- type DatasetIngested
- type DerivationKind
- type Designation
- type Entity
- type EntityMetadata
- type EntityRef
- type EntitySource
- type ErrAPIUnavailable
- type ErrAmbiguous
- type ErrNotFound
- type Family
- type Harness
- type Host
- type InputFormat
- type LineageEdge
- type LineageRecord
- type LinkType
- type MetadataID
- type Modalities
- type Modality
- type ModelID
- type ModelInfo
- func LookupModel(id ModelID) (ModelInfo, bool)
- func LookupModelByProvider(p Provider, name string) (ModelInfo, bool)
- func MergeModels(static, cached []ModelInfo) []ModelInfo
- func Models() []ModelInfo
- func ModelsByFamily(family Family) []ModelInfo
- func ModelsByProvider(p Provider) []ModelInfo
- func ParseAPIJSON(data []byte) ([]ModelInfo, error)
- func StaticModels() []ModelInfo
- type ModelLink
- type ModelRef
- type ModelStatus
- type ModifierClass
- type OutputFormat
- type ParamShape
- type ParseAttempt
- type ParseFailure
- type ParseFailureReason
- type ParseFailuresEnvelope
- type Provider
- type ProviderInstance
- type QuantVRAM
- type Quantization
- type ReasoningOption
- type ReasoningOptionKind
- type ReleaseStage
- type ResolveOption
- type Store
- func (s *Store) Close() error
- func (s *Store) QueryByCanonical(ctx context.Context, f CanonicalFilter) ([]ModelInfo, error)
- func (s *Store) QueryCurrentIngests(ctx context.Context) ([]DatasetIngested, error)
- func (s *Store) QueryEntityMetadata(ctx context.Context) ([]EntityMetadata, error)
- func (s *Store) QueryIngestHistory(ctx context.Context, id DataSourceID) ([]DatasetIngested, error)
- func (s *Store) QueryModel(ctx context.Context, id ModelID) (ModelInfo, error)
- func (s *Store) QueryModels(ctx context.Context, provider Provider) ([]ModelInfo, error)
- func (s *Store) QueryModelsByID(ctx context.Context, id ModelID) ([]ModelInfo, error)
- func (s *Store) UpsertDataSources(ctx context.Context, sources []DataSource, ingested []DatasetIngested) error
- func (s *Store) UpsertEntityMetadata(ctx context.Context, rows []EntityMetadata) error
- func (s *Store) UpsertEntitySources(ctx context.Context, sources []EntitySource) error
- func (s *Store) UpsertModels(ctx context.Context, models []ModelInfo) error
- type TierCost
Constants ¶
const BestiarySchemaVersion = "0.4.0"
BestiarySchemaVersion is the semantic version of the bestiary JSON Schema (the public CLI JSON output schema in bestiary.schema.json). It follows semver (major.minor.patch) and must be incremented whenever the public output schema changes.
This is DISTINCT from the SQLite store's currentSchemaVersion (store.go), which versions the on-disk cache migrations and bumps on its own cadence. Do not conflate the two: the JSON output schema and the SQLite cache schema evolve independently.
Changelog:
- 0.0.2 → 0.0.3: widened the Modifier field string → []string (backward-INCOMPATIBLE public schema change).
- 0.0.3 → 0.1.0: added the v0.2.3 entity-model fields (ModelInfo.Host, ModelInfo.Lineage; ModelRef.Host; new $defs EntityRef, LineageEdge, DerivationKind). Additive and backward-COMPATIBLE: the new fields are optional/zero-value, so 0.0.x records still validate.
- 0.1.0 → 0.2.0: added the v0.2.4 VRAM/quantization/provenance fields (ModelInfo.ParamSize, ModelInfo.QuantVRAM, ModelInfo.Source; EntityRef.ParamSize; new $defs Quantization, QuantVRAM, ProviderInstance, CapabilityUnion, Entity, DataSource, DatasetIngested, EntitySource). Additive and backward-COMPATIBLE: every new field is optional/zero-value, so 0.1.x records still validate.
- 0.2.0 → 0.3.0: added the v0.2.5 models.dev harmonization fields — the instance-level ModelInfo props (Description, Status, StatusRaw, ReasoningOptions, CostInputAudioPerMTok, CostOutputAudioPerMTok, CostContextOver200k, CostTiers), the Entity.Metadata join projection, ModelRef.ParamSize (the #size identity carrier on the identity tuple), and new $defs ModelStatus, LinkType, ModelLink, BenchmarkResult, ReasoningOption, TierCost, CostTier, EntityMetadata. (Catalog is a parser return container, not a serialized output document, so it is deliberately NOT a $def.) Additive and backward-COMPATIBLE: every new property is optional/zero-value, so 0.2.x records still validate.
- 0.3.0 → 0.4.0: stamps the v0.2.6 parameter-shape fields decomposed from ParamSize (ModelInfo.TotalParams, ActiveParams, PerExpertParams, ExpertCount). These are DERIVED presentation facts, never entity-key material, and follow the ParamShapeNull (-1) in-domain NULL sentinel contract: -1 = not populated by parser or curation, a positive value = an attested count, and a genuine 0 is reachable only for ExpertCount (a dense shape attests zero experts). The schema pins minimum -1 on each. Additive and backward-COMPATIBLE: every new property is optional, so 0.3.x records still validate. (The full-bulk #size re-key that lands this epoch changes many EntityRef keys but is a data change, not a schema-shape change — the ParamSize carrier and its grammar are unchanged.)
const ParamShapeNull = -1
ParamShapeNull is the in-domain NULL sentinel for the four parameter-shape integer fields (ParamShape and the inline ModelInfo TotalParams / ActiveParams / PerExpertParams / ExpertCount). A field set to ParamShapeNull means "not populated by the parser or curation": the shape genuinely does not carry that fact (a dense token attests no active or per-expert count), or the size is entirely unknown. It is DISTINCT from a genuine 0, which under this contract is reachable only for ExpertCount (a dense shape attests exactly zero experts). Modelling the fields as a NULLable tabular domain — rather than overloading 0 for both "absent" and "zero" — lets a consumer tell an unpopulated field from an attested count. See ParseParamShape for the per-shape population contract.
const UpstreamGitCommit = "bf55e760"
UpstreamGitCommit is the short Git commit hash of the models.dev repository revision that corresponds to UpstreamSchemaVersion.
const UpstreamGitRemote = "git@github.com:anomalyco/models.dev.git"
UpstreamGitRemote is the canonical Git remote URL for the models.dev repository from which the upstream schema was sourced.
const UpstreamSchemaVersion = "2026.07.12-a0d8cb006e5c2b848dd96fe622e4a61cf405906a1f4bb9a2dc03fdd890ddaac8"
UpstreamSchemaVersion identifies the exact snapshot of the models.dev schema that this bestiary schema was derived from. Format: YYYY.MM.DD-sha256 where sha256 is the full 64 lowercase hex character SHA-256 hash of the upstream schema file (packages/core/src/schema.ts).
const VRAMFormulaVersion = 2
VRAMFormulaVersion identifies the VRAM estimation formula in use. Version 2 uses ingested GGUF file size as the weights term (never derived from bits-per-weight) and fp16 KV cache with no overhead constant.
const VRAMKVElemBytes = 2
VRAMKVElemBytes is the number of bytes per element in the KV cache. The KV cache is stored in fp16 (half-precision float), so each element occupies 2 bytes.
Variables ¶
This section is empty.
Functions ¶
func BaseRefFor ¶ added in v0.2.4
BaseRefFor returns the curated base model reference string for the model identified by id, or the empty string when no base_ref is curated for it. Matching is case-insensitive.
Codegen uses this to infer a DerivationFinetune lineage edge for community finetunes whose base model is known from Ollama metadata. An empty result means the model is not a curated finetune (or its base is not known).
func CanonicalizeModifiers ¶ added in v0.2.2
CanonicalizeModifiers returns a NEW slice containing the modifiers de-duplicated (case-insensitively, first spelling wins) and sorted into the canonical order. An empty or all-empty input returns nil (the canonical "no modifiers" value), so the public contract is: empty → nil; single → 1-elem; multiple → canonical-ordered. It never mutates the input slice.
func ContextWindowFor ¶ added in v0.2.4
ContextWindowFor returns the curated maximum context window in tokens for the model identified by id, or 0 when no context_window is curated for it. Matching is case-insensitive.
Codegen uses this as the model-max override when computing VRAMBytes: a non-zero value from this function takes precedence over ModelInfo.ContextWindow from the models.dev catalog.
func DefaultDBPath ¶
DefaultDBPath returns the default path for the models database. It uses $XDG_CACHE_HOME/bestiary/models.db, falling back to ~/.cache/bestiary/models.db when XDG_CACHE_HOME is not set.
func DetectHost ¶ added in v0.2.3
DetectHost inspects a model ID for a curated serving-host PREFIX and, on a match, returns the corresponding Host plus the host-stripped ID. For example "azure-gpt-4o" → (HostAzure, "gpt-4o"). When no curated prefix matches it returns (HostNone, id) unchanged.
Detection is intentionally curated and ID-PREFIX-ONLY:
- It NEVER consults the Provider field. A genuine host-as-provider (e.g. provider "azure-cognitive-services" serving a plain "gpt-4o" ID) carries no host prefix on its ID, so Host stays HostNone — the host is implied by the Provider, not duplicated as an instance attribute. This is the guard against the v0.2.2 blanket provider-name strip that erased a backend label.
- Namespaced IDs (org/model, containing "/") are never split, so an org token that merely begins with a host word (e.g. "azure-cognitive-services/gpt-4o") is left untouched and Host stays HostNone.
Host is a per-instance ATTRIBUTE: stripping it makes the remaining (Family,Variant,Version) tuple host-independent, so a host-routed instance shares its entity identity with the plainly-served model.
func DetectQuantization ¶ added in v0.2.4
func DetectQuantization(id ModelID) (Quantization, string, ModelID)
DetectQuantization inspects a model ID for an embedded or trailing quantization tag in Ollama-style notation (e.g. "llama3.3:70b-instruct-q4_K_M") and returns:
- q: the matched Quantization constant (QuantizationNone when no tag is found; QuantizationOther when a quant-looking tag is present but unrecognised).
- raw: the raw tag string as it appears in the id, without case normalisation (e.g. "q4_K_M"). Empty when no tag is found.
- stripped: the model ID with the quant tag (and its leading separator "-") removed. Equal to id when no tag is found.
Matching is case-insensitive against quantNames so both "Q4_K_M" and "q4_k_m" resolve to QuantQ4_K_M. The function never panics.
This extends DetectHost's (value, stripped-id) shape with the raw matched tag as a third return value.
func EnrichedParamSize ¶ added in v0.2.6
EnrichedParamSize resolves the canonical parameter-size token for a model ID via the PRESENCE-based precedence pin > mechanical > ParamSizeFor:
- a curated pin (param_size_overrides.json) is authoritative when PRESENT, even when its token is "" — a suppress-pin deliberately yields NO size and must never fall through to the mechanical extractor (presence, not value, decides);
- else the mechanical ExtractParamSizeToken decomposition of the ID;
- else the fetch-owned ParamSizeFor fallback (curated quant_vram.json), which ranks LAST so an Ollama-bot refresh of a fetch-owned param_size can never flip a stable ID-derived entity key.
The returned err is a DISAGREEMENT signal — non-nil only when the ID is UNPINNED and BOTH the mechanical token and the ParamSizeFor fallback are present yet differ. That is a curation gap a human must resolve (add a pin). The returned token is still valid (the mechanical token wins per precedence), so runtime callers ignore the error and degrade gracefully; codegen treats it as a LOUD, actionable failure.
func EntityModifiers ¶ added in v0.2.3
EntityModifiers returns the IDENTITY-class subset of mods, de-duplicated and in canonical order (see CanonicalizeModifiers). It is the projection used to build the "{identity-mods}" segment of an entity key: attribute-class modifiers are dropped because they do not affect identity. An empty/all-attribute input returns nil (the canonical "no identity modifiers" value).
EntityModifiers is implemented in terms of ClassifyModifier, so it tracks the curated table automatically: a token classifies as identity (and is retained here) unless the table — global or per-family override — demotes it to attribute. Unknown tokens default to identity and are retained — EXCEPT migrated stage-axis tokens (preview/latest/original), which are routed out FIRST (via isStageToken, before ClassifyModifier) so their absence from the curated table never lets the identity fail-safe pull them into the key.
func EstimateVRAMBytes ¶ added in v0.2.4
EstimateVRAMBytes estimates the total VRAM requirement in bytes for a model given its weights footprint and architectural parameters.
Formula:
total = weightsBytes + KV KV = 2 * layers * kvHeads * headDim * contextTokens * VRAMKVElemBytes
The KV term accounts for both the K and V matrices (hence the leading 2), fp16 element size (VRAMKVElemBytes = 2), and is GQA-aware: kvHeads is the KV-head count, not the query-head count.
The weights term is always the ingested GGUF file size passed in as weightsBytes — it is the ground-truth measurement, never derived from bits-per-weight arithmetic.
KV = 0 (weights-only lower bound) when ANY of layers, kvHeads, headDim, or contextTokens is <= 0. When baking a QuantVRAM row, the caller sets VRAMEstimatePartial = VRAMEstimateIsPartial(layers, kvHeads, headDim). Note: a zero-context bake yields KV=0 WITHOUT partial — partial is reserved for structurally absent arch-facts; the caller chooses its bake context independently. See VRAMEstimateIsPartial for the exact predicate.
Integer arithmetic is int64 throughout. The maximum realistic KV cache (e.g. 200 layers × 128 heads × 256 dim × 2 M context × 2 bytes ≈ 52 TB) is well within int64 range (~9.2 EB), so no overflow protection is needed for any plausible model at the time of writing.
func ExtractDate ¶
ExtractDate extracts a date string from a model ID or release date field, normalizing to the YYYY-MM-DD form.
Matching priority:
- id is scanned for a YYYYMMDD or YYYY-MM-DD substring.
- If id has no match, releaseDate is scanned.
Returns "" when no date is found in either field. The returned string always uses the YYYY-MM-DD format (hyphens added for YYYYMMDD).
func ExtractModifier ¶ added in v0.2.0
func ExtractModifier(id ModelID, family Family, variant string) (modifier string, modifierConsumed string)
ExtractModifier returns the modifier suffix found at the trailing end of id (after family and variant are resolved) and the literal substring of id that was consumed (including the leading hyphen).
Resolution: after family + variant are known, the function scans the model ID for a trailing "-<modifier>" token where modifier is in the allowlist from parse/data/modifiers.json. Matching is longest-suffix-first so that "think" does not shadow "thinking" when both are seeded.
Return values:
- modifier: the bare modifier token (e.g. "thinking"), or "" when none found.
- modifierConsumed: the substring removed from id (e.g. "-thinking"), or "" when none found.
The caller should strip modifierConsumed from the model ID before passing to ExtractVersionFromID and ExtractDate, so that the modifier token does not pollute version/date heuristics.
ExtractModifier does not modify ModelInfo or ModelRef fields — it is a pure function that returns values for the caller to wire. Pipeline order:
- ParseFamily (raw → family + variant)
- ExtractModifier (id, family, variant) → modifier, consumed
- Strip consumed from id
- ExtractVersionFromID on cleaned id
- ExtractDate on cleaned id
func ExtractParamSizeToken ¶ added in v0.2.6
ExtractParamSizeToken is the single grammar authority for pulling a parameter-size token out of a model ID. It is shared (by the enrichment path, the metadata join, the offline Ollama tool, and parseBaseRef) so every site decomposes sizes identically and no site re-implements a greedy scan.
It tokenizes id on [-:/] ONLY — '.' and '_' are NOT separators ('.' carries decimal sizes; '_' matches both existing sites' no-underscore behavior and has zero extraction benefit catalog-wide). Candidate windows are contiguous token runs rejoined with their ORIGINAL separators (each window is a contiguous substring of id); the LONGEST window that is a valid size wins (ties break to the leftmost). It returns the CANONICAL token (ParseParamSize-normalized), so callers get the same spelling the entity key uses. Any static-vs-derived skew (a baked ParamSize that disagrees with what this returns) is caught by TestCodegen_UpToDate rather than silently tolerated.
"qwen3-235b-a22b" -> ("235b-a22b", true) // longest whole window, not "235b"
"llama-4-scout-17b-16e" -> ("17b-16e", true)
"lfm-2.5-1.2b" -> ("1.2b", true) // decimal intact
"qwen3-embedding-0.6b" -> ("0.6b", true) // never "6b"
"command-r7b" -> ("", false) // r7b is one token; never substring "7b"
"upstage/solar-10_7b-instruct" -> ("", false) // '_' not a separator; sized via curated pin
func ExtractVersionBetweenFamilyAndVariant ¶ added in v0.2.2
func ExtractVersionBetweenFamilyAndVariant(id ModelID, family Family, variant string) (version string, residual []string)
ExtractVersionBetweenFamilyAndVariant extracts the numeric version component from a model ID that embeds version digits BETWEEN the normalized family prefix and the variant name. This handles the common case where raw_family does not embed the version but the model ID does:
id="claude-3-5-haiku-20241022", family="claude", variant="haiku" → "3.5" id="claude-3.5-haiku", family="claude", variant="haiku" → "3.5" id="gpt-5-mini", family="gpt", variant="mini" → "5"
Returns (version, residual) where:
- version is the dot-joined leading numeric tokens found between family and variant.
- residual contains any tokens between the version and variant that are neither numeric nor the variant first-token (honest-audit signal).
N-M equivalence: hyphen-separated pure-digit tokens are dot-joined so that "3-5" → "3.5" and "4-6" → "4.6". This brings parity with ParseFamilyWithVersion.
Parity contract: ExtractVersionBetweenFamilyAndVariant fires if and only if detectVersionDigitsInID (parse.go) would also fire on the same (id, family, variant). This invariant is enforced by TestExtractVersionBetweenFamilyAndVariant_Parity (parse_internal_test.go), which asserts: detector fires ⟺ extractor returns non-empty version OR non-empty residual.
Algorithm:
- Normalize the family to a canonical single-word form (first alphabetic token of family for multi-token families like "claude-opus" → "claude").
- Strip "<normalizedFamily>-" prefix from the ID. Return ("","") when absent.
- Strip any trailing compact/dash date from the remainder.
- Tokenize on "-". Collect leading purely-numeric tokens up to the first variant-first-token (or end of tokens if variant is empty).
- Dot-join the numeric tokens → version. Tokens after the numeric run that are neither the variant first-token nor purely-numeric are residual.
func ExtractVersionFromID ¶ added in v0.2.0
ExtractVersionFromID extracts a numeric version (e.g. "4.5", "4.6", "2.5", "4o") from a model ID after stripping the known family prefix. Returns "" if no version-like token follows the family prefix.
This is the ID-as-authoritative-source companion to ParseFamilyWithVersion. It is called by codegen (genToModelInfo) when ParseFamilyWithVersion on the raw family field yields an empty version — which is the common case because the upstream models.dev API family strings do not embed version numbers ("claude-opus" not "claude-opus-4-5"). The model ID is where the version lives ("claude-opus-4-5-20251101", "claude-opus-4-6").
Algorithm:
- Strip "<rawFamily>-" from the start of id. If the ID does not begin with that prefix, return "".
- Strip any trailing compact date (YYYYMMDD or YYYY-MM-DD) from the remainder, since those are not version tokens.
- From the remaining string, attempt version extraction: a. All-hyphen-separated-digit tokens (e.g. "4-5") → dot-join → "4.5" b. Dot-version suffix (e.g. "2.5") → return directly c. Single alphanumeric-suffix token (e.g. "4o") → return as-is d. Otherwise → return ""
Examples:
ExtractVersionFromID("claude-opus-4-5-20251101", "claude-opus") → "4.5"
ExtractVersionFromID("claude-opus-4-6-20250514", "claude-opus") → "4.6"
ExtractVersionFromID("claude-opus-4-6", "claude-opus") → "4.6"
ExtractVersionFromID("gemini-2.5-flash", "gemini") → "2.5"
ExtractVersionFromID("gpt-4o", "gpt") → "4o"
ExtractVersionFromID("claude-opus", "claude-opus") → ""
ExtractVersionFromID("claude-3-5-sonnet-20241022","claude") → "" (non-version interleaved tokens)
func FamiliesJSONKeyError ¶ added in v0.2.2
FamiliesJSONKeyError validates that every non-comment key in the raw families.json-style bytes is a known Family (case-insensitive match against allFamilies). Returns nil when all keys are valid, or an actionable error on the first unrecognised key.
Used by tests to verify the validation contract without modifying the embedded data, and by to validate family_aliases.json target keys.
BDD: Given families.json with a typo key "claud" (should be "claude"), When FamiliesJSONKeyError is called, Then a non-nil error is returned mentioning the bad key.
func FamilyAliasesJSONError ¶ added in v0.2.2
FamilyAliasesJSONError validates the canonical-winner ledger bytes (family_aliases.json shape: {"_comment": ..., "aliases": {key: target, ...}}). Each alias TARGET (the canonical family value) must be a known Family (case-insensitive match against allFamilies). Alias KEYS are mislabels and are deliberately NOT validated — they need not be canonical. Returns nil when every target is valid, or an actionable error on the first unknown target.
Reuses familyKeyKnown so the ledger and families.json share one fail-fast validation contract. Used by initParseData (load-time fail-fast) and by tests to verify the contract without mutating embedded data.
BDD: Given a ledger row {"l3": "lluma"} (typo target), When FamilyAliasesJSONError is called, Then a non-nil error naming the bad target is returned.
func FormatAmbiguous ¶
func FormatAmbiguous(w io.Writer, e *ErrAmbiguous)
FormatAmbiguous writes a human-readable two-section disambiguation message for e to w (typically os.Stderr).
Output format:
bestiary: input "<input>" matched multiple canonicals [no matches in namespace "..." — ... (when PURLMissedNamespace is set)] * = canonical provider Canonical: * <canonical-form> ... (up to 5 rows; "+N more" when >5) Also rehosted by: (omitted when RehostProviders is empty) <provider-name> (one per line, up to 5; "+N more" when >5) <provider-name> ... To see all providers/variants: bestiary list (or: bestiary list --provider <slug>) To resolve an exact model ID: bestiary show <raw-id> --format=raw
Section 1 (Canonical) shows up to 5 representatives from Candidates where the Provider is the canonical/originating provider for the family. Each row is prefixed with "* " to visually mark the canonical origin.
Section 2 (Also rehosted by) lists up to 5 distinct provider names taken directly from ErrAmbiguous.RehostProviders. The section is omitted entirely when RehostProviders is empty.
The function always returns nil; write errors are silently swallowed because this is advisory stderr output — a write failure should not mask the real ErrAmbiguous that the caller surfaces to the user.
func FormatModel ¶
func FormatModel(w io.Writer, model ModelInfo, format OutputFormat) error
FormatModel writes a single model to w in the specified format.
func FormatModels ¶
func FormatModels(w io.Writer, models []ModelInfo, format OutputFormat) error
FormatModels writes a list of models to w in the specified format.
func IsEnforcedCanonicalFamily ¶ added in v0.2.2
IsEnforcedCanonicalFamily reports whether f is in the CLOSED canonical-winner ENFORCE set (parse/data/family_enforce.json) — a curated list of DISTINCT model families that win over a disagreeing raw_family parent/org mislabel (aion, hermes, mixtral, qwq, …). Exposed for the before/after-diff gate (cmd/bestiary-gen): a lateral family change whose AFTER family is in this set is a SANCTIONED ledger correction (the ID-canonical distinct family beat a parent/org mislabel), not a regression — analogous to the "after ∈ registry" signal but for lateral (non-reduction) corrections. The set is curated data, NOT the categorizer's own logic, so this does not rubber-stamp an arbitrary family rewrite.
func IsKnownFamily ¶ added in v0.2.2
IsKnownFamily reports whether f is a CANONICAL registered family — a value present (case-insensitively) in the generated allFamilies registry (families_gen.go), which is derived directly from the upstream models.dev family field. Synthetic OVER-CAPTURE family strings the ID-path may transiently produce (e.g. "claude-opus", "qwen3-vl-72b", "phi-4-mini") are NOT in that registry. Exposed for the before/after-diff gate, which uses "after ∈ registry ∧ before ∉ registry" as an INDEPENDENT, data-grounded signal that a family change reduced an over-capture to its canonical short base (and so is a genuine fix, not a regression) — the registry is curated upstream data, not the reducer's own logic, so the check does not merely rubber-stamp the implementation.
func JoinEntityMetadata ¶ added in v0.2.5
func JoinEntityMetadata(ents []Entity, meta []EntityMetadata) (attached []Entity, unlinked []MetadataID, standalone []Entity)
JoinEntityMetadata runs the metadata<->entity join over ents with meta and returns three results:
- attached: every provided entity (deep-copied), with a matching metadata row re-attached over its Metadata field (replace, not merge). Entities with no matching metadata carry their original Metadata unchanged.
- unlinked: the MetadataIDs whose decomposed family IS present among the provided entities but whose full tuple matched no entity — disagreements a curator resolves with an alias (the codegen slice emits them as a sorted report).
- standalone: newly synthesized metadata-only entities for metadata whose family is absent entirely (empty Instances, Sources = [models.dev], Metadata attached).
The join is PURE: the caller's ents slice and its elements are never mutated (every returned entity is a fresh deep copy), and every attached *EntityMetadata is a fresh clone of the source row (never aliasing the meta slice).
Re-attach, never re-create: a metadata row whose identity key already matches a provided entity — including a standalone synthesized on an earlier pass and fed back in — is RE-ATTACHED onto that entity rather than duplicated, so repeated joins over the same metadata set are idempotent (no growing standalone set).
func ParamSizeFor ¶ added in v0.2.4
ParamSizeFor returns the canonical parameter-size token (e.g. "70b", "3b", "0.5b") for the model identified by id, or the empty string when no param_size is curated for it. Matching is case-insensitive.
The returned value is the lowercased canonical form (validated by ParseParamSize at load time) suitable for EntityRef.ParamSize.
func ParseDataReady ¶
func ParseDataReady() error
ParseDataReady returns the error (if any) from the one-time initialization of the embedded parse data (JSON files + regex compilation). In a correct build the return value is always nil, because the data files are embedded at compile time and the regexes are validated before any release.
This function is primarily useful for startup self-checks and tests. Production code does not need to call it — ParseFamily degrades gracefully when the load fails (see the fail-closed comment inside ParseFamily).
func ParseFamilyDetailed ¶ added in v0.2.0
func ParseFamilyDetailed(raw Family, id ModelID, p Provider) (Family, string, string, []string, *ParseFailure)
ParseFamilyDetailed is the failure-aware companion to ParseFamilyWithVersion. It returns the same three-way decomposition (Family, variant, version) plus an optional *ParseFailure when the parser detects a known incomplete result.
Failure detection covers three modes:
- Version digits trapped between family-prefix and variant: "claude-3-5-haiku-20241022" → the 3-5 version digits are not extracted.
- Suffix overflow: trailing token beyond expected family/variant/version/date. Sub-cases: ReasonKnownSuffixOverflow (token in modifier allowlist) and ReasonUnknownSuffixOverflow (token not in allowlist — extend allowlist).
- YYMM-date-as-version false-positive: a 4-digit numeric segment that looks like a YYMM date (1900–2999 range) but is treated as part of the family/version.
The returned *ParseFailure is an annotation, NOT an error. The function always returns its best-effort family/variant/version values regardless of whether a failure was detected. Callers who need only the parse result can discard the *ParseFailure with _. Callers building an audit log should check failure != nil and accumulate.
Parameters id and p (model ID and provider) are used to populate the failure record fields and are not used in the parse logic itself.
The return order is (family, variant, version, modifier, *ParseFailure). Codegen wiring depends on this exact 5-tuple shape — do NOT reorder.
func ParseParamSize ¶ added in v0.2.4
ParseParamSize canonicalizes a raw parameter-size token into the lowercase form used in EntityRef.ParamSize and ModelInfo.ParamSize (e.g. "70b", "0.5b"). The '#' prefix is NOT part of the returned value; EntityRef.String() adds it.
Canonicalization rules:
- Input is lowercased.
- If the lowercased input is not a recognized param-size token shape (as detected by isParamSizeToken), the function returns ("", error) so the caller knows the input was not a valid size token.
- Empty input returns ("", nil) — no error, no size.
Examples:
ParseParamSize("70B") → ("70b", nil)
ParseParamSize("0.5b") → ("0.5b", nil)
ParseParamSize("8x22B") → ("8x22b", nil)
ParseParamSize("") → ("", nil)
ParseParamSize("4.5") → ("", error) — version token, not a size
func VRAMEstimateIsPartial ¶ added in v0.2.4
VRAMEstimateIsPartial reports whether the KV-cache term would be excluded from the VRAM estimate because one or more arch-facts are absent (zero).
Caller contract: when baking a QuantVRAM row, the caller (codegen) sets VRAMEstimatePartial = VRAMEstimateIsPartial(layers, kvHeads, headDim) on the row. VRAMEstimatePartial = true means VRAMBytes is a weights-only lower bound and the KV-cache was NOT included. The contextTokens argument is NOT checked here because a zero context with valid arch-facts is a legitimate caller choice (weights-only result by intent); the partial flag is reserved for the case where arch-facts are structurally absent from the source data.
func ValidateDataSourceTable ¶ added in v0.2.4
func ValidateDataSourceTable() error
ValidateDataSourceTable loads the curated data-source table and verifies its referential integrity: it returns any load/parse error, and additionally checks that every DatasetIngested.SourceID and every EntitySource.SourceID resolves to a DataSource (URI uniqueness is enforced at parse time in parseDataSourceTable).
Codegen (cmd/bestiary-gen run()) calls this once, alongside ValidateLineageTable and ValidateQuantVRAMTable, and aborts on a non-nil result. Two FK invariants are caught at generation time rather than baking an orphan provenance row:
- the curated datasources.json is internally sound (no duplicate id/uri, every ingest source_id present in the dimension); and
- no entity↔source attestation names a source absent from the dimension. The attestation rows come from the registry COMPILED INTO THIS BINARY (the previously generated staticModels), and their SourceIDs come from the attestation rule (models.dev + each row's curated Source). datasources.json is an INDEPENDENT curated file, so this cross-input check is genuinely falsifiable: a Source added to the model curation without a matching datasources.json row is rejected — on the next codegen run after that Source bakes into staticModels.
func ValidateEntitySourceTable ¶ added in v0.2.4
func ValidateEntitySourceTable() error
ValidateEntitySourceTable verifies that every EntityKey in the entity↔source join relation resolves to a real registry entity, and surfaces any data-source load error first via ValidateDataSourceTable.
It is deliberately NOT wired into codegen. Unlike the lineage key-resolves guard (which cross-checks an INDEPENDENT curated file against the registry), the entity↔source relation is DERIVED from the registry: loadEntityIndex builds both the relation rows and the entity index from the same scan, so every row's EntityKey is a key of that index by construction and the resolver here cannot fail against the production relation — wiring it into codegen would assert a tautology and misleadingly imply the key FK is enforced at generation. The check is kept as a public, unit-tested guard (its seam, validateEntityKeyFKs, is falsified with a constructed orphan) so it is ready the moment entity↔source rows are sourced INDEPENDENTLY of the entity index (e.g. a curated join file or the SQLite store), at which point the key FK stops being tautological. Until then the genuine codegen FK guard is ValidateDataSourceTable, which cross-checks the independent datasources.json.
func ValidateLineageTable ¶ added in v0.2.3
func ValidateLineageTable() error
ValidateLineageTable loads the curated lineage table and returns any load/parse/validation error (nil when the table is well-formed). Codegen calls this once and aborts on a non-nil result so bad curation — an unknown parent family, a malformed entry — is caught at generation time rather than silently dropping lineage at runtime.
func ValidateParamSizePins ¶ added in v0.2.6
func ValidateParamSizePins() error
ValidateParamSizePins checks that every curated pin token in param_size_overrides.json is CANONICAL: a non-empty token must round-trip through ParseParamSize to itself (a suppress-pin "" is allowed and skipped). It returns an actionable error naming every offending id -> token pair so a typo (e.g. "17b-16ee") is caught at CODEGEN, before a non-canonical token can ever flow into #size key material. The runtime loader stays graceful (a bad file degrades to an empty map); this is the codegen-time discipline that fences the pin file.
func ValidateQuantVRAMTable ¶ added in v0.2.4
func ValidateQuantVRAMTable() error
ValidateQuantVRAMTable loads the curated quant-VRAM table and returns any load/parse/validation error (nil when the table is well-formed). Codegen calls this once and aborts on a non-nil result so bad curation — an unknown quant token, zero weights_bytes, a duplicate model_id, a malformed param_size, an unknown source — is caught at generation time rather than silently producing wrong VRAM estimates at runtime.
Types ¶
type AcceptabilityRating ¶
type AcceptabilityRating int
AcceptabilityRating classifies a Designation by its acceptability status, following ISO 1087 terminology principles.
All designations generated in this epoch default to AcceptabilityAdmitted. Promotion to AcceptabilityPreferred and assignment of AcceptabilityDeprecated are deferred to a follow-up curation epoch.
const ( // AcceptabilityAdmitted is the default rating. The designation is // recognized and may be used, but is not the preferred form. AcceptabilityAdmitted AcceptabilityRating = iota // AcceptabilityPreferred marks the designation as the recommended form. // Currently no designations are promoted to Preferred in this epoch. AcceptabilityPreferred // AcceptabilityDeprecated marks the designation as no longer recommended. // Currently no designations are deprecated in this epoch. AcceptabilityDeprecated )
func (AcceptabilityRating) MarshalJSON ¶
func (r AcceptabilityRating) MarshalJSON() ([]byte, error)
MarshalJSON serializes AcceptabilityRating as a JSON string (e.g. "admitted"). This satisfies the bestiary.schema.json $defs/AcceptabilityRating enum contract, which declares the type as a string — not a number.
func (AcceptabilityRating) String ¶
func (r AcceptabilityRating) String() string
String returns a human-readable label for the rating.
func (*AcceptabilityRating) UnmarshalJSON ¶
func (r *AcceptabilityRating) UnmarshalJSON(b []byte) error
UnmarshalJSON deserializes a JSON string into an AcceptabilityRating. Accepted values: "admitted", "preferred", "deprecated" (case-insensitive). Returns an error if the string is not recognized.
type BenchmarkResult ¶ added in v0.2.5
type BenchmarkResult struct {
// Name is the benchmark name (required upstream, e.g. "MMLU", "GPQA").
Name string
// Version is the benchmark version, when the source distinguishes one.
Version string
// Variant is the benchmark variant / subtask, when the source distinguishes one.
Variant string
// Dataset is the evaluation dataset, when the source names one.
Dataset string
// Harness is the evaluation harness / framework used, when the source names one.
Harness string
// Metric is the reported metric name (e.g. "accuracy", "pass@1").
Metric string
// Score is the numeric score, or 0 when the upstream score is non-numeric
// (in which case the verbatim value is preserved on ScoreRaw).
Score float64
// ScoreRaw is the verbatim upstream score when it is non-numeric (e.g. a
// string), and empty when Score is numeric. Upstream reports scores as either
// a number or a string; capturing the raw form here keeps a string score from
// dropping the row or failing the parse.
ScoreRaw string
// SourceURL is the URL of the original claimant (the lab blog or model card).
// It is named SourceURL rather than Source to avoid colliding with the
// DataSourceID-typed Source fields on ModelInfo and EntityMetadata: a claim
// attribution (who reported the score) and an ingest attestation (which data
// source bestiary read the row from) are different provenance levels and must
// not share a field name.
SourceURL string
// Date is the claim date in YYYY-MM-DD format, when the source gives one.
Date string
}
BenchmarkResult is one benchmark claim as reported by the publishing organization. Its fields are grouped along the assessment-provenance joints — criterion identity, apparatus, assessment value, and claim attribution — and are NEVER concatenated into a single string, so a future canonical benchmark dimension can join on the separated fields.
These scores are attributed claims by the lab that published the model (a blog post or model card), not independent third-party measurements; callers must treat them as such.
type CanonicalFilter ¶
CanonicalFilter selects models by their parsed canonical axes. Empty fields act as wildcards: an empty Family matches any family, an empty Variant matches any variant, an empty Version matches any version, and an empty Date matches any date. This is the parameter type for Store.QueryByCanonical.
type CanonicalScheme ¶
type CanonicalScheme int
CanonicalScheme identifies the string serialization format for a ModelRef. Callers use it to select how a model identity is expressed as a string, e.g. for CLI output, SBOM generation, or HuggingFace Hub lookups.
const ( // SchemeCanonical is the default slash-separated canonical form: // <provider>/<family>/<variant>@<date> // When no variant is present the variant segment is omitted. // Provider-specific representations (e.g. anthropic/claude-opus-4-20250514) // may be emitted where the canonical triple lacks sufficient granularity. SchemeCanonical CanonicalScheme = iota // SchemeHuggingFace produces the HuggingFace Hub form: // <provider>/<raw-id> // This matches the repo-id used by the HuggingFace Hub API. SchemeHuggingFace // SchemePURL produces a Package URL (purl-spec + ECMA-427) form: // pkg:huggingface/<provider>/<raw-id> SchemePURL // SchemeRaw returns the original API model ID verbatim (string(ModelRef.ID)). SchemeRaw )
func ParseScheme ¶
func ParseScheme(s string) (CanonicalScheme, error)
ParseScheme converts a string to a CanonicalScheme. Accepted values: "canonical", "huggingface", "purl", "raw". Returns an error if the string is not a recognized scheme. Used by CLI flag parsing (--scheme flag in cmd/bestiary).
func (CanonicalScheme) MarshalJSON ¶
func (s CanonicalScheme) MarshalJSON() ([]byte, error)
MarshalJSON serializes CanonicalScheme as a JSON string (e.g. "canonical"). This satisfies the bestiary.schema.json $defs/CanonicalScheme enum contract, which declares the type as a string — not a number.
func (CanonicalScheme) String ¶
func (s CanonicalScheme) String() string
String returns a human-readable name for the scheme. Used in debug output and error messages; not a serialized form.
func (*CanonicalScheme) UnmarshalJSON ¶
func (s *CanonicalScheme) UnmarshalJSON(b []byte) error
UnmarshalJSON deserializes a JSON string into a CanonicalScheme. Accepted values: "canonical", "huggingface", "purl", "raw" (case-insensitive). Returns an error if the string is not recognized.
type Capability ¶
Capability represents a model capability that may carry additional configuration. For most capabilities, Supported is the only relevant field. For interleaved, Config may hold additional details (e.g., {"field": "reasoning_details"}).
type CapabilityUnion ¶ added in v0.2.3
type CapabilityUnion struct {
Reasoning bool
ToolCall bool
Attachment bool
Temperature bool
StructuredOutput bool
Interleaved bool
OpenWeights bool
}
CapabilityUnion is the aggregate capability view across all instances of an entity: each boolean is the OR over the corresponding per-instance capability (an entity "supports" a capability if ANY instance does). The zero value (all-false) is the identity-safe default for an entity with no instances.
type Catalog ¶ added in v0.2.5
type Catalog struct {
// Models is the providers view (api.json shape).
Models []ModelInfo
// Metadata is the models view (models.json shape).
Metadata []EntityMetadata
}
Catalog is the parsed catalog.json artifact: the two views models.dev publishes from a single upstream deploy. Models is the providers view (the api.json shape) and Metadata is the models view (the models.json shape).
Catalog is a parser return container, not a serialized public output document, so it is intentionally NOT a $def in bestiary.schema.json; the Go type exists only to carry the two parsed views together.
func ParseCatalogJSON ¶ added in v0.2.5
ParseCatalogJSON decodes a catalog.json artifact ({models, providers}) into a Catalog. It is the SAME decode path Client.FetchCatalog uses, and is exactly the composition of ParseAPIJSON over the providers value and ParseModelsJSON over the models value — both views come from a single upstream deploy.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client fetches model metadata from the models.dev API. Use NewClient to construct a Client with sensible defaults.
func NewClient ¶
func NewClient(opts ...ClientOption) *Client
NewClient creates a Client with the given options applied on top of defaults. Defaults: 30 s timeout, 2 retries, "https://models.dev/api.json".
func (*Client) FetchCatalog ¶ added in v0.2.5
FetchCatalog retrieves both catalog views in a single request from the models.dev catalog.json artifact (URL derived as a sibling of the base URL). Its retry, body-limit, and error semantics match FetchModels.
func (*Client) FetchModelMetadata ¶ added in v0.2.5
func (c *Client) FetchModelMetadata(ctx context.Context) ([]EntityMetadata, error)
FetchModelMetadata retrieves the provider-agnostic model facts from the models.dev models.json artifact (URL derived as a sibling of the base URL). Its retry, body-limit, and error semantics match FetchModels. Source and LastSynced on each returned EntityMetadata are left zero; the caller assigns them on persist.
func (*Client) FetchModels ¶
FetchModels retrieves all model metadata from the models.dev api.json artifact. It retries on transient failures (non-2xx responses, network errors, or a malformed body) up to c.retries additional times with linear backoff, honouring ctx between attempts.
On final failure it returns *ErrAPIUnavailable so callers can use errors.As to inspect structured fields.
LastSynced on each returned ModelInfo is left empty; the caller must set it when persisting the results.
type ClientOption ¶
type ClientOption func(*Client)
ClientOption is a functional option for configuring a Client.
func WithBaseURL ¶
func WithBaseURL(url string) ClientOption
WithBaseURL overrides the API endpoint. The default is "https://models.dev/api.json". The models.json and catalog.json artifact URLs are derived from it as siblings, so a test server pointed here via WithBaseURL serves all three artifacts by routing on the request path.
func WithRetries ¶
func WithRetries(n int) ClientOption
WithRetries sets the number of retry attempts after an initial failure. For example, WithRetries(2) means up to 3 total attempts. The default is 2 retries.
func WithTimeout ¶
func WithTimeout(d time.Duration) ClientOption
WithTimeout sets the HTTP request timeout. The default is 30 seconds.
type CostTier ¶ added in v0.2.5
type CostTier struct {
// ContextSize is the token threshold at which this tier's overrides apply.
ContextSize int
// TierCost is embedded so its cost fields flatten to the tier level in JSON.
TierCost
}
CostTier is a context-size-conditional price tier: the TierCost overrides apply once the request context reaches ContextSize tokens. Upstream, a tier's type is always "context", so only the token threshold is modeled here (as ContextSize) and the TierCost bundle is embedded so its cost fields flatten to the tier level in JSON.
The fixed context_over_200k override on ModelInfo and this general tiers list BOTH express context-conditional pricing: context_over_200k is upstream's legacy fixed-threshold special case and CostTier is the general mechanism. They are kept separate for wire fidelity — unifying them would invent data upstream does not assert.
type DataSource ¶ added in v0.2.4
type DataSource struct {
ID DataSourceID
URI string
CanonicalName string
}
DataSource is the BCNF dimension row for a single originating data source. Its primary key is ID; URI is a second candidate key (each source has a distinct fetch endpoint), so ValidateDataSourceTable enforces URI uniqueness too.
- ID is the stable DataSourceID (e.g. DataSourceModelsDev).
- URI is the canonical fetch endpoint (e.g. https://models.dev/api.json).
- CanonicalName is the human-facing label for display.
func DataSourceByID ¶ added in v0.2.4
func DataSourceByID(id DataSourceID) (DataSource, bool)
DataSourceByID returns the DataSource dimension row for id and whether it exists. It is the FK-join entry point used to resolve a SourceID (on a DatasetIngested or EntitySource) to its uri/canonical-name.
func KnownDataSources ¶ added in v0.2.4
func KnownDataSources() []DataSource
KnownDataSources returns the curated data-source dimension in curated file order. The result is a fresh slice (callers cannot mutate the cached table). On a load failure it returns nil (graceful degrade), never panicking.
type DataSourceID ¶ added in v0.2.4
type DataSourceID string
DataSourceID is the stable identifier for a data source that provides model records to the bestiary registry. The zero value (DataSourceNone, empty string) means "no source recorded" and is the correct default for any row that has not been assigned a source.
This file is the home of the data-source provenance module: the DataSourceID type and well-known source constants; the BCNF provenance types (DataSource dimension, DatasetIngested fact, EntitySource join row); the curated loader for parse/data/datasources.json with its runtime degrade seam; the public lookups (KnownDataSources, DataSourceByID, DatasetIngestedFor, DatasetIngestHistoryFor, EntitySources); and the codegen FK guards (ValidateDataSourceTable, ValidateEntitySourceTable). The entity↔source join relation itself is built by the registry aggregate in registry.go (loadEntityIndex / buildEntitySourceRelation); EntitySources here reads that relation's per-entity projection.
const ( // DataSourceNone is the zero value: no source recorded for this row. DataSourceNone DataSourceID = "" // DataSourceModelsDev identifies the models.dev API as the originating // data source. DataSourceModelsDev DataSourceID = "models.dev" // DataSourceOllama identifies the Ollama registry as the originating // data source. DataSourceOllama DataSourceID = "ollama" )
func EntitySources ¶ added in v0.2.4
func EntitySources(entityKey string) []DataSourceID
EntitySources returns the sorted, de-duplicated DataSourceIDs that attest the entity identified by entityKey (an EntityRef.String() value), or nil when none do. It is the join-table lookup behind Entity.Sources: the projection is read from the registry-built entity↔source relation and is always sorted ascending by DataSourceID for deterministic output.
func SourceFor ¶ added in v0.2.4
func SourceFor(id ModelID) DataSourceID
SourceFor returns the DataSourceID for the model identified by id, or DataSourceNone (the empty string) when the model is not in the curated table. Matching is case-insensitive. For curated Ollama data the value is DataSourceOllama.
type DatasetIngested ¶ added in v0.2.4
type DatasetIngested struct {
SourceID DataSourceID
IngestedAt string
ParserSchema int
}
DatasetIngested records one ingest of a data source. The URI is deliberately ABSENT: it is a transitive dependency (URI depends on SourceID via DataSource), so it is reached by joining to DataSource via SourceID rather than duplicated here — this is the BCNF normalization that removes the transitive dependency.
A source may have MANY DatasetIngested rows: the ingest log is append-only, so a source accumulates one row per distinct ingest instant. The identity of a row is the composite (SourceID, IngestedAt); the CURRENT ingest for a source is the row with the maximum IngestedAt (DatasetIngestedFor), and the full ordered history is DatasetIngestHistoryFor.
- SourceID is the DataSourceID that was ingested (FK to DataSource).
- IngestedAt is a COMMITTED snapshot timestamp from datasources.json. It is never computed at load or codegen time — pinning it in the data file is what keeps generated output byte-deterministic across runs.
- ParserSchema is the curated-data schema version this ingest was parsed under.
func DatasetIngestHistoryFor ¶ added in v0.2.5
func DatasetIngestHistoryFor(id DataSourceID) []DatasetIngested
DatasetIngestHistoryFor returns the full ingest history for the source id, sorted ascending by IngestedAt (oldest first), or nil when the source has no ingest rows. The result is a fresh slice (callers cannot mutate the cached table). On a load failure it returns nil (graceful degrade), never panicking. It is the curated-seed counterpart of Store.QueryIngestHistory.
func DatasetIngestedFor ¶ added in v0.2.4
func DatasetIngestedFor(id DataSourceID) (DatasetIngested, bool)
DatasetIngestedFor returns the CURRENT DatasetIngested for the source id — the row with the maximum IngestedAt — and whether any ingest exists. The returned value carries NO uri; resolve the uri via DataSourceByID(id) (the BCNF join) when it is needed. Use DatasetIngestHistoryFor for the full ordered history.
type DerivationKind ¶ added in v0.2.3
type DerivationKind int
DerivationKind classifies HOW a model was derived from one or more parent models — the edge label on a lineage relationship (see LineageEdge). It is a closed enum: the set of derivation techniques is small and well-understood, so (unlike Host/Provider) a strongly-typed int enum is the right fit.
The zero value is DerivationNone (no derivation / a base model).
const ( // DerivationNone is the zero value: no derivation relationship (a base model). DerivationNone DerivationKind = iota // DerivationFinetune: parameters further trained on additional data // (e.g. dracarys finetuned from llama). DerivationFinetune // DerivationMerge: weights combined from two or more parent models. A merge // edge set carries >= 2 parents. DerivationMerge // DerivationDistillation: a smaller/student model trained to mimic a larger // teacher model. DerivationDistillation // DerivationQuantized: a lower-precision copy of a parent model. DerivationQuantized // DerivationAdapter: a parameter-efficient adapter (e.g. LoRA) applied over // a base model. DerivationAdapter )
func (DerivationKind) MarshalText ¶ added in v0.2.3
func (k DerivationKind) MarshalText() ([]byte, error)
MarshalText implements encoding.TextMarshaler, emitting the canonical wire name (so DerivationKind serializes as a JSON string, not an integer). An out-of-range value is a programming error and yields an actionable error.
func (DerivationKind) String ¶ added in v0.2.3
func (k DerivationKind) String() string
String returns the lowercase wire name of the derivation kind. An out-of-range value renders as "derivationkind(<n>)" so logs never silently drop an unexpected value.
func (*DerivationKind) UnmarshalText ¶ added in v0.2.3
func (k *DerivationKind) UnmarshalText(text []byte) error
UnmarshalText implements encoding.TextUnmarshaler, parsing a canonical wire name back into a DerivationKind. Parsing is case-sensitive against the wire names produced by MarshalText, guaranteeing a lossless round-trip. An unrecognized token yields an actionable error listing the valid values.
type Designation ¶
type Designation struct {
// Value is the serialized model identifier under Scheme.
Value string
// Scheme is the serialization scheme used to produce Value.
Scheme CanonicalScheme
// Provider is the hosting provider associated with this designation.
// For cross-scheme designations (e.g. SchemeRaw) the Provider is the
// original model's hosting provider.
Provider Provider
// Rating classifies acceptability. All epoch-generated designations are
// AcceptabilityAdmitted; promotion is deferred.
Rating AcceptabilityRating
}
Designation pairs a model identity string with its serialization scheme, hosting provider, and acceptability rating.
A single ModelRef may have multiple Designations: a canonical form, a raw API ID form, and optionally provider-specific alias forms. Each carries an AcceptabilityRating. In this epoch all generated designations default to AcceptabilityAdmitted.
type Entity ¶ added in v0.2.3
type Entity struct {
Ref EntityRef
Instances []ProviderInstance
Lineage []LineageEdge
Providers []Provider
Hosts []Host
PriceInputRange [2]*float64
PriceOutputRange [2]*float64
ContextRange [2]int
MaxOutputRange [2]int
Capabilities CapabilityUnion
// Sources is a DERIVED, sorted (ascending DataSourceID), de-duplicated read
// projection of the entity↔source join relation. It is NOT a source of truth —
// it is a convenience view over the EntitySource join table. For any entity
// returned by the registry it is always populated (every registry entity attests
// at least the models.dev origin); it is nil only on a hand-constructed Entity
// value that never went through the registry aggregate.
Sources []DataSourceID
// Metadata is the provider-agnostic model facts (description, license, links,
// benchmark claims) joined to this entity from the models.dev models.json
// side. It is a pointer because metadata is genuinely optional: nil when no
// EntityMetadata was joined to this identity. When present it is owned by the
// Entity value and is deep-copied on read alongside the other entity fields.
Metadata *EntityMetadata
}
Entity is a model identity (Ref) together with every provider/host instance that serves it and the aggregate views derived from those instances. It is the unit returned by Entities() / EntityByTuple().
Range fields summarize the instances:
- PriceInputRange / PriceOutputRange: [min,max] over the NON-nil instance costs only; when every instance cost is nil the range is {nil,nil} (no nil-deref, no spurious zero). Indices: [0]=min, [1]=max.
- ContextRange / MaxOutputRange: [min,max] over instance context/max-output.
func AttachEntityMetadata ¶ added in v0.2.5
func AttachEntityMetadata(ents []Entity, meta []EntityMetadata) []Entity
AttachEntityMetadata runs the same join over the provided entities and metadata set and returns the attached entities followed by any newly synthesized standalone entities. It is pure (no store access; inputs never mutated) and re-attaches existing standalones instead of duplicating them, so a second call with the same metadata set yields the same result with no growing standalone tail.
The unlinked disagreements are intentionally not returned here — this is the CLI overlay entry point, where an unmatched-but-family-known metadata id is simply not surfaced. Callers that need the unlinked report (codegen) call JoinEntityMetadata.
func Entities ¶ added in v0.2.3
func Entities() []Entity
Entities returns every model entity in the static registry, each with its instances and aggregate views populated. The slice is ordered deterministically by first-seen entity key.
The result is a DEFENSIVE DEEP COPY: every returned Entity (and all of its slices and price pointers) is independent of the memoized registry index and of every other returned Entity. Mutating a returned value can never corrupt the registry or alias another entity.
func EntityByTuple ¶ added in v0.2.3
func EntityByTuple(family Family, variant, version, paramSize string, identityModifiers ...string) (Entity, bool)
EntityByTuple looks up a single entity by its identity tuple: family, variant, version, paramSize, and any identity-class modifiers. The bool reports whether a matching entity exists. Lookup is by EntityRef.String() equality, so the modifier arguments are order-independent.
paramSize is the canonical parameter-size token (e.g. "70b", "8b"), or "" when size is unknown. A non-empty paramSize produces a #-segment in the lookup key, distinguishing sized entities (e.g. "llama@3.3#70b{instruct}") from entities with no curated size ("llama@3.3{instruct}").
The supplied modifiers are passed through EntityModifiers(_, family), the same identity-class projection used to build the index keys: attribute-class tokens are dropped and the remainder canonicalized, so a caller need not pre-filter. The returned Entity is a defensive deep copy (see Entities).
func (Entity) Ancestors ¶ added in v0.2.3
Ancestors returns the transitive set of parent EntityRefs reachable from this entity's lineage, via a cycle-safe depth-first traversal of the curated derivation DAG. The first hop comes from the entity's own Lineage edges (as populated at codegen); deeper hops follow the curated forward index. When the entity carries no edges directly, the curated index keyed by its Ref seeds the traversal — exact (sized) key first, then the size-stripped key so a size-agnostic curated edge is inherited by every sized sibling (see forwardSeed). A cycle never loops.
func (Entity) Descendants ¶ added in v0.2.3
Descendants returns the transitive set of child EntityRefs derived (directly or indirectly) from this entity, via a cycle-safe depth-first traversal of the curated derivation DAG's reverse edges. The root lookup is exact (sized) key first, then the size-stripped key so a size-agnostic parent edge yields descendants for every sized sibling (see reverseRootKey).
type EntityMetadata ¶ added in v0.2.5
type EntityMetadata struct {
// MetadataID is the stable models.dev metadata key (e.g. "zhipuai/glm-4.6").
MetadataID MetadataID
// Name is the display name.
Name string
// Description is the model description.
Description string
// License is the license identifier or name.
License string
// Links are the model's reference links; upstream weights[] rows fold in with
// Type == LinkWeights. nil when the source lists none.
Links []ModelLink
// Benchmarks are the lab-reported benchmark claims. nil when the source lists none.
Benchmarks []BenchmarkResult
// Source is the ingest attestation — the data source this metadata was read
// from (DataSourceModelsDev). It is DataSourceNone on a value that has not
// been assigned a source.
Source DataSourceID
// LastSynced is an RFC3339 timestamp; empty on baked rows until a sync occurs.
LastSynced string
// RawFamily is the upstream models.json `family` value verbatim (e.g. "gemini",
// "nemotron") — the SAME raw-family signal the catalog enrichment pipeline feeds
// to ParseFamilyDetailed. It is internal provenance used ONLY to key the
// metadata<->entity join's family-PRESENCE gate off the same canonicalization the
// catalog side uses, so an over-captured compound family (e.g. "gemini-omni" from
// the id-only decomposition) is not mistaken for an absent family and wrongly
// synthesized as a standalone. It is NOT part of the public JSON contract
// (json:"-") — the entity KEY is still the mechanical decomposition — but it IS
// persisted by the store (entity_metadata.raw_family) and round-trips through
// UpsertEntityMetadata / QueryEntityMetadata, so a synced/cached row keeps the same
// signal the baked rows carry. It is empty ("") only for a value that never had one:
// a legacy pre-column cache row until it is re-synced, or a hand-constructed
// EntityMetadata; the presence gate falls back to the mechanical family in that case.
RawFamily Family `json:"-"`
}
EntityMetadata holds the provider-agnostic model facts models.dev publishes on its models.json side: description, license, reference links, and lab-reported benchmark claims, keyed by the stable MetadataID.
It carries NO status field: status is not present in models.json — it is an api.json / instance-level fact and lives on ModelInfo only. A single EntityMetadata attaches to at most one Entity (Entity.Metadata); the join is computed at load time by the metadata↔entity adapter.
func MergeEntityMetadata ¶ added in v0.2.5
func MergeEntityMetadata(static, cached []EntityMetadata) []EntityMetadata
MergeEntityMetadata merges baked (static) and cached entity-metadata lists, deduplicating by MetadataID. When both sources carry the same MetadataID the row with the more recent LastSynced timestamp wins; since LastSynced is an RFC3339 string, lexicographic comparison correctly orders recency and a baked row (empty LastSynced) always loses to any synced row.
The result has UNION semantics (the MergeModels precedent): a MetadataID present in only one source is always retained — in particular a BAKED-ONLY row (never re-synced) SURVIVES a sync of a disjoint set. Output is sorted ascending by MetadataID for deterministic ordering.
func ParseModelsJSON ¶ added in v0.2.5
func ParseModelsJSON(data []byte) ([]EntityMetadata, error)
ParseModelsJSON decodes a models.json artifact (provider-agnostic model facts, keyed by canonical <lab>/<model> id) into the public EntityMetadata slice. It is the SAME decode path Client.FetchModelMetadata uses. A malformed benchmark score (a JSON string) is captured per row on ScoreRaw and never fails the parse; no row is dropped. Source and LastSynced are left zero — the caller assigns ingest provenance.
type EntityRef ¶ added in v0.2.3
type EntityRef struct {
Family Family
Variant string
Version string
ParamSize string // canonical parameter-size token, e.g. "70b"; empty when unknown
Modifier []string // identity-class modifiers only, canonical order
}
EntityRef is the canonical IDENTITY of a model entity — the tuple that determines whether two provider/host instances are "the same model". It is the comparable map key for entity grouping (via EntityRef.String) and doubles as the parent reference in a lineage edge (see LineageEdge).
Identity is (Family, Variant, Version, ParamSize) PLUS the identity-class modifiers in Modifier. Crucially:
- Version is the IDENTITY version (e.g. "4.5"), NOT a release date. EntityRef deliberately has NO Date field: a date is a per-release attribute, not part of identity. Do not conflate EntityRef's "@version" with formatCanonical's "@date".
- ParamSize is the canonical parameter-size token (e.g. "70b", "8b"). It is part of entity identity because "llama@3.3#70b{instruct}" and "llama@3.3#8b{instruct}" are distinct models. Empty when size is unknown.
- Modifier holds ONLY identity-class modifiers (see EntityModifiers / ClassifyModifier). Attribute-class modifiers and per-instance attributes (host, price, quant, …) are NEVER part of EntityRef and NEVER appear in the key string.
Because Modifier is a slice, an EntityRef value is not itself comparable and cannot be used directly as a map key; use EntityRef.String() as the key.
func (EntityRef) String ¶ added in v0.2.3
String returns the canonical comparable key for this entity:
family[/variant][@version][#paramsize]{identity-mods}
Rules:
- "/variant" is appended only when Variant is non-empty.
- "@version" is appended only when Version is non-empty (this is the IDENTITY version, never a date).
- "#paramsize" is appended only when ParamSize is non-empty. It is placed AFTER @version and BEFORE {identity-mods}. The '#' sentinel was chosen because it does not collide with any existing segment character. When ParamSize is empty, the segment is OMITTED ENTIRELY so every existing key remains byte-identical to its pre-paramsize value.
- "{identity-mods}" is appended only when at least one identity modifier is present; the tokens are de-duplicated and rendered in canonical order (CanonicalizeModifiers), comma-separated. The braces are OMITTED entirely when there are no identity modifiers.
- The "[attributes]" segment is NEVER part of this key (attributes do not affect identity).
Two EntityRefs whose Modifier slices are permutations of the same identity-mod set produce the IDENTICAL key.
type EntitySource ¶ added in v0.2.4
type EntitySource struct {
EntityKey string
SourceID DataSourceID
}
EntitySource is one row of the BCNF join table relating an entity to a data source that attests it. The primary key is the composite (EntityKey, SourceID); an entity attested by N sources has N rows. EntityKey is an EntityRef.String() value; SourceID is a FK to DataSource.
Attestation rule (the join's existence condition, applied by the registry aggregate in registry.go's loadEntityIndex): every static row attests DataSourceModelsDev — a row whose Source carrier is empty (DataSourceNone) means the models.dev origin is implicit; a row whose Source names a further, distinct source (e.g. ollama) is a models.dev row ENRICHED with that source's data, so it DUAL-attests BOTH DataSourceModelsDev AND that source. Thus a pure models.dev entity has one row {models.dev} and an ollama-enriched entity has two rows {models.dev, ollama}. The same rule is stated at registry.go's aggregate comment and the parse/data/datasources.json _comment.
type ErrAPIUnavailable ¶
ErrAPIUnavailable is returned when the models.dev API cannot be reached after one or more attempts. Cause holds the underlying network or HTTP error.
Use errors.As to extract structured fields; use Unwrap to inspect the root cause via errors.Is.
func (*ErrAPIUnavailable) Error ¶
func (e *ErrAPIUnavailable) Error() string
Error implements the error interface. Format: "bestiary: API unavailable after <n> attempt(s) at <url>: <cause>"
func (*ErrAPIUnavailable) Unwrap ¶
func (e *ErrAPIUnavailable) Unwrap() error
Unwrap returns the underlying cause so that errors.Is and errors.As can traverse the error chain.
type ErrAmbiguous ¶
type ErrAmbiguous struct {
// Input is the raw string passed to Resolve.
Input string
// Scheme is the CanonicalScheme that was active during resolution.
Scheme CanonicalScheme
// Candidates lists all matching ModelRefs, grouped by distinct Canonical.
Candidates []ModelRef
// PURLMissedNamespace is set when the PURL namespace (provider segment) had
// zero matches and a loose-match fallback was performed. The value is the
// namespace string that missed (e.g. "totally-unknown-ns").
// Empty when no PURL namespace miss occurred.
PURLMissedNamespace string
// RehostProviders is the deduplicated list of providers (in stable first-seen
// order) that host at least one of the matching models but are NOT the
// canonical/originating provider for the family. Populated at both ErrAmbiguous
// construction sites in resolve.go (multi-group case and PURL loose-fallback
// case). Empty when no rehost providers exist in the match set.
RehostProviders []Provider
}
ErrAmbiguous is returned by Resolve when the input string matches models with two or more distinct Canonical identities (e.g., "claude" matches claude/opus, claude/sonnet, and claude/haiku simultaneously).
It is distinct from cross-provider hosting: if multiple providers host the same Canonical, Resolve returns []ModelRef with err == nil.
What: the raw input string that triggered the ambiguity. Scheme: the CanonicalScheme used during resolution. Candidates: the list of ModelRefs that matched, one per distinct Canonical. PURLMissedNamespace: when non-empty, identifies the PURL namespace (provider) that had zero matches, triggering a loose-match fallback. (Fix #1)
Use errors.As to extract structured fields. The Error() message names all 6 actionable-error elements per [C-actionable-errors]:
- What went wrong (ambiguous input),
- Why it happened (multiple distinct canonicals matched),
- Where it failed (Resolve),
- When it failed (during model lookup / resolution step),
- What it means for the caller (the query cannot be resolved unambiguously),
- How to fix it (refine input or use --format=raw).
func (*ErrAmbiguous) Error ¶
func (e *ErrAmbiguous) Error() string
Error implements the error interface with an actionable message. All 6 elements from the [C-actionable-errors] constraint are present: What, Why, Where, When, What it means for the caller, and How to fix.
type ErrNotFound ¶
type ErrNotFound struct {
// What describes the resource kind that was not found (e.g., "model").
What string
// Key is the identifier that was searched for (e.g., model ID).
Key string
}
ErrNotFound is returned when a requested resource cannot be located in the local store or remote API.
What identifies the resource kind (e.g., "model"), and Key is the lookup value that was not found. Use errors.As to extract structured fields.
ErrNotFound has no Unwrap method by design: it is a sentinel-style error with no wrapped cause. Use errors.As to match.
func (*ErrNotFound) Error ¶
func (e *ErrNotFound) Error() string
Error implements the error interface. Format: "bestiary: <what> not found: <key>"
type Family ¶
type Family string
Family identifies the model family from the models.dev API. It is a named string type for type safety, following the same pattern as Provider.
const ( FamilyHy Family = "Hy" FamilyAgi Family = "agi" FamilyAllenai Family = "allenai" FamilyAlpha Family = "alpha" FamilyAura Family = "aura" FamilyAuto Family = "auto" FamilyBaichuan Family = "baichuan" FamilyBart Family = "bart" FamilyBge Family = "bge" FamilyBigPickle Family = "big-pickle" FamilyCanopylabs Family = "canopylabs" FamilyChutesai Family = "chutesai" FamilyClaude Family = "claude" FamilyClaudeFable Family = "claude-fable" FamilyClaudeHaiku Family = "claude-haiku" FamilyClaudeOpus Family = "claude-opus" FamilyClaudeSonnet Family = "claude-sonnet" FamilyCodestral Family = "codestral" FamilyCodestralEmbed Family = "codestral-embed" FamilyCogito Family = "cogito" FamilyCohereEmbed Family = "cohere-embed" FamilyCommand Family = "command" FamilyCommandA Family = "command-a" FamilyCommandR Family = "command-r" FamilyDallE Family = "dall-e" FamilyDeepSeek Family = "deepseek" FamilyDeepSeekFlash Family = "deepseek-flash" FamilyDeepSeekFlashFree Family = "deepseek-flash-free" FamilyDeepSeekThinking Family = "deepseek-thinking" FamilyDevstral Family = "devstral" FamilyDistilbert Family = "distilbert" FamilyElevenlabs Family = "elevenlabs" FamilyErnie Family = "ernie" FamilyFlux Family = "flux" FamilyFugu Family = "fugu" FamilyGemini Family = "gemini" FamilyGeminiEmbedding Family = "gemini-embedding" FamilyGeminiFlash Family = "gemini-flash" FamilyGeminiFlashLite Family = "gemini-flash-lite" FamilyGeminiPro Family = "gemini-pro" FamilyGemma Family = "gemma" FamilyGLM Family = "glm" FamilyGLMAir Family = "glm-air" FamilyGLMFlash Family = "glm-flash" FamilyGLMFree Family = "glm-free" FamilyGLMZ Family = "glm-z" FamilyGlmv Family = "glmv" FamilyGPT Family = "gpt" FamilyGPTCodex Family = "gpt-codex" FamilyGPTCodexMini Family = "gpt-codex-mini" FamilyGPTCodexSpark Family = "gpt-codex-spark" FamilyGPTImage Family = "gpt-image" FamilyGPTLuna Family = "gpt-luna" FamilyGPTMini Family = "gpt-mini" FamilyGPTNano Family = "gpt-nano" FamilyGPTOss Family = "gpt-oss" FamilyGPTPro Family = "gpt-pro" FamilyGPTSol Family = "gpt-sol" FamilyGPTTerra Family = "gpt-terra" FamilyGranite Family = "granite" FamilyGrok Family = "grok" FamilyGrokBuild Family = "grok-build" FamilyGroq Family = "groq" FamilyHermes Family = "hermes" FamilyHunyuan Family = "hunyuan" FamilyHy3 Family = "hy3" FamilyHy3Free Family = "hy3-free" FamilyIdeogram Family = "ideogram" FamilyImagen Family = "imagen" FamilyIndictrans Family = "indictrans" FamilyJais Family = "jais" FamilyJamba Family = "jamba" FamilyKatCoder Family = "kat-coder" FamilyKimi Family = "kimi" FamilyKimiFree Family = "kimi-free" FamilyKimiK2 Family = "kimi-k2" FamilyKimiThinking Family = "kimi-thinking" FamilyLaguna Family = "laguna" FamilyLing Family = "ling" FamilyLingFlashFree Family = "ling-flash-free" FamilyLiquid Family = "liquid" FamilyLlama Family = "llama" FamilyLongcat Family = "longcat" FamilyLucid Family = "lucid" FamilyLyria Family = "lyria" FamilyM2m Family = "m2m" FamilyMagistral Family = "magistral" FamilyMagistralMedium Family = "magistral-medium" FamilyMagistralSmall Family = "magistral-small" FamilyMai Family = "mai" FamilyMelotts Family = "melotts" FamilyMercury Family = "mercury" FamilyMimo Family = "mimo" FamilyMimoFlashFree Family = "mimo-flash-free" FamilyMimoOmniFree Family = "mimo-omni-free" FamilyMimoProFree Family = "mimo-pro-free" FamilyMimoV2Omni Family = "mimo-v2-omni" FamilyMimoV2Pro Family = "mimo-v2-pro" FamilyMimoV25 Family = "mimo-v2.5" FamilyMimoV25Free Family = "mimo-v2.5-free" FamilyMimoV25Pro Family = "mimo-v2.5-pro" FamilyMiniMax Family = "minimax" FamilyMiniMaxFree Family = "minimax-free" FamilyMiniMaxM25 Family = "minimax-m2.5" FamilyMiniMaxM27 Family = "minimax-m2.7" FamilyMiniMaxM3 Family = "minimax-m3" FamilyMiniMaxM3Free Family = "minimax-m3-free" FamilyMinistral Family = "ministral" FamilyMistral Family = "mistral" FamilyMistralEmbed Family = "mistral-embed" FamilyMistralLarge Family = "mistral-large" FamilyMistralMedium Family = "mistral-medium" FamilyMistralNemo Family = "mistral-nemo" FamilyMistralSmall Family = "mistral-small" FamilyMixtral Family = "mixtral" FamilyMmPoly Family = "mm-poly" FamilyModelRouter Family = "model-router" FamilyMorph Family = "morph" FamilyMuse Family = "muse" FamilyNanoBanana Family = "nano-banana" FamilyNemotron Family = "nemotron" FamilyNemotronFree Family = "nemotron-free" FamilyNorth Family = "north" FamilyNorthFree Family = "north-free" FamilyNousresearch Family = "nousresearch" FamilyNova Family = "nova" FamilyNovaLite Family = "nova-lite" FamilyNovaMicro Family = "nova-micro" FamilyNovaPro Family = "nova-pro" FamilyO Family = "o" FamilyOMini Family = "o-mini" FamilyOPro Family = "o-pro" FamilyOsmosis Family = "osmosis" FamilyPalmyra Family = "palmyra" FamilyPhi Family = "phi" FamilyPixtral Family = "pixtral" FamilyPlamo Family = "plamo" FamilyQvq Family = "qvq" FamilyQwen Family = "qwen" FamilyQwenFree Family = "qwen-free" FamilyQwen35 Family = "qwen3.5" FamilyQwen36 Family = "qwen3.6" FamilyQwen37Max Family = "qwen3.7-max" FamilyQwen37Plus Family = "qwen3.7-plus" FamilyQwerky Family = "qwerky" FamilyRay Family = "ray" FamilyRecraft Family = "recraft" FamilyReka Family = "reka" FamilyRing Family = "ring" FamilyRing1TFree Family = "ring-1t-free" FamilyRnj Family = "rnj" FamilyRunway Family = "runway" FamilySarvam Family = "sarvam" FamilySeed Family = "seed" FamilySmartTurn Family = "smart-turn" FamilySolarMini Family = "solar-mini" FamilySolarPro Family = "solar-pro" FamilySonar Family = "sonar" FamilySonarDeepResearch Family = "sonar-deep-research" FamilySonarPro Family = "sonar-pro" FamilySonarReasoning Family = "sonar-reasoning" FamilySora Family = "sora" FamilyStableDiffusion Family = "stable-diffusion" FamilyStep Family = "step" FamilyTako Family = "tako" FamilyTextEmbedding Family = "text-embedding" FamilyTitanEmbed Family = "titan-embed" FamilyTopazlabs Family = "topazlabs" FamilyTrinity Family = "trinity" FamilyTrinityMini Family = "trinity-mini" FamilyUnsloth Family = "unsloth" FamilyV0 Family = "v0" FamilyVenice Family = "venice" FamilyVeo Family = "veo" FamilyVoxtral Family = "voxtral" FamilyVoyage Family = "voyage" FamilyWhisper Family = "whisper" FamilyYi Family = "yi" )
FamilyMythologic and FamilyHuginn are the two parent base families of the MythoMax-L2-13B merge. MythoMax is a weight merge of MythoLogic-L2 and Huginn, so the merge edge carries these as STANDALONE parent families (not as llama-variants): the parents are distinct artifacts in their own right, and a merge by definition combines >= 2 separate parents. Neither is emitted by the API as a base family value, so both are registered here so lineage parent-validation recognizes them.
const FamilySolar Family = "solar"
FamilySolar is the curated base family for Upstage's SOLAR models. The models.dev API never emits a bare "solar" family value — only the variant-qualified solar-mini / solar-pro reach allFamilies (families_gen.go) — yet the base family is needed as a valid lineage derivation PARENT (a SOLAR finetune names "solar" as its base). It is registered here as a hand-curated supplement to the generated set; see curatedBaseFamilies.
func Families ¶
func Families() []Family
Families returns all known Family values as a defensive copy.
func InferFamilyFromID ¶
InferFamilyFromID is the empty-family fallback for models whose API family field is empty (~25% of models). It uses the model ID as a heuristic signal.
Algorithm:
- Split id on "-".
- Consume trailing tokens that are purely version-like (all digits, or match a version pattern) — these are noise, not signal.
- Take the first remaining token as the inferred family.
- Return "" when no alphabetic-leading token is found.
The provider parameter is reserved for future provider-specific heuristics and is not currently used.
func InferFamilyFromIDWithVariant ¶ added in v0.2.0
InferFamilyFromIDWithVariant is the extended empty-family fallback for models whose API family field is empty (~25% of models). Unlike InferFamilyFromID, it extracts (Family, Variant, Version) by:
- Attempting the Δ2′ modifier-strip path: tentatively strip a trailing modifier to expose a hidden date, then decompose and apply two commit guards.
- Existing flow: strip trailing date, feed ID to ParseFamilyWithVersion, then fall back to first-token-only if no decomposition found.
This ensures (Family, Variant, Version) is consistent across providers regardless of whether raw_family is empty or populated.
Examples:
InferFamilyFromIDWithVariant("claude-opus-4-5-20251101", "nano-gpt") → ("claude", "opus", "4.5")
InferFamilyFromIDWithVariant("claude-opus-4-6", "some-provider") → ("claude", "opus", "4.6")
InferFamilyFromIDWithVariant("gpt-4o", "openai") → ("gpt", "", "4o")
InferFamilyFromIDWithVariant("claude-opus-4-1-20250805-thinking", "302ai") → ("claude", "opus", "4.1")
The provider parameter is reserved for future provider-specific heuristics and is not currently used.
this is a thin wrapper that applies the letter-prefix series split to the inner inference result, so the empty-raw primitive is SELF-CONSISTENT with the canonical ParseFamilyDetailed path (kimi-k2 → (kimi,k,2), minimax-m1 → (minimax,m,1), and the compound-family recovery kimi-k2-0905 → kimi).
func ParseFamily ¶
ParseFamily takes a raw API family value and returns (Family, variant).
Resolution order (first match wins):
- family_overrides table — explicit (raw → Family, variant) mappings.
- Versioned-variant patterns — v/k/m/no-prefix and hyphen-separated versions. For hyphen-version matches, the non-numeric prefix is itself resolved via overrides.
- Suffix-stripping table — strip the longest matching suffix to identify variant.
- Fallback — return (raw, "") unchanged.
ParseFamily is deterministic: the same input always produces the same output. Empty raw returns ("", "").
func ParseFamilyWithVersion ¶ added in v0.2.0
ParseFamilyWithVersion takes a raw API family value and returns (Family, variant, version) — a three-way decomposition that separates the semantic model version (e.g. "4.5") from the variant (e.g. "opus").
This is an additive companion to ParseFamily. For inputs that ParseFamily already handles correctly (overrides, v/k/m/no-prefix patterns, suffix stripping), the family and variant return values are identical to ParseFamily. The new third return value extracts the numeric version component when the raw family string embeds one via the hyphen-version pattern or a dot-version tail (e.g. "gemini-2.5-flash").
Resolution order (first match wins):
- family_overrides table — no version for override entries.
- hyphen-version pattern — converts hyphenated digits to dot notation: "claude-opus-4-5" → (claude, opus, 4.5); "llama-3-1" → (llama, "", 3.1).
- Other versioned patterns (v/k/m/no-prefix) — version stays in variant, version="".
- Suffix stripping + dot-version detection: "gemini-2.5-flash" → suffix strip yields base="gemini-2.5"; detect "-N.M" tail → (gemini, flash, 2.5).
- Dot-version fallback: "gemini-2.5" → (gemini, "", 2.5).
- Pure fallback — same as ParseFamily, version="".
ParseFamilyWithVersion is deterministic. Empty raw returns ("", "", "").
func (Family) CanonicalProvider ¶ added in v0.2.0
CanonicalProvider returns the originating/canonical provider for this Family.
When the family is a well-known model family with a clear original publisher, the canonical provider is returned. When the family has no canonical mapping (community models, multi-org models, or unmapped families), the empty Provider is returned. Resolve falls back to ErrAmbiguous in that case.
The mapping is a static switch populated at source time. Unknown families use the empty string sentinel rather than a wrong-but-plausible guess.
TODO: review and fill in additional canonical-provider mappings beyond the initial well-known set.
func (Family) IsKnown ¶
IsKnown reports whether f is a recognized Family. The known set is generated from the models.dev API at codegen time (allFamilies, families_gen.go) plus the hand-curated curatedBaseFamilies supplement (base families the API omits but that lineage / canonical references depend on, e.g. "solar").
func (Family) MarshalText ¶
MarshalText implements encoding.TextMarshaler. It is permissive: any Family value (known or unknown) can be marshaled.
func (*Family) UnmarshalText ¶
UnmarshalText implements encoding.TextUnmarshaler. It is permissive: any byte slice is accepted; use IsKnown() to validate.
type Harness ¶
type Harness string
Harness identifies the coding tool or AI-assisted development environment that is driving the model interaction.
func Harnesses ¶
func Harnesses() []Harness
Harnesses returns all known Harness values. The returned slice is a defensive copy — modifying it does not affect the package state.
func (Harness) MarshalText ¶
MarshalText implements encoding.TextMarshaler.
func (*Harness) UnmarshalText ¶
UnmarshalText implements encoding.TextUnmarshaler. It accepts any string value; use IsKnown() to validate.
type Host ¶ added in v0.2.3
type Host string
Host identifies the serving host / backend infrastructure that actually runs a model instance, as distinct from the Provider (the organization that offers or sells access to it). The same logical model+provider may be served from different backends (e.g. an OpenAI model served via Azure), and the same host may back many providers. Host is therefore a per-instance ATTRIBUTE: it never participates in entity identity (see EntityRef) and is rendered in the "[attributes]" segment of a canonical string, never in the "{identity-mods}" key segment.
Host is a string type (not a closed int enum) for the same reason Provider is: the set of serving backends is open and grows over time. Well-known hosts have named constants for type-safe call sites; unrecognized hosts are still representable verbatim. ModelInfo.Host is populated by DetectHost, which matches a model ID against the curated host-prefix table (parse/data/hosts.json); an unrecognized or absent prefix yields HostNone.
const ( // HostNone is the zero value: the serving host is unknown or unspecified. // A genuine "no distinct host" record (e.g. a provider serving its own // model directly) is also represented as HostNone. HostNone Host = "" // HostAzure is Microsoft Azure (e.g. Azure OpenAI / Azure AI Foundry). HostAzure Host = "azure" // HostAWS is Amazon Web Services (e.g. Bedrock / SageMaker). HostAWS Host = "aws" // HostGCP is Google Cloud Platform (e.g. Vertex AI). HostGCP Host = "gcp" // HostCloudflare is Cloudflare (e.g. Workers AI). HostCloudflare Host = "cloudflare" )
type InputFormat ¶ added in v0.2.0
type InputFormat string
InputFormat specifies the input scheme for parsing a model identity string in the bestiary show command.
The default is InputFormatPeasant (bestiary canonical form). Other formats must be explicitly selected via --format on the CLI.
const ( // InputFormatPeasant is the bestiary canonical form: // [<provider>/]<family>[/<variant>[/<version>]][@<date>] // This is the default input format. InputFormatPeasant InputFormat = "peasant" // InputFormatHuggingFace is the HuggingFace Hub form: // <provider>/<raw-model-id> InputFormatHuggingFace InputFormat = "huggingface" // InputFormatPURL is the Package URL (PURL) form: // pkg:huggingface/<provider>/<raw-model-id> InputFormatPURL InputFormat = "purl" // InputFormatRaw is the raw API model ID (exact match): // <raw-model-id> InputFormatRaw InputFormat = "raw" )
func ParseInputFormat ¶ added in v0.2.0
func ParseInputFormat(s string) (InputFormat, error)
ParseInputFormat converts a --format flag string to an InputFormat. Accepted values: "peasant", "huggingface", "hf", "purl", "raw" (case-insensitive). Returns an error if the string is not a recognized input format. Used by CLI flag parsing (--format flag in cmd/bestiary show).
type LineageEdge ¶ added in v0.2.3
type LineageEdge struct {
Parent EntityRef
Kind DerivationKind
}
LineageEdge is one directed derivation relationship: this model was derived from Parent via technique Kind. A model with multiple parents (e.g. a MERGE) carries multiple LineageEdges; Parent is a full EntityRef so a parent can be resolved to its own entity (and its own ancestors) for DAG traversal.
func LineageFor ¶ added in v0.2.3
func LineageFor(id ModelID) []LineageEdge
LineageFor returns the curated parent derivation edges for the model identified by id, or nil when no lineage is curated for it. It is the population entry point used by codegen to bake ModelInfo.Lineage, and a convenience over LineageRecordFor when the provenance flags are not needed.
type LineageRecord ¶ added in v0.2.3
type LineageRecord struct {
Child EntityRef
Edges []LineageEdge
Real bool
}
LineageRecord is the curated lineage of a single model: the set of parent derivation edges plus the provenance flags that describe how the record was sourced. It is returned by LineageRecordFor.
- Child is the child model's identity as a node in the derivation DAG (used by Ancestors / Descendants traversal).
- Edges holds one LineageEdge per parent. A MERGE carries >= 2 edges.
- Real reports whether the child model exists in the models.dev catalog (an attested record). When false the entry is a SYNTHETIC / catalog-absent fixture: the child itself is not in the catalog (only its parents are), and the edge is curated-only. The flag exists so consumers never mistake a synthetic fixture for an attested catalog lineage.
func LineageRecordFor ¶ added in v0.2.3
func LineageRecordFor(id ModelID) (LineageRecord, bool)
LineageRecordFor returns the curated LineageRecord for the model identified by id, and whether one exists. Matching is by the curated child key (the lowercase model ID or its post-'/' segment), so it resolves both bare and namespaced ID forms — and SYNTHETIC / catalog-absent children too (their Real field is false).
type LinkType ¶ added in v0.2.5
type LinkType int
LinkType classifies a model reference link (the type tag on a models.json links[] row, and the synthetic tag for a folded-in weights[] row). It is a closed int enum.
The zero value is LinkOther: on this ELEMENT type the upstream type tag is always present (every link arrives with a type), so absence is impossible and a zero value can only mean "the upstream tag was unrecognized". The fail-safe bucket therefore sits at the zero value, and the raw token is carried on ModelLink.TypeRaw. This Other-at-zero convention deliberately differs from ModelStatus's None-at-zero convention; see the file-level comment.
const ( // LinkOther is the zero value and fail-safe: an unrecognized link type. The // raw token is carried on ModelLink.TypeRaw. LinkOther LinkType = iota // LinkAnnouncement: a launch or announcement post. LinkAnnouncement // LinkBlog: a blog article. LinkBlog // LinkDocs: product or API documentation. LinkDocs // LinkLicense: the model's license text. LinkLicense // LinkModelCard: a model card (e.g. on a model hub). LinkModelCard // LinkPaper: a research paper or technical report. LinkPaper // LinkWeights: a downloadable-weights reference (a folded-in weights[] row). LinkWeights )
func (LinkType) IsKnown ¶ added in v0.2.5
IsKnown reports whether t is a named constant in this package. LinkOther is considered known (a named member of the enum); only out-of-range integers return false.
func (LinkType) MarshalText ¶ added in v0.2.5
MarshalText implements encoding.TextMarshaler, emitting the canonical wire name (so LinkType serializes as a JSON string, not an integer). An out-of-range value is a programming error and yields an actionable error.
func (LinkType) String ¶ added in v0.2.5
String returns the canonical lowercase wire name of the link type. An out-of-range value renders as "linktype(<n>)" so logs never silently drop an unexpected value.
func (*LinkType) UnmarshalText ¶ added in v0.2.5
UnmarshalText implements encoding.TextUnmarshaler, parsing a canonical wire name back into a LinkType. Parsing is case-insensitive. An unrecognized token yields an actionable error.
type MetadataID ¶ added in v0.2.5
type MetadataID string
MetadataID is the lab-scoped models.dev metadata key for a model's provider-agnostic facts (e.g. "zhipuai/glm-4.6"). It is the stable upstream key for an EntityMetadata row and is immune to entity re-keying, so the store and the join adapter key metadata by it rather than by an EntityRef.String().
type Modalities ¶
Modalities groups the input and output modalities supported by a model.
type Modality ¶
type Modality int
Modality represents a type of input or output an AI model can process.
func (Modality) MarshalText ¶
MarshalText implements encoding.TextMarshaler.
func (Modality) String ¶
String returns the human-readable name of the modality. For out-of-range values it returns "Modality(<n>)" rather than panicking.
func (*Modality) UnmarshalText ¶
UnmarshalText implements encoding.TextUnmarshaler.
type ModelID ¶
type ModelID string
ModelID is the canonical identifier for an AI model (e.g., "claude-3-5-sonnet-20241022").
const ( Model__302AI__ChatGPT__4o__Latest ModelID = "chatgpt-4o-latest" Model__302AI__Claude__3__5__Haiku__3_5__20241022 ModelID = "claude-3-5-haiku-20241022" Model__302AI__Claude__3__5__Haiku__3_5__Latest ModelID = "claude-3-5-haiku-latest" Model__302AI__Claude__Haiku__4_5 ModelID = "claude-haiku-4-5" Model__302AI__Claude__Haiku__4_5__20251001 ModelID = "claude-haiku-4-5-20251001" Model__302AI__Claude__Opus__4_1__20250805 ModelID = "claude-opus-4-1-20250805" Model__302AI__Claude__Opus__4_1__Thinking__20250805 ModelID = "claude-opus-4-1-20250805-thinking" Model__302AI__Claude__Opus__4_5 ModelID = "claude-opus-4-5" Model__302AI__Claude__Opus__4_5__20251101 ModelID = "claude-opus-4-5-20251101" Model__302AI__Claude__Opus__4_5__Thinking__20251101 ModelID = "claude-opus-4-5-20251101-thinking" Model__302AI__Claude__Opus__4_6 ModelID = "claude-opus-4-6" Model__302AI__Claude__Opus__4_6__Thinking ModelID = "claude-opus-4-6-thinking" Model__302AI__Claude__Opus__4_7 ModelID = "claude-opus-4-7" Model__302AI__Claude__Opus__4__20250514 ModelID = "claude-opus-4-20250514" Model__302AI__Claude__Sonnet__4_5 ModelID = "claude-sonnet-4-5" Model__302AI__Claude__Sonnet__4_5__20250929 ModelID = "claude-sonnet-4-5-20250929" Model__302AI__Claude__Sonnet__4_5__Thinking__20250929 ModelID = "claude-sonnet-4-5-20250929-thinking" Model__302AI__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__302AI__Claude__Sonnet__4_6__Thinking ModelID = "claude-sonnet-4-6-thinking" Model__302AI__Claude__Sonnet__4__20250514 ModelID = "claude-sonnet-4-20250514" Model__302AI__DeepSeek__Chat ModelID = "deepseek-chat" Model__302AI__DeepSeek__Reasoner__Thinking ModelID = "deepseek-reasoner" Model__302AI__DeepSeek__V3__2 ModelID = "deepseek-v3.2" Model__302AI__DeepSeek__V3__2__Thinking ModelID = "deepseek-v3.2-thinking" Model__302AI__Doubao__Seed__1__6__Thinking__250715__1_6__Thinking ModelID = "doubao-seed-1-6-thinking-250715" Model__302AI__Doubao__Seed__1__6__Vision__250815__1_6__Vision ModelID = "doubao-seed-1-6-vision-250815" Model__302AI__Doubao__Seed__1__8__251215__1_8 ModelID = "doubao-seed-1-8-251215" Model__302AI__Doubao__Seed__Code__Preview__251028__PreviewCode ModelID = "doubao-seed-code-preview-251028" Model__302AI__GLM__4_5 ModelID = "glm-4.5" Model__302AI__GLM__4_6 ModelID = "glm-4.6" Model__302AI__GLM__4_7 ModelID = "glm-4.7" Model__302AI__GLM__4__5__Air__4_5 ModelID = "glm-4.5-air" Model__302AI__GLM__4__5__Airx__4_5 ModelID = "glm-4.5-airx" Model__302AI__GLM__4__5__X__4_5 ModelID = "glm-4.5-x" Model__302AI__GLM__4__5v__4_5 ModelID = "glm-4.5v" Model__302AI__GLM__4__6v__4_6 ModelID = "glm-4.6v" Model__302AI__GLM__4__7__Flashx__4_7 ModelID = "glm-4.7-flashx" Model__302AI__GLM__5 ModelID = "glm-5" Model__302AI__GLM__5_1 ModelID = "glm-5.1" Model__302AI__GLM__5__Turbo ModelID = "glm-5-turbo" Model__302AI__GLM__5v__5__Turbo ModelID = "glm-5v-turbo" Model__302AI__GLM__For__Coding ModelID = "glm-for-coding" Model__302AI__GPT__4_1 ModelID = "gpt-4.1" Model__302AI__GPT__4__1__Mini__4_1 ModelID = "gpt-4.1-mini" Model__302AI__GPT__4__1__Nano__4_1 ModelID = "gpt-4.1-nano" Model__302AI__GPT__4o ModelID = "gpt-4o" Model__302AI__GPT__5 ModelID = "gpt-5" Model__302AI__GPT__5_1 ModelID = "gpt-5.1" Model__302AI__GPT__5_1__ChatLatest ModelID = "gpt-5.1-chat-latest" Model__302AI__GPT__5_2 ModelID = "gpt-5.2" Model__302AI__GPT__5_2__ChatLatest ModelID = "gpt-5.2-chat-latest" Model__302AI__GPT__5_4 ModelID = "gpt-5.4" Model__302AI__GPT__5__4__Mini__5_4 ModelID = "gpt-5.4-mini" Model__302AI__GPT__5__4__Mini__5_4__20260317 ModelID = "gpt-5.4-mini-2026-03-17" Model__302AI__GPT__5__4__Nano__5_4 ModelID = "gpt-5.4-nano" Model__302AI__GPT__5__4__Nano__5_4__20260317 ModelID = "gpt-5.4-nano-2026-03-17" Model__302AI__GPT__5__4__Pro__5_4 ModelID = "gpt-5.4-pro" Model__302AI__GPT__5__Mini__5 ModelID = "gpt-5-mini" Model__302AI__GPT__5__Pro__5 ModelID = "gpt-5-pro" Model__302AI__GPT__5__Thinking ModelID = "gpt-5-thinking" Model__302AI__Gemini__2__0__Flash__Lite__2_0 ModelID = "gemini-2.0-flash-lite" Model__302AI__Gemini__2__5__Flash__2_5 ModelID = "gemini-2.5-flash" Model__302AI__Gemini__2__5__Flash__Image__2_5 ModelID = "gemini-2.5-flash-image" Model__302AI__Gemini__2__5__Flash__Lite__Preview__2_5__Preview__20250926 ModelID = "gemini-2.5-flash-lite-preview-09-2025" Model__302AI__Gemini__2__5__Flash__Nothink__2_5 ModelID = "gemini-2.5-flash-nothink" Model__302AI__Gemini__2__5__Flash__Preview__2_5__Preview__20250926 ModelID = "gemini-2.5-flash-preview-09-2025" Model__302AI__Gemini__2__5__Pro__2_5 ModelID = "gemini-2.5-pro" Model__302AI__Gemini__3__1__Flash__Image__3_1__Preview ModelID = "gemini-3.1-flash-image-preview" Model__302AI__Gemini__3__Flash__3__Preview ModelID = "gemini-3-flash-preview" Model__302AI__Gemini__3__Pro__3__Preview ModelID = "gemini-3-pro-preview" Model__302AI__Gemini__3__Pro__Image__3__Preview ModelID = "gemini-3-pro-image-preview" Model__302AI__Grok__4_1 ModelID = "grok-4.1" Model__302AI__Grok__4_1__ReasoningFast ModelID = "grok-4-1-fast-reasoning" Model__302AI__Grok__4__1__Fast__Non__Reasoning__4_1__Non_Reasoning ModelID = "grok-4-1-fast-non-reasoning" Model__302AI__Grok__4__20__Beta__0309__4_20__Reasoning ModelID = "grok-4.20-beta-0309-reasoning" Model__302AI__Grok__4__20__Beta__0309__Non__Reasoning__4_20__Non_Reasoning ModelID = "grok-4.20-beta-0309-non-reasoning" Model__302AI__Grok__4__20__Multi__Agent__Beta__0309__4_20 ModelID = "grok-4.20-multi-agent-beta-0309" Model__302AI__Grok__4__Fast__Non__Reasoning__4__Non_Reasoning ModelID = "grok-4-fast-non-reasoning" Model__302AI__Grok__4__ReasoningFast ModelID = "grok-4-fast-reasoning" Model__302AI__Kimi__K2__0905__2__Preview ModelID = "kimi-k2-0905-preview" Model__302AI__Kimi__K2__2__Thinking ModelID = "kimi-k2-thinking" Model__302AI__Kimi__K2__2__ThinkingTurbo ModelID = "kimi-k2-thinking-turbo" Model__302AI__MiniMax__M1__1 ModelID = "MiniMax-M1" Model__302AI__MiniMax__M2__1__2_1 ModelID = "MiniMax-M2.1" Model__302AI__MiniMax__M2__2 ModelID = "MiniMax-M2" Model__302AI__MiniMax__M2__7__2_7 ModelID = "MiniMax-M2.7" Model__302AI__MiniMax__M2__7__2_7__Highspeed ModelID = "MiniMax-M2.7-highspeed" Model__302AI__Ministral__14b__2512 ModelID = "ministral-14b-2512" Model__302AI__Mistral__Large__2512 ModelID = "mistral-large-2512" Model__302AI__Qwen3__235b__A22b__3 ModelID = "qwen3-235b-a22b" Model__302AI__Qwen3__235b__A22b__Instruct__2507__3__Instruct ModelID = "qwen3-235b-a22b-instruct-2507" Model__302AI__Qwen3__30b__A3b__3 ModelID = "qwen3-30b-a3b" Model__302AI__Qwen3__Coder__480b__A35b__3__Instruct ModelID = "qwen3-coder-480b-a35b-instruct" Model__302AI__Qwen3__Max__3__20250923 ModelID = "qwen3-max-2025-09-23" Model__302AI__Qwen__Flash ModelID = "qwen-flash" Model__302AI__Qwen__Max__Latest ModelID = "qwen-max-latest" Model__302AI__Qwen__Plus ModelID = "qwen-plus" Model__AIHubMix__Alicloud__DeepSeek__V4__Flash ModelID = "alicloud-deepseek-v4-flash" Model__AIHubMix__Alicloud__DeepSeek__V4__Pro__Thinking ModelID = "alicloud-deepseek-v4-pro" Model__AIHubMix__Alicloud__GLM__5__1 ModelID = "alicloud-glm-5.1" Model__AIHubMix__Claude__Opus__4_6 ModelID = "claude-opus-4-6" Model__AIHubMix__Claude__Opus__4_6__Think ModelID = "claude-opus-4-6-think" Model__AIHubMix__Claude__Opus__4_7 ModelID = "claude-opus-4-7" Model__AIHubMix__Claude__Opus__4_7__Think ModelID = "claude-opus-4-7-think" Model__AIHubMix__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__AIHubMix__Claude__Opus__4_8__Think ModelID = "claude-opus-4-8-think" Model__AIHubMix__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__AIHubMix__Claude__Sonnet__4_6__Think ModelID = "claude-sonnet-4-6-think" Model__AIHubMix__Coding__GLM__5__1 ModelID = "coding-glm-5.1" Model__AIHubMix__Coding__GLM__5__1__Free ModelID = "coding-glm-5.1-free" Model__AIHubMix__Coding__MiniMax__M2__7__2_7 ModelID = "coding-minimax-m2.7" Model__AIHubMix__Coding__MiniMax__M2__7__2_7__Highspeed ModelID = "coding-minimax-m2.7-highspeed" Model__AIHubMix__Coding__MiniMax__M2__7__Free ModelID = "coding-minimax-m2.7-free" Model__AIHubMix__Coding__Xiaomi__Mimo__V2__5__2_5 ModelID = "coding-xiaomi-mimo-v2.5" Model__AIHubMix__Coding__Xiaomi__Mimo__V2__5__2_5__Pro ModelID = "coding-xiaomi-mimo-v2.5-pro" Model__AIHubMix__Deep__DeepSeek__V4__Flash ModelID = "deep-deepseek-v4-flash" Model__AIHubMix__Deep__DeepSeek__V4__Pro__Thinking ModelID = "deep-deepseek-v4-pro" Model__AIHubMix__Doubao__Seed__2__0__Lite__260428 ModelID = "doubao-seed-2-0-lite-260428" Model__AIHubMix__Doubao__Seed__2__0__Mini__260428 ModelID = "doubao-seed-2-0-mini-260428" Model__AIHubMix__Doubao__Seed__2__0__PreviewCode ModelID = "doubao-seed-2-0-code-preview" Model__AIHubMix__Doubao__Seed__2__0__Pro ModelID = "doubao-seed-2-0-pro" Model__AIHubMix__GLM__5_2 ModelID = "glm-5.2" Model__AIHubMix__GLM__5v__5__Turbo ModelID = "glm-5v-turbo" Model__AIHubMix__GPT__5_1 ModelID = "gpt-5.1" Model__AIHubMix__GPT__5_2 ModelID = "gpt-5.2" Model__AIHubMix__GPT__5_4 ModelID = "gpt-5.4" Model__AIHubMix__GPT__5_5 ModelID = "gpt-5.5" Model__AIHubMix__GPT__5__1__Codex__5_1 ModelID = "gpt-5.1-codex" Model__AIHubMix__GPT__5__1__Codex__Mini__5_1 ModelID = "gpt-5.1-codex-mini" Model__AIHubMix__GPT__5__2__Codex__5_2 ModelID = "gpt-5.2-codex" Model__AIHubMix__GPT__5__3__Codex__5_3 ModelID = "gpt-5.3-codex" Model__AIHubMix__GPT__5__4__Mini__5_4 ModelID = "gpt-5.4-mini" Model__AIHubMix__Gemini__2__5__Flash__2_5 ModelID = "gemini-2.5-flash" Model__AIHubMix__Gemini__2__5__Pro__2_5 ModelID = "gemini-2.5-pro" Model__AIHubMix__Gemini__3__1__Flash__Lite__3_1 ModelID = "gemini-3.1-flash-lite" Model__AIHubMix__Gemini__3__1__Pro__3_1__Preview ModelID = "gemini-3.1-pro-preview" Model__AIHubMix__Gemini__3__1__Pro__Preview__Customtools__3_1 ModelID = "gemini-3.1-pro-preview-customtools" Model__AIHubMix__Gemini__3__Flash__3__Preview ModelID = "gemini-3-flash-preview" Model__AIHubMix__Grok__4_3 ModelID = "grok-4.3" Model__AIHubMix__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__AIHubMix__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__AIHubMix__MiniMax__M2__7__2_7 ModelID = "minimax-m2.7" Model__AIHubMix__Qwen3__6__Flash__3_6 ModelID = "qwen3.6-flash" Model__AIHubMix__Qwen3__6__Max__3_6__Preview ModelID = "qwen3.6-max-preview" Model__AIHubMix__Qwen3__6__Plus__3_6 ModelID = "qwen3.6-plus" Model__AIHubMix__Qwen3__7__Max__3_7 ModelID = "qwen3.7-max" Model__AIHubMix__Qwen3__7__Plus__3_7 ModelID = "qwen3.7-plus" Model__AIHubMix__Xiaomi__Mimo__V2__5__2_5 ModelID = "xiaomi-mimo-v2.5" Model__AIHubMix__Xiaomi__Mimo__V2__5__2_5__Pro ModelID = "xiaomi-mimo-v2.5-pro" Model__AIHubMix__Xiaomi__Mimo__V2__5__Free ModelID = "xiaomi-mimo-v2.5-free" Model__AIHubMix__Xiaomi__Mimo__V2__5__Pro__Free ModelID = "xiaomi-mimo-v2.5-pro-free" Model__AIHubMix__Zai__GLM__5__1 ModelID = "zai-glm-5.1" Model__AIRouter__GPT__5_4 ModelID = "gpt-5.4" Model__AIRouter__GPT__5_5 ModelID = "gpt-5.5" Model__AIRouter__GPT__5__6__Luna__5_6 ModelID = "gpt-5.6-luna" Model__AIRouter__GPT__5__6__Sol__5_6 ModelID = "gpt-5.6-sol" Model__AIRouter__GPT__5__6__Terra__5_6 ModelID = "gpt-5.6-terra" Model__Abacus__Claude__3__7__Sonnet__3_7__20250219 ModelID = "claude-3-7-sonnet-20250219" Model__Abacus__Claude__Fable__5 ModelID = "claude-fable-5" Model__Abacus__Claude__Haiku__4_5__20251001 ModelID = "claude-haiku-4-5-20251001" Model__Abacus__Claude__Opus__4_1__20250805 ModelID = "claude-opus-4-1-20250805" Model__Abacus__Claude__Opus__4_5__20251101 ModelID = "claude-opus-4-5-20251101" Model__Abacus__Claude__Opus__4_6 ModelID = "claude-opus-4-6" Model__Abacus__Claude__Opus__4_7 ModelID = "claude-opus-4-7" Model__Abacus__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__Abacus__Claude__Opus__4__20250514 ModelID = "claude-opus-4-20250514" Model__Abacus__Claude__Sonnet__4_5__20250929 ModelID = "claude-sonnet-4-5-20250929" Model__Abacus__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__Abacus__Claude__Sonnet__4__20250514 ModelID = "claude-sonnet-4-20250514" Model__Abacus__Claude__Sonnet__5 ModelID = "claude-sonnet-5" Model__Abacus__DeepSeek__R1__Thinking ModelID = "deepseek-ai/DeepSeek-R1" Model__Abacus__DeepSeek__V3__1 ModelID = "deepseek/deepseek-v3.1" Model__Abacus__DeepSeek__V3__1__Terminus ModelID = "deepseek-ai/DeepSeek-V3.1-Terminus" Model__Abacus__DeepSeek__V3__2 ModelID = "deepseek-ai/DeepSeek-V3.2" Model__Abacus__DeepSeek__V4__Flash ModelID = "deepseek-ai/DeepSeek-V4-Flash" Model__Abacus__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-ai/DeepSeek-V4-Pro" Model__Abacus__GLM__4_5 ModelID = "zai-org/GLM-4.5" Model__Abacus__GLM__4_6 ModelID = "zai-org/GLM-4.6" Model__Abacus__GLM__4_7 ModelID = "zai-org/GLM-4.7" Model__Abacus__GLM__5 ModelID = "zai-org/GLM-5" Model__Abacus__GLM__5_1 ModelID = "zai-org/GLM-5.1" Model__Abacus__GLM__5_2 ModelID = "zai-org/GLM-5.2" Model__Abacus__GPT__4_1 ModelID = "gpt-4.1" Model__Abacus__GPT__4__1__Mini__4_1 ModelID = "gpt-4.1-mini" Model__Abacus__GPT__4__1__Nano__4_1 ModelID = "gpt-4.1-nano" Model__Abacus__GPT__4o ModelID = "gpt-4o" Model__Abacus__GPT__4o__20241120 ModelID = "gpt-4o-2024-11-20" Model__Abacus__GPT__4o__Mini ModelID = "gpt-4o-mini" Model__Abacus__GPT__5 ModelID = "gpt-5" Model__Abacus__GPT__5_1 ModelID = "gpt-5.1" Model__Abacus__GPT__5_1__ChatLatest ModelID = "gpt-5.1-chat-latest" Model__Abacus__GPT__5_2 ModelID = "gpt-5.2" Model__Abacus__GPT__5_2__ChatLatest ModelID = "gpt-5.2-chat-latest" Model__Abacus__GPT__5_3__ChatLatest ModelID = "gpt-5.3-chat-latest" Model__Abacus__GPT__5_4 ModelID = "gpt-5.4" Model__Abacus__GPT__5_5 ModelID = "gpt-5.5" Model__Abacus__GPT__5__1__Codex__5_1 ModelID = "gpt-5.1-codex" Model__Abacus__GPT__5__1__Codex__Max__5_1 ModelID = "gpt-5.1-codex-max" Model__Abacus__GPT__5__2__Codex__5_2 ModelID = "gpt-5.2-codex" Model__Abacus__GPT__5__3__Codex__5_3 ModelID = "gpt-5.3-codex" Model__Abacus__GPT__5__3__Codex__Xhigh__5_3 ModelID = "gpt-5.3-codex-xhigh" Model__Abacus__GPT__5__4__Mini__5_4 ModelID = "gpt-5.4-mini" Model__Abacus__GPT__5__4__Nano__5_4 ModelID = "gpt-5.4-nano" Model__Abacus__GPT__5__6__Luna__5_6 ModelID = "gpt-5.6-luna" Model__Abacus__GPT__5__6__Sol__5_6 ModelID = "gpt-5.6-sol" Model__Abacus__GPT__5__6__Terra__5_6 ModelID = "gpt-5.6-terra" Model__Abacus__GPT__5__Codex__5 ModelID = "gpt-5-codex" Model__Abacus__GPT__5__Mini__5 ModelID = "gpt-5-mini" Model__Abacus__GPT__5__Nano__5 ModelID = "gpt-5-nano" Model__Abacus__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__Abacus__Gemini__2__5__Flash__2_5 ModelID = "gemini-2.5-flash" Model__Abacus__Gemini__2__5__Flash__Image__2_5 ModelID = "gemini-2.5-flash-image" Model__Abacus__Gemini__2__5__Pro__2_5 ModelID = "gemini-2.5-pro" Model__Abacus__Gemini__3__1__Flash__Image__3_1__Preview ModelID = "gemini-3.1-flash-image-preview" Model__Abacus__Gemini__3__1__Flash__Lite__3_1 ModelID = "gemini-3.1-flash-lite" Model__Abacus__Gemini__3__1__Flash__Lite__3_1__Preview ModelID = "gemini-3.1-flash-lite-preview" Model__Abacus__Gemini__3__1__Pro__3_1__Preview ModelID = "gemini-3.1-pro-preview" Model__Abacus__Gemini__3__5__Flash__3_5 ModelID = "gemini-3.5-flash" Model__Abacus__Gemini__3__Flash__3__Preview ModelID = "gemini-3-flash-preview" Model__Abacus__Gemini__3__Pro__Image__3__Preview ModelID = "gemini-3-pro-image-preview" Model__Abacus__Gemma__4__31b__It__4 ModelID = "google/gemma-4-31b-it" Model__Abacus__Grok__4_3 ModelID = "grok-4.3" Model__Abacus__Grok__4_5 ModelID = "grok-4.5" Model__Abacus__Grok__4__0709__4 ModelID = "grok-4-0709" Model__Abacus__Grok__4__1__Fast__Non__Reasoning__4_1__Non_Reasoning ModelID = "grok-4-1-fast-non-reasoning" Model__Abacus__Grok__4__Fast__Non__Reasoning__4__Non_Reasoning ModelID = "grok-4-fast-non-reasoning" Model__Abacus__Grok__Code__Fast__1 ModelID = "grok-code-fast-1" Model__Abacus__Kimi__K2__2__TurboPreview ModelID = "kimi-k2-turbo-preview" Model__Abacus__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__Abacus__Kimi__K2__6__2_6 ModelID = "moonshotai/Kimi-K2.6" Model__Abacus__Llama__3__3__70b__Versatile__3_3 ModelID = "llama-3.3-70b-versatile" Model__Abacus__Llama__4__Maverick__17B__128E__Instruct__Fp8__4__Instruct ModelID = "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8" Model__Abacus__Meta__Llama__3__1__405B__3_1__TurboInstruct ModelID = "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo" Model__Abacus__Meta__Llama__3__1__8B__3_1__Instruct ModelID = "meta-llama/Meta-Llama-3.1-8B-Instruct" Model__Abacus__Meta__Llama__3__3__70B__3_3__Instruct ModelID = "meta-llama/Meta-Llama-3.3-70B-Instruct" Model__Abacus__Mimo__V2__2__Pro ModelID = "mimo-v2-pro" Model__Abacus__MiniMax__M2__7__2_7 ModelID = "MiniMaxAI/MiniMax-M2.7" Model__Abacus__MiniMax__M3__3 ModelID = "MiniMaxAI/MiniMax-M3" Model__Abacus__Muse__Spark__1_1 ModelID = "muse-spark-1.1" Model__Abacus__O3__3 ModelID = "o3" Model__Abacus__O3__3__Mini ModelID = "o3-mini" Model__Abacus__O3__3__Pro ModelID = "o3-pro" Model__Abacus__O4__4__Mini ModelID = "o4-mini" Model__Abacus__Qwen2__5__72B__2_5__Instruct ModelID = "Qwen/Qwen2.5-72B-Instruct" Model__Abacus__Qwen3__235B__A22b__Instruct__2507__3__Instruct ModelID = "Qwen/Qwen3-235B-A22B-Instruct-2507" Model__Abacus__Qwen3__32B__3 ModelID = "Qwen/Qwen3-32B" Model__Abacus__Qwen3__6__27B__3_6 ModelID = "Qwen/Qwen3.6-27B" Model__Abacus__Qwen3__Coder__480B__A35b__3__Instruct ModelID = "Qwen/Qwen3-Coder-480B-A35B-Instruct" Model__Abacus__Qwen3__Max__3 ModelID = "qwen3-max" Model__Abacus__Qwen__2__5__Coder__32b__2_5 ModelID = "qwen-2.5-coder-32b" Model__Abacus__Qwq__32B ModelID = "Qwen/QwQ-32B" Model__Abacus__Route__LLM ModelID = "route-llm" Model__AbliterationAI__Abliterated__Model ModelID = "abliterated-model" Model__AlibabaCN__DeepSeek__R1__0528__Thinking ModelID = "deepseek-r1-0528" Model__AlibabaCN__DeepSeek__R1__0528__Thinking__Siliconflow ModelID = "siliconflow/deepseek-r1-0528" Model__AlibabaCN__DeepSeek__R1__Distill__Llama__70b__Thinking ModelID = "deepseek-r1-distill-llama-70b" Model__AlibabaCN__DeepSeek__R1__Distill__Llama__8b__Thinking ModelID = "deepseek-r1-distill-llama-8b" Model__AlibabaCN__DeepSeek__R1__Distill__Qwen__14b ModelID = "deepseek-r1-distill-qwen-14b" Model__AlibabaCN__DeepSeek__R1__Distill__Qwen__1__5b ModelID = "deepseek-r1-distill-qwen-1-5b" Model__AlibabaCN__DeepSeek__R1__Distill__Qwen__32b ModelID = "deepseek-r1-distill-qwen-32b" Model__AlibabaCN__DeepSeek__R1__Distill__Qwen__7b ModelID = "deepseek-r1-distill-qwen-7b" Model__AlibabaCN__DeepSeek__R1__Thinking ModelID = "deepseek-r1" Model__AlibabaCN__DeepSeek__V3 ModelID = "deepseek-v3" Model__AlibabaCN__DeepSeek__V3__0324 ModelID = "siliconflow/deepseek-v3-0324" Model__AlibabaCN__DeepSeek__V3__1 ModelID = "deepseek-v3-1" Model__AlibabaCN__DeepSeek__V3__1__Terminus ModelID = "siliconflow/deepseek-v3.1-terminus" Model__AlibabaCN__DeepSeek__V3__2 ModelID = "siliconflow/deepseek-v3.2" Model__AlibabaCN__DeepSeek__V3__2__Exp__2 ModelID = "deepseek-v3-2-exp" Model__AlibabaCN__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__AlibabaCN__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__AlibabaCN__GLM__5 ModelID = "glm-5" Model__AlibabaCN__GLM__5_1 ModelID = "glm-5.1" Model__AlibabaCN__GLM__5_2 ModelID = "glm-5.2" Model__AlibabaCN__Kimi__K2__2__Thinking ModelID = "kimi-k2-thinking" Model__AlibabaCN__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__AlibabaCN__Kimi__K2__5__2_5__Kimi ModelID = "kimi/kimi-k2.5" Model__AlibabaCN__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__AlibabaCN__MiniMax__M2__5__2_5 ModelID = "MiniMax-M2.5" Model__AlibabaCN__MiniMax__M2__7__2_7 ModelID = "MiniMax/MiniMax-M2.7" Model__AlibabaCN__Moonshot__Kimi__K2__Instruct ModelID = "moonshot-kimi-k2-instruct" Model__AlibabaCN__Qvq__Max ModelID = "qvq-max" Model__AlibabaCN__Qwen2__5__14b__2__Instruct ModelID = "qwen2-5-14b-instruct" Model__AlibabaCN__Qwen2__5__32b__2__Instruct ModelID = "qwen2-5-32b-instruct" Model__AlibabaCN__Qwen2__5__72b__2__Instruct ModelID = "qwen2-5-72b-instruct" Model__AlibabaCN__Qwen2__5__7b__2__Instruct ModelID = "qwen2-5-7b-instruct" Model__AlibabaCN__Qwen2__5__Coder__32b__2__Instruct ModelID = "qwen2-5-coder-32b-instruct" Model__AlibabaCN__Qwen2__5__Coder__7b__2__Instruct ModelID = "qwen2-5-coder-7b-instruct" Model__AlibabaCN__Qwen2__5__Math__72b__2__Instruct ModelID = "qwen2-5-math-72b-instruct" Model__AlibabaCN__Qwen2__5__Math__7b__2__Instruct ModelID = "qwen2-5-math-7b-instruct" Model__AlibabaCN__Qwen2__5__Omni__7b__2__Omni ModelID = "qwen2-5-omni-7b" Model__AlibabaCN__Qwen2__5__Vl__72b__2__Instruct ModelID = "qwen2-5-vl-72b-instruct" Model__AlibabaCN__Qwen2__5__Vl__7b__2__Instruct ModelID = "qwen2-5-vl-7b-instruct" Model__AlibabaCN__Qwen3__14b__3 ModelID = "qwen3-14b" Model__AlibabaCN__Qwen3__235b__A22b__3 ModelID = "qwen3-235b-a22b" Model__AlibabaCN__Qwen3__32b__3 ModelID = "qwen3-32b" Model__AlibabaCN__Qwen3__5__397b__A17b__3_5 ModelID = "qwen3.5-397b-a17b" Model__AlibabaCN__Qwen3__5__Flash__3_5 ModelID = "qwen3.5-flash" Model__AlibabaCN__Qwen3__5__Plus__3_5 ModelID = "qwen3.5-plus" Model__AlibabaCN__Qwen3__6__Flash__3_6 ModelID = "qwen3.6-flash" Model__AlibabaCN__Qwen3__6__Max__3_6__Preview ModelID = "qwen3.6-max-preview" Model__AlibabaCN__Qwen3__6__Plus__3_6 ModelID = "qwen3.6-plus" Model__AlibabaCN__Qwen3__7__Max__3_7 ModelID = "qwen3.7-max" Model__AlibabaCN__Qwen3__7__Plus__3_7 ModelID = "qwen3.7-plus" Model__AlibabaCN__Qwen3__8b__3 ModelID = "qwen3-8b" Model__AlibabaCN__Qwen3__Asr__Flash__3 ModelID = "qwen3-asr-flash" Model__AlibabaCN__Qwen3__Coder__30b__A3b__3__Instruct ModelID = "qwen3-coder-30b-a3b-instruct" Model__AlibabaCN__Qwen3__Coder__480b__A35b__3__Instruct ModelID = "qwen3-coder-480b-a35b-instruct" Model__AlibabaCN__Qwen3__Coder__Flash__3 ModelID = "qwen3-coder-flash" Model__AlibabaCN__Qwen3__Coder__Plus__3 ModelID = "qwen3-coder-plus" Model__AlibabaCN__Qwen3__Max__3 ModelID = "qwen3-max" Model__AlibabaCN__Qwen3__Next__80b__A3b__3__Instruct ModelID = "qwen3-next-80b-a3b-instruct" Model__AlibabaCN__Qwen3__Next__80b__A3b__3__Thinking ModelID = "qwen3-next-80b-a3b-thinking" Model__AlibabaCN__Qwen3__Omni__Flash__3__Omni ModelID = "qwen3-omni-flash" Model__AlibabaCN__Qwen3__Omni__Flash__3__OmniRealtime ModelID = "qwen3-omni-flash-realtime" Model__AlibabaCN__Qwen3__Vl__235b__A22b__3 ModelID = "qwen3-vl-235b-a22b" Model__AlibabaCN__Qwen3__Vl__30b__A3b__3 ModelID = "qwen3-vl-30b-a3b" Model__AlibabaCN__Qwen3__Vl__Plus__3 ModelID = "qwen3-vl-plus" Model__AlibabaCN__Qwen__Deep__Research ModelID = "qwen-deep-research" Model__AlibabaCN__Qwen__Doc__Turbo ModelID = "qwen-doc-turbo" Model__AlibabaCN__Qwen__Flash ModelID = "qwen-flash" Model__AlibabaCN__Qwen__Long ModelID = "qwen-long" Model__AlibabaCN__Qwen__Math__Plus ModelID = "qwen-math-plus" Model__AlibabaCN__Qwen__Math__Turbo ModelID = "qwen-math-turbo" Model__AlibabaCN__Qwen__Max ModelID = "qwen-max" Model__AlibabaCN__Qwen__Mt__Plus ModelID = "qwen-mt-plus" Model__AlibabaCN__Qwen__Mt__Turbo ModelID = "qwen-mt-turbo" Model__AlibabaCN__Qwen__Omni__Turbo__Omni ModelID = "qwen-omni-turbo" Model__AlibabaCN__Qwen__Omni__Turbo__OmniRealtime ModelID = "qwen-omni-turbo-realtime" Model__AlibabaCN__Qwen__Plus ModelID = "qwen-plus" Model__AlibabaCN__Qwen__Plus__Character ModelID = "qwen-plus-character" Model__AlibabaCN__Qwen__Turbo ModelID = "qwen-turbo" Model__AlibabaCN__Qwen__Vl__Max ModelID = "qwen-vl-max" Model__AlibabaCN__Qwen__Vl__Ocr ModelID = "qwen-vl-ocr" Model__AlibabaCN__Qwen__Vl__Plus ModelID = "qwen-vl-plus" Model__AlibabaCN__Qwq__32b ModelID = "qwq-32b" Model__AlibabaCN__Qwq__Plus ModelID = "qwq-plus" Model__AlibabaCN__Tongyi__Intent__Detect__V3 ModelID = "tongyi-intent-detect-v3" Model__AlibabaCodingPlanCN__GLM__4_7 ModelID = "glm-4.7" Model__AlibabaCodingPlanCN__GLM__5 ModelID = "glm-5" Model__AlibabaCodingPlanCN__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__AlibabaCodingPlanCN__MiniMax__M2__5__2_5 ModelID = "MiniMax-M2.5" Model__AlibabaCodingPlanCN__Qwen3__5__Plus__3_5 ModelID = "qwen3.5-plus" Model__AlibabaCodingPlanCN__Qwen3__6__Flash__3_6 ModelID = "qwen3.6-flash" Model__AlibabaCodingPlanCN__Qwen3__6__Plus__3_6 ModelID = "qwen3.6-plus" Model__AlibabaCodingPlanCN__Qwen3__7__Max__3_7 ModelID = "qwen3.7-max" Model__AlibabaCodingPlanCN__Qwen3__7__Plus__3_7 ModelID = "qwen3.7-plus" Model__AlibabaCodingPlanCN__Qwen3__Coder__Next__3 ModelID = "qwen3-coder-next" Model__AlibabaCodingPlanCN__Qwen3__Coder__Plus__3 ModelID = "qwen3-coder-plus" Model__AlibabaCodingPlanCN__Qwen3__Max__3__20260123 ModelID = "qwen3-max-2026-01-23" Model__AlibabaCodingPlan__GLM__4_7 ModelID = "glm-4.7" Model__AlibabaCodingPlan__GLM__5 ModelID = "glm-5" Model__AlibabaCodingPlan__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__AlibabaCodingPlan__MiniMax__M2__5__2_5 ModelID = "MiniMax-M2.5" Model__AlibabaCodingPlan__Qwen3__5__Plus__3_5 ModelID = "qwen3.5-plus" Model__AlibabaCodingPlan__Qwen3__6__Flash__3_6 ModelID = "qwen3.6-flash" Model__AlibabaCodingPlan__Qwen3__6__Plus__3_6 ModelID = "qwen3.6-plus" Model__AlibabaCodingPlan__Qwen3__7__Max__3_7 ModelID = "qwen3.7-max" Model__AlibabaCodingPlan__Qwen3__7__Plus__3_7 ModelID = "qwen3.7-plus" Model__AlibabaCodingPlan__Qwen3__Coder__Next__3 ModelID = "qwen3-coder-next" Model__AlibabaCodingPlan__Qwen3__Coder__Plus__3 ModelID = "qwen3-coder-plus" Model__AlibabaCodingPlan__Qwen3__Max__3__20260123 ModelID = "qwen3-max-2026-01-23" Model__AlibabaTokenPlanCN__DeepSeek__V3__2 ModelID = "deepseek-v3.2" Model__AlibabaTokenPlanCN__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__AlibabaTokenPlanCN__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__AlibabaTokenPlanCN__GLM__5 ModelID = "glm-5" Model__AlibabaTokenPlanCN__GLM__5_1 ModelID = "glm-5.1" Model__AlibabaTokenPlanCN__GLM__5_2 ModelID = "glm-5.2" Model__AlibabaTokenPlanCN__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__AlibabaTokenPlanCN__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__AlibabaTokenPlanCN__Kimi__K2__7__2_7__Code ModelID = "kimi-k2.7-code" Model__AlibabaTokenPlanCN__MiniMax__M2__5__2_5 ModelID = "MiniMax-M2.5" Model__AlibabaTokenPlanCN__Qwen3__6__Flash__3_6 ModelID = "qwen3.6-flash" Model__AlibabaTokenPlanCN__Qwen3__6__Plus__3_6 ModelID = "qwen3.6-plus" Model__AlibabaTokenPlanCN__Qwen3__7__Max__3_7 ModelID = "qwen3.7-max" Model__AlibabaTokenPlanCN__Qwen3__7__Plus__3_7 ModelID = "qwen3.7-plus" Model__AlibabaTokenPlanCN__Qwen__Image__2_0 ModelID = "qwen-image-2.0" Model__AlibabaTokenPlanCN__Qwen__Image__2__0__Pro__2_0 ModelID = "qwen-image-2.0-pro" Model__AlibabaTokenPlanCN__Wan2__7__Image ModelID = "wan2.7-image" Model__AlibabaTokenPlanCN__Wan2__7__Image__Pro ModelID = "wan2.7-image-pro" Model__AlibabaTokenPlan__DeepSeek__V3__2 ModelID = "deepseek-v3.2" Model__AlibabaTokenPlan__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__AlibabaTokenPlan__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__AlibabaTokenPlan__GLM__5 ModelID = "glm-5" Model__AlibabaTokenPlan__GLM__5_1 ModelID = "glm-5.1" Model__AlibabaTokenPlan__GLM__5_2 ModelID = "glm-5.2" Model__AlibabaTokenPlan__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__AlibabaTokenPlan__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__AlibabaTokenPlan__Kimi__K2__7__2_7__Code ModelID = "kimi-k2.7-code" Model__AlibabaTokenPlan__MiniMax__M2__5__2_5 ModelID = "MiniMax-M2.5" Model__AlibabaTokenPlan__Qwen3__6__Flash__3_6 ModelID = "qwen3.6-flash" Model__AlibabaTokenPlan__Qwen3__6__Plus__3_6 ModelID = "qwen3.6-plus" Model__AlibabaTokenPlan__Qwen3__7__Max__3_7 ModelID = "qwen3.7-max" Model__AlibabaTokenPlan__Qwen3__7__Plus__3_7 ModelID = "qwen3.7-plus" Model__AlibabaTokenPlan__Qwen__Image__2_0 ModelID = "qwen-image-2.0" Model__AlibabaTokenPlan__Qwen__Image__2__0__Pro__2_0 ModelID = "qwen-image-2.0-pro" Model__AlibabaTokenPlan__Wan2__7__Image ModelID = "wan2.7-image" Model__AlibabaTokenPlan__Wan2__7__Image__Pro ModelID = "wan2.7-image-pro" Model__Alibaba__Qvq__Max ModelID = "qvq-max" Model__Alibaba__Qwen2__5__14b__2__Instruct ModelID = "qwen2-5-14b-instruct" Model__Alibaba__Qwen2__5__32b__2__Instruct ModelID = "qwen2-5-32b-instruct" Model__Alibaba__Qwen2__5__72b__2__Instruct ModelID = "qwen2-5-72b-instruct" Model__Alibaba__Qwen2__5__7b__2__Instruct ModelID = "qwen2-5-7b-instruct" Model__Alibaba__Qwen2__5__Omni__7b__2__Omni ModelID = "qwen2-5-omni-7b" Model__Alibaba__Qwen2__5__Vl__72b__2__Instruct ModelID = "qwen2-5-vl-72b-instruct" Model__Alibaba__Qwen2__5__Vl__7b__2__Instruct ModelID = "qwen2-5-vl-7b-instruct" Model__Alibaba__Qwen3__14b__3 ModelID = "qwen3-14b" Model__Alibaba__Qwen3__235b__A22b__3 ModelID = "qwen3-235b-a22b" Model__Alibaba__Qwen3__32b__3 ModelID = "qwen3-32b" Model__Alibaba__Qwen3__5__122b__A10b__3_5 ModelID = "qwen3.5-122b-a10b" Model__Alibaba__Qwen3__5__27b__3_5 ModelID = "qwen3.5-27b" Model__Alibaba__Qwen3__5__35b__A3b__3_5 ModelID = "qwen3.5-35b-a3b" Model__Alibaba__Qwen3__5__397b__A17b__3_5 ModelID = "qwen3.5-397b-a17b" Model__Alibaba__Qwen3__5__Plus__3_5 ModelID = "qwen3.5-plus" Model__Alibaba__Qwen3__6__27b__3_6 ModelID = "qwen3.6-27b" Model__Alibaba__Qwen3__6__35b__A3b__3_6 ModelID = "qwen3.6-35b-a3b" Model__Alibaba__Qwen3__6__Flash__3_6 ModelID = "qwen3.6-flash" Model__Alibaba__Qwen3__6__Max__3_6__Preview ModelID = "qwen3.6-max-preview" Model__Alibaba__Qwen3__6__Plus__3_6 ModelID = "qwen3.6-plus" Model__Alibaba__Qwen3__7__Max__3_7 ModelID = "qwen3.7-max" Model__Alibaba__Qwen3__7__Plus__3_7 ModelID = "qwen3.7-plus" Model__Alibaba__Qwen3__8b__3 ModelID = "qwen3-8b" Model__Alibaba__Qwen3__Asr__Flash__3 ModelID = "qwen3-asr-flash" Model__Alibaba__Qwen3__Coder__30b__A3b__3__Instruct ModelID = "qwen3-coder-30b-a3b-instruct" Model__Alibaba__Qwen3__Coder__480b__A35b__3__Instruct ModelID = "qwen3-coder-480b-a35b-instruct" Model__Alibaba__Qwen3__Coder__Flash__3 ModelID = "qwen3-coder-flash" Model__Alibaba__Qwen3__Coder__Plus__3 ModelID = "qwen3-coder-plus" Model__Alibaba__Qwen3__Livetranslate__Flash__3__LivetranslateRealtime ModelID = "qwen3-livetranslate-flash-realtime" Model__Alibaba__Qwen3__Max__3 ModelID = "qwen3-max" Model__Alibaba__Qwen3__Next__80b__A3b__3__Instruct ModelID = "qwen3-next-80b-a3b-instruct" Model__Alibaba__Qwen3__Next__80b__A3b__3__Thinking ModelID = "qwen3-next-80b-a3b-thinking" Model__Alibaba__Qwen3__Omni__Flash__3__Omni ModelID = "qwen3-omni-flash" Model__Alibaba__Qwen3__Omni__Flash__3__OmniRealtime ModelID = "qwen3-omni-flash-realtime" Model__Alibaba__Qwen3__Vl__235b__A22b__3 ModelID = "qwen3-vl-235b-a22b" Model__Alibaba__Qwen3__Vl__30b__A3b__3 ModelID = "qwen3-vl-30b-a3b" Model__Alibaba__Qwen3__Vl__Plus__3 ModelID = "qwen3-vl-plus" Model__Alibaba__Qwen__Flash ModelID = "qwen-flash" Model__Alibaba__Qwen__Max ModelID = "qwen-max" Model__Alibaba__Qwen__Mt__Plus ModelID = "qwen-mt-plus" Model__Alibaba__Qwen__Mt__Turbo ModelID = "qwen-mt-turbo" Model__Alibaba__Qwen__Omni__Turbo__Omni ModelID = "qwen-omni-turbo" Model__Alibaba__Qwen__Omni__Turbo__OmniRealtime ModelID = "qwen-omni-turbo-realtime" Model__Alibaba__Qwen__Plus ModelID = "qwen-plus" Model__Alibaba__Qwen__Plus__Character__Ja ModelID = "qwen-plus-character-ja" Model__Alibaba__Qwen__Turbo ModelID = "qwen-turbo" Model__Alibaba__Qwen__Vl__Max ModelID = "qwen-vl-max" Model__Alibaba__Qwen__Vl__Ocr ModelID = "qwen-vl-ocr" Model__Alibaba__Qwen__Vl__Plus ModelID = "qwen-vl-plus" Model__Alibaba__Qwq__Plus ModelID = "qwq-plus" Model__AmazonBedrock__Amazon__Nova__2__Lite__V1__0 ModelID = "amazon.nova-2-lite-v1:0" Model__AmazonBedrock__Amazon__Nova__Lite__V1__0 ModelID = "amazon.nova-lite-v1:0" Model__AmazonBedrock__Amazon__Nova__Micro__V1__0 ModelID = "amazon.nova-micro-v1:0" Model__AmazonBedrock__Amazon__Nova__Pro__V1__0 ModelID = "amazon.nova-pro-v1:0" Model__AmazonBedrock__Anthropic__Claude__Fable__5 ModelID = "anthropic.claude-fable-5" Model__AmazonBedrock__Anthropic__Claude__Haiku__4__5__20251001__V1__0 ModelID = "anthropic.claude-haiku-4-5-20251001-v1:0" Model__AmazonBedrock__Anthropic__Claude__Opus__4__1__20250805__V1__0 ModelID = "anthropic.claude-opus-4-1-20250805-v1:0" Model__AmazonBedrock__Anthropic__Claude__Opus__4__5__20251101__V1__0 ModelID = "anthropic.claude-opus-4-5-20251101-v1:0" Model__AmazonBedrock__Anthropic__Claude__Opus__4__6__V1 ModelID = "anthropic.claude-opus-4-6-v1" Model__AmazonBedrock__Anthropic__Claude__Opus__4__7 ModelID = "anthropic.claude-opus-4-7" Model__AmazonBedrock__Anthropic__Claude__Opus__4__8 ModelID = "anthropic.claude-opus-4-8" Model__AmazonBedrock__Anthropic__Claude__Sonnet__4__5__20250929__V1__0 ModelID = "anthropic.claude-sonnet-4-5-20250929-v1:0" Model__AmazonBedrock__Anthropic__Claude__Sonnet__4__6 ModelID = "anthropic.claude-sonnet-4-6" Model__AmazonBedrock__Anthropic__Claude__Sonnet__5 ModelID = "anthropic.claude-sonnet-5" Model__AmazonBedrock__Au__Anthropic__Claude__Haiku__4__5__20251001__V1__0 ModelID = "au.anthropic.claude-haiku-4-5-20251001-v1:0" Model__AmazonBedrock__Au__Anthropic__Claude__Opus__4__6__V1 ModelID = "au.anthropic.claude-opus-4-6-v1" Model__AmazonBedrock__Au__Anthropic__Claude__Opus__4__8 ModelID = "au.anthropic.claude-opus-4-8" Model__AmazonBedrock__Au__Anthropic__Claude__Sonnet__4__5__20250929__V1__0 ModelID = "au.anthropic.claude-sonnet-4-5-20250929-v1:0" Model__AmazonBedrock__Au__Anthropic__Claude__Sonnet__4__6 ModelID = "au.anthropic.claude-sonnet-4-6" Model__AmazonBedrock__Au__Anthropic__Claude__Sonnet__5 ModelID = "au.anthropic.claude-sonnet-5" Model__AmazonBedrock__DeepSeek__R1__V1__0__Thinking ModelID = "deepseek.r1-v1:0" Model__AmazonBedrock__DeepSeek__V3__2 ModelID = "deepseek.v3.2" Model__AmazonBedrock__DeepSeek__V3__V1__0 ModelID = "deepseek.v3-v1:0" Model__AmazonBedrock__Eu__Anthropic__Claude__Fable__5 ModelID = "eu.anthropic.claude-fable-5" Model__AmazonBedrock__Eu__Anthropic__Claude__Haiku__4__5__20251001__V1__0 ModelID = "eu.anthropic.claude-haiku-4-5-20251001-v1:0" Model__AmazonBedrock__Eu__Anthropic__Claude__Opus__4__5__20251101__V1__0 ModelID = "eu.anthropic.claude-opus-4-5-20251101-v1:0" Model__AmazonBedrock__Eu__Anthropic__Claude__Opus__4__6__V1 ModelID = "eu.anthropic.claude-opus-4-6-v1" Model__AmazonBedrock__Eu__Anthropic__Claude__Opus__4__7 ModelID = "eu.anthropic.claude-opus-4-7" Model__AmazonBedrock__Eu__Anthropic__Claude__Opus__4__8 ModelID = "eu.anthropic.claude-opus-4-8" Model__AmazonBedrock__Eu__Anthropic__Claude__Sonnet__4__5__20250929__V1__0 ModelID = "eu.anthropic.claude-sonnet-4-5-20250929-v1:0" Model__AmazonBedrock__Eu__Anthropic__Claude__Sonnet__4__6 ModelID = "eu.anthropic.claude-sonnet-4-6" Model__AmazonBedrock__Eu__Anthropic__Claude__Sonnet__5 ModelID = "eu.anthropic.claude-sonnet-5" Model__AmazonBedrock__Global__Anthropic__Claude__Fable__5 ModelID = "global.anthropic.claude-fable-5" Model__AmazonBedrock__Global__Anthropic__Claude__Haiku__4__5__20251001__V1__0 ModelID = "global.anthropic.claude-haiku-4-5-20251001-v1:0" Model__AmazonBedrock__Global__Anthropic__Claude__Opus__4__5__20251101__V1__0 ModelID = "global.anthropic.claude-opus-4-5-20251101-v1:0" Model__AmazonBedrock__Global__Anthropic__Claude__Opus__4__6__V1 ModelID = "global.anthropic.claude-opus-4-6-v1" Model__AmazonBedrock__Global__Anthropic__Claude__Opus__4__7 ModelID = "global.anthropic.claude-opus-4-7" Model__AmazonBedrock__Global__Anthropic__Claude__Opus__4__8 ModelID = "global.anthropic.claude-opus-4-8" Model__AmazonBedrock__Global__Anthropic__Claude__Sonnet__4__5__20250929__V1__0 ModelID = "global.anthropic.claude-sonnet-4-5-20250929-v1:0" Model__AmazonBedrock__Global__Anthropic__Claude__Sonnet__4__6 ModelID = "global.anthropic.claude-sonnet-4-6" Model__AmazonBedrock__Global__Anthropic__Claude__Sonnet__5 ModelID = "global.anthropic.claude-sonnet-5" Model__AmazonBedrock__Google__Gemma__3__12b__It ModelID = "google.gemma-3-12b-it" Model__AmazonBedrock__Google__Gemma__3__27b__It ModelID = "google.gemma-3-27b-it" Model__AmazonBedrock__Google__Gemma__3__4b__It ModelID = "google.gemma-3-4b-it" Model__AmazonBedrock__Jp__Anthropic__Claude__Haiku__4__5__20251001__V1__0 ModelID = "jp.anthropic.claude-haiku-4-5-20251001-v1:0" Model__AmazonBedrock__Jp__Anthropic__Claude__Opus__4__7 ModelID = "jp.anthropic.claude-opus-4-7" Model__AmazonBedrock__Jp__Anthropic__Claude__Opus__4__8 ModelID = "jp.anthropic.claude-opus-4-8" Model__AmazonBedrock__Jp__Anthropic__Claude__Sonnet__4__5__20250929__V1__0 ModelID = "jp.anthropic.claude-sonnet-4-5-20250929-v1:0" Model__AmazonBedrock__Jp__Anthropic__Claude__Sonnet__4__6 ModelID = "jp.anthropic.claude-sonnet-4-6" Model__AmazonBedrock__Jp__Anthropic__Claude__Sonnet__5 ModelID = "jp.anthropic.claude-sonnet-5" Model__AmazonBedrock__Meta__Llama3__1__70b__Instruct__V1__0__Instruct ModelID = "meta.llama3-1-70b-instruct-v1:0" Model__AmazonBedrock__Meta__Llama3__1__8b__Instruct__V1__0__Instruct ModelID = "meta.llama3-1-8b-instruct-v1:0" Model__AmazonBedrock__Meta__Llama3__3__70b__Instruct__V1__0__Instruct ModelID = "meta.llama3-3-70b-instruct-v1:0" Model__AmazonBedrock__Meta__Llama4__Maverick__17b__Instruct__V1__0__4__Instruct ModelID = "meta.llama4-maverick-17b-instruct-v1:0" Model__AmazonBedrock__Meta__Llama4__Scout__17b__Instruct__V1__0__4__Instruct ModelID = "meta.llama4-scout-17b-instruct-v1:0" Model__AmazonBedrock__MiniMax__MiniMax__M2__1__2_1 ModelID = "minimax.minimax-m2.1" Model__AmazonBedrock__MiniMax__MiniMax__M2__2 ModelID = "minimax.minimax-m2" Model__AmazonBedrock__MiniMax__MiniMax__M2__5__2_5 ModelID = "minimax.minimax-m2.5" Model__AmazonBedrock__Mistral__Devstral__2__123b ModelID = "mistral.devstral-2-123b" Model__AmazonBedrock__Mistral__Magistral__Small__2509 ModelID = "mistral.magistral-small-2509" Model__AmazonBedrock__Mistral__Ministral__3__14b__Instruct ModelID = "mistral.ministral-3-14b-instruct" Model__AmazonBedrock__Mistral__Ministral__3__3b__Instruct ModelID = "mistral.ministral-3-3b-instruct" Model__AmazonBedrock__Mistral__Ministral__3__8b__Instruct ModelID = "mistral.ministral-3-8b-instruct" Model__AmazonBedrock__Mistral__Mistral__Large__3__675b__Instruct ModelID = "mistral.mistral-large-3-675b-instruct" Model__AmazonBedrock__Mistral__Pixtral__Large__2502__V1__0 ModelID = "mistral.pixtral-large-2502-v1:0" Model__AmazonBedrock__Mistral__Voxtral__Mini__3b__2507 ModelID = "mistral.voxtral-mini-3b-2507" Model__AmazonBedrock__Mistral__Voxtral__Small__24b__2507 ModelID = "mistral.voxtral-small-24b-2507" Model__AmazonBedrock__MoonshotAI__Kimi__K2__5__2_5 ModelID = "moonshotai.kimi-k2.5" Model__AmazonBedrock__Moonshot__Kimi__K2__2__Thinking ModelID = "moonshot.kimi-k2-thinking" Model__AmazonBedrock__Nvidia__Nemotron__Nano__12b__V2 ModelID = "nvidia.nemotron-nano-12b-v2" Model__AmazonBedrock__Nvidia__Nemotron__Nano__3__30b ModelID = "nvidia.nemotron-nano-3-30b" Model__AmazonBedrock__Nvidia__Nemotron__Nano__9b__V2 ModelID = "nvidia.nemotron-nano-9b-v2" Model__AmazonBedrock__Nvidia__Nemotron__Super__3__120b ModelID = "nvidia.nemotron-super-3-120b" Model__AmazonBedrock__OpenAI__GPT__5__4 ModelID = "openai.gpt-5.4" Model__AmazonBedrock__OpenAI__GPT__5__5 ModelID = "openai.gpt-5.5" Model__AmazonBedrock__OpenAI__GPT__Oss__120b ModelID = "openai.gpt-oss-120b" Model__AmazonBedrock__OpenAI__GPT__Oss__120b__1__0 ModelID = "openai.gpt-oss-120b-1:0" Model__AmazonBedrock__OpenAI__GPT__Oss__20b ModelID = "openai.gpt-oss-20b" Model__AmazonBedrock__OpenAI__GPT__Oss__20b__1__0 ModelID = "openai.gpt-oss-20b-1:0" Model__AmazonBedrock__OpenAI__GPT__Oss__Safeguard__120b ModelID = "openai.gpt-oss-safeguard-120b" Model__AmazonBedrock__OpenAI__GPT__Oss__Safeguard__20b ModelID = "openai.gpt-oss-safeguard-20b" Model__AmazonBedrock__Qwen__Qwen3__235b__A22b__2507__V1__0 ModelID = "qwen.qwen3-235b-a22b-2507-v1:0" Model__AmazonBedrock__Qwen__Qwen3__32b__V1__0 ModelID = "qwen.qwen3-32b-v1:0" Model__AmazonBedrock__Qwen__Qwen3__Coder__30b__A3b__V1__0 ModelID = "qwen.qwen3-coder-30b-a3b-v1:0" Model__AmazonBedrock__Qwen__Qwen3__Coder__480b__A35b__V1__0 ModelID = "qwen.qwen3-coder-480b-a35b-v1:0" Model__AmazonBedrock__Qwen__Qwen3__Coder__Next ModelID = "qwen.qwen3-coder-next" Model__AmazonBedrock__Qwen__Qwen3__Next__80b__A3b ModelID = "qwen.qwen3-next-80b-a3b" Model__AmazonBedrock__Qwen__Qwen3__Vl__235b__A22b ModelID = "qwen.qwen3-vl-235b-a22b" Model__AmazonBedrock__Us__Anthropic__Claude__Fable__5 ModelID = "us.anthropic.claude-fable-5" Model__AmazonBedrock__Us__Anthropic__Claude__Haiku__4__5__20251001__V1__0 ModelID = "us.anthropic.claude-haiku-4-5-20251001-v1:0" Model__AmazonBedrock__Us__Anthropic__Claude__Opus__4__1__20250805__V1__0 ModelID = "us.anthropic.claude-opus-4-1-20250805-v1:0" Model__AmazonBedrock__Us__Anthropic__Claude__Opus__4__5__20251101__V1__0 ModelID = "us.anthropic.claude-opus-4-5-20251101-v1:0" Model__AmazonBedrock__Us__Anthropic__Claude__Opus__4__6__V1 ModelID = "us.anthropic.claude-opus-4-6-v1" Model__AmazonBedrock__Us__Anthropic__Claude__Opus__4__7 ModelID = "us.anthropic.claude-opus-4-7" Model__AmazonBedrock__Us__Anthropic__Claude__Opus__4__8 ModelID = "us.anthropic.claude-opus-4-8" Model__AmazonBedrock__Us__Anthropic__Claude__Sonnet__4__5__20250929__V1__0 ModelID = "us.anthropic.claude-sonnet-4-5-20250929-v1:0" Model__AmazonBedrock__Us__Anthropic__Claude__Sonnet__4__6 ModelID = "us.anthropic.claude-sonnet-4-6" Model__AmazonBedrock__Us__Anthropic__Claude__Sonnet__5 ModelID = "us.anthropic.claude-sonnet-5" Model__AmazonBedrock__Us__DeepSeek__R1__V1__0__Thinking ModelID = "us.deepseek.r1-v1:0" Model__AmazonBedrock__Us__Meta__Llama4__Maverick__17b__Instruct__V1__0__4__Instruct ModelID = "us.meta.llama4-maverick-17b-instruct-v1:0" Model__AmazonBedrock__Us__Meta__Llama4__Scout__17b__Instruct__V1__0__4__Instruct ModelID = "us.meta.llama4-scout-17b-instruct-v1:0" Model__AmazonBedrock__Writer__Palmyra__X4__V1__0 ModelID = "writer.palmyra-x4-v1:0" Model__AmazonBedrock__Writer__Palmyra__X5__V1__0 ModelID = "writer.palmyra-x5-v1:0" Model__AmazonBedrock__Zai__GLM__4__7 ModelID = "zai.glm-4.7" Model__AmazonBedrock__Zai__GLM__4__7__Flash ModelID = "zai.glm-4.7-flash" Model__AmazonBedrock__Zai__GLM__5 ModelID = "zai.glm-5" Model__AmazonBedrock__xAI__Grok__4__3 ModelID = "xai.grok-4.3" Model__Ambient__GLM__5__1__Fp8__5_1 ModelID = "zai-org/GLM-5.1-FP8" Model__Ambient__GLM__5__2__Fp8__5_2 ModelID = "zai-org/GLM-5.2-FP8" Model__Ambient__Kimi__K2__6__2_6 ModelID = "moonshotai/kimi-k2.6" Model__Ambient__Kimi__K2__7__2_7__Code ModelID = "moonshotai/kimi-k2.7-code" Model__Anthropic__Claude__Fable__5 ModelID = "claude-fable-5" Model__Anthropic__Claude__Haiku__4_5 ModelID = "claude-haiku-4-5" Model__Anthropic__Claude__Haiku__4_5__20251001 ModelID = "claude-haiku-4-5-20251001" Model__Anthropic__Claude__Opus__4_1 ModelID = "claude-opus-4-1" Model__Anthropic__Claude__Opus__4_1__20250805 ModelID = "claude-opus-4-1-20250805" Model__Anthropic__Claude__Opus__4_5 ModelID = "claude-opus-4-5" Model__Anthropic__Claude__Opus__4_5__20251101 ModelID = "claude-opus-4-5-20251101" Model__Anthropic__Claude__Opus__4_6 ModelID = "claude-opus-4-6" Model__Anthropic__Claude__Opus__4_7 ModelID = "claude-opus-4-7" Model__Anthropic__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__Anthropic__Claude__Sonnet__4_5 ModelID = "claude-sonnet-4-5" Model__Anthropic__Claude__Sonnet__4_5__20250929 ModelID = "claude-sonnet-4-5-20250929" Model__Anthropic__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__Anthropic__Claude__Sonnet__5 ModelID = "claude-sonnet-5" Model__AnyAPI__Claude__Haiku__4_5 ModelID = "anthropic/claude-haiku-4-5" Model__AnyAPI__Claude__Opus__4_6 ModelID = "anthropic/claude-opus-4-6" Model__AnyAPI__Claude__Opus__4_7 ModelID = "anthropic/claude-opus-4-7" Model__AnyAPI__Claude__Sonnet__4_5 ModelID = "anthropic/claude-sonnet-4-5" Model__AnyAPI__Claude__Sonnet__4_6 ModelID = "anthropic/claude-sonnet-4-6" Model__AnyAPI__Command__R__Plus__20240830 ModelID = "cohere/command-r-plus-08-2024" Model__AnyAPI__DeepSeek__Chat ModelID = "deepseek/deepseek-chat" Model__AnyAPI__DeepSeek__R1__Thinking ModelID = "deepseek/deepseek-r1" Model__AnyAPI__DeepSeek__V4__Flash ModelID = "deepseek/deepseek-v4-flash" Model__AnyAPI__DeepSeek__V4__Pro__Thinking ModelID = "deepseek/deepseek-v4-pro" Model__AnyAPI__Devstral__2512 ModelID = "mistralai/devstral-2512" Model__AnyAPI__GPT__4_1 ModelID = "openai/gpt-4.1" Model__AnyAPI__GPT__4__1__Mini__4_1 ModelID = "openai/gpt-4.1-mini" Model__AnyAPI__GPT__5 ModelID = "openai/gpt-5" Model__AnyAPI__GPT__5_1 ModelID = "openai/gpt-5.1" Model__AnyAPI__GPT__5_2 ModelID = "openai/gpt-5.2" Model__AnyAPI__GPT__5_4 ModelID = "openai/gpt-5.4" Model__AnyAPI__GPT__5__Mini__5 ModelID = "openai/gpt-5-mini" Model__AnyAPI__Gemini__2__5__Flash__2_5 ModelID = "google/gemini-2.5-flash" Model__AnyAPI__Gemini__2__5__Flash__Lite__2_5 ModelID = "google/gemini-2.5-flash-lite" Model__AnyAPI__Gemini__2__5__Pro__2_5 ModelID = "google/gemini-2.5-pro" Model__AnyAPI__Gemini__3__Flash__3__Preview ModelID = "google/gemini-3-flash-preview" Model__AnyAPI__Gemini__3__Pro__3__Preview ModelID = "google/gemini-3-pro-preview" Model__AnyAPI__Grok__4_3 ModelID = "xai/grok-4.3" Model__AnyAPI__Mistral__Large__2512 ModelID = "mistralai/mistral-large-2512" Model__AnyAPI__O3__3 ModelID = "openai/o3" Model__AnyAPI__O3__3__Mini ModelID = "openai/o3-mini" Model__AnyAPI__O4__4__Mini ModelID = "openai/o4-mini" Model__AnyAPI__Sonar__Pro ModelID = "perplexity/sonar-pro" Model__AnyAPI__Sonar__Reasoning__Pro ModelID = "perplexity/sonar-reasoning-pro" Model__AtomicChat__Gemma__4__E4b__It__Iq4__Xs__4 ModelID = "gemma-4-E4B-it-IQ4_XS" Model__AtomicChat__Gemma__4__E4b__It__Mlx__4bit__4 ModelID = "gemma-4-E4B-it-MLX-4bit" Model__AtomicChat__Meta__Llama__3__1__8B__Instruct__Gguf__Instruct ModelID = "Meta-Llama-3_1-8B-Instruct-GGUF" Model__AtomicChat__Qwen3__5__9B__Mlx__4bit ModelID = "Qwen3_5-9B-MLX-4bit" Model__AtomicChat__Qwen3__5__9B__Q4__K__M ModelID = "Qwen3_5-9B-Q4_K_M" Model__Auriko__Claude__Opus__4_6 ModelID = "claude-opus-4-6" Model__Auriko__Claude__Opus__4_7 ModelID = "claude-opus-4-7" Model__Auriko__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__Auriko__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__Auriko__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__Auriko__GLM__5_1 ModelID = "glm-5.1" Model__Auriko__Gemini__2__5__Flash__2_5 ModelID = "gemini-2.5-flash" Model__Auriko__Gemini__2__5__Pro__2_5 ModelID = "gemini-2.5-pro" Model__Auriko__Gemini__3__1__Pro__3_1__Preview ModelID = "gemini-3.1-pro-preview" Model__Auriko__Grok__4_3 ModelID = "grok-4.3" Model__Auriko__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__Auriko__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__Auriko__MiniMax__M2__7__2_7 ModelID = "minimax-m2-7" Model__Auriko__MiniMax__M2__7__2_7__Highspeed ModelID = "minimax-m2-7-highspeed" Model__Auriko__Qwen__3__6__Plus__3_6 ModelID = "qwen-3.6-plus" Model__AzureCognitiveServices__Claude__Haiku__4_5 ModelID = "claude-haiku-4-5" Model__AzureCognitiveServices__Claude__Opus__4_1 ModelID = "claude-opus-4-1" Model__AzureCognitiveServices__Claude__Opus__4_5 ModelID = "claude-opus-4-5" Model__AzureCognitiveServices__Claude__Opus__4_6 ModelID = "claude-opus-4-6" Model__AzureCognitiveServices__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__AzureCognitiveServices__Claude__Sonnet__4_5 ModelID = "claude-sonnet-4-5" Model__AzureCognitiveServices__Codestral__2501 ModelID = "codestral-2501" Model__AzureCognitiveServices__Codex__Mini ModelID = "codex-mini" Model__AzureCognitiveServices__Cohere__Command__A ModelID = "cohere-command-a" Model__AzureCognitiveServices__Cohere__Command__R__20240830 ModelID = "cohere-command-r-08-2024" Model__AzureCognitiveServices__Cohere__Command__R__Plus__20240830 ModelID = "cohere-command-r-plus-08-2024" Model__AzureCognitiveServices__Cohere__Embed__V3__English ModelID = "cohere-embed-v3-english" Model__AzureCognitiveServices__Cohere__Embed__V3__Multilingual ModelID = "cohere-embed-v3-multilingual" Model__AzureCognitiveServices__Cohere__Embed__V__4__0 ModelID = "cohere-embed-v-4-0" Model__AzureCognitiveServices__DeepSeek__R1__0528__Thinking ModelID = "deepseek-r1-0528" Model__AzureCognitiveServices__DeepSeek__R1__Thinking ModelID = "deepseek-r1" Model__AzureCognitiveServices__DeepSeek__V3__0324 ModelID = "deepseek-v3-0324" Model__AzureCognitiveServices__DeepSeek__V3__1 ModelID = "deepseek-v3.1" Model__AzureCognitiveServices__DeepSeek__V3__2 ModelID = "deepseek-v3.2" Model__AzureCognitiveServices__DeepSeek__V3__2__Speciale ModelID = "deepseek-v3.2-speciale" Model__AzureCognitiveServices__GPT__3_5__TurboInstruct ModelID = "gpt-3.5-turbo-instruct" Model__AzureCognitiveServices__GPT__3__5__Turbo__0125__3_5__Turbo ModelID = "gpt-3.5-turbo-0125" Model__AzureCognitiveServices__GPT__3__5__Turbo__0301__3_5__Turbo ModelID = "gpt-3.5-turbo-0301" Model__AzureCognitiveServices__GPT__3__5__Turbo__0613__3_5__Turbo ModelID = "gpt-3.5-turbo-0613" Model__AzureCognitiveServices__GPT__3__5__Turbo__1106__3_5__Turbo ModelID = "gpt-3.5-turbo-1106" Model__AzureCognitiveServices__GPT__4 ModelID = "gpt-4" Model__AzureCognitiveServices__GPT__4_1 ModelID = "gpt-4.1" Model__AzureCognitiveServices__GPT__4__1__Mini__4_1 ModelID = "gpt-4.1-mini" Model__AzureCognitiveServices__GPT__4__1__Nano__4_1 ModelID = "gpt-4.1-nano" Model__AzureCognitiveServices__GPT__4__32k__4 ModelID = "gpt-4-32k" Model__AzureCognitiveServices__GPT__4__Turbo ModelID = "gpt-4-turbo" Model__AzureCognitiveServices__GPT__4__VisionTurbo ModelID = "gpt-4-turbo-vision" Model__AzureCognitiveServices__GPT__4o ModelID = "gpt-4o" Model__AzureCognitiveServices__GPT__4o__Mini ModelID = "gpt-4o-mini" Model__AzureCognitiveServices__GPT__5 ModelID = "gpt-5" Model__AzureCognitiveServices__GPT__5_1 ModelID = "gpt-5.1" Model__AzureCognitiveServices__GPT__5_1__Chat ModelID = "gpt-5.1-chat" Model__AzureCognitiveServices__GPT__5_2 ModelID = "gpt-5.2" Model__AzureCognitiveServices__GPT__5_2__Chat ModelID = "gpt-5.2-chat" Model__AzureCognitiveServices__GPT__5_4 ModelID = "gpt-5.4" Model__AzureCognitiveServices__GPT__5_5 ModelID = "gpt-5.5" Model__AzureCognitiveServices__GPT__5__1__Codex__5_1 ModelID = "gpt-5.1-codex" Model__AzureCognitiveServices__GPT__5__1__Codex__Mini__5_1 ModelID = "gpt-5.1-codex-mini" Model__AzureCognitiveServices__GPT__5__2__Codex__5_2 ModelID = "gpt-5.2-codex" Model__AzureCognitiveServices__GPT__5__3__Codex__5_3 ModelID = "gpt-5.3-codex" Model__AzureCognitiveServices__GPT__5__4__Mini__5_4 ModelID = "gpt-5.4-mini" Model__AzureCognitiveServices__GPT__5__4__Nano__5_4 ModelID = "gpt-5.4-nano" Model__AzureCognitiveServices__GPT__5__4__Pro__5_4 ModelID = "gpt-5.4-pro" Model__AzureCognitiveServices__GPT__5__Chat ModelID = "gpt-5-chat" Model__AzureCognitiveServices__GPT__5__Codex__5 ModelID = "gpt-5-codex" Model__AzureCognitiveServices__GPT__5__Mini__5 ModelID = "gpt-5-mini" Model__AzureCognitiveServices__GPT__5__Nano__5 ModelID = "gpt-5-nano" Model__AzureCognitiveServices__GPT__5__Pro__5 ModelID = "gpt-5-pro" Model__AzureCognitiveServices__Grok__4__ReasoningFast ModelID = "grok-4-fast-reasoning" Model__AzureCognitiveServices__Kimi__K2__2__Thinking ModelID = "kimi-k2-thinking" Model__AzureCognitiveServices__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__AzureCognitiveServices__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__AzureCognitiveServices__Llama__3__2__11b__3_2__VisionInstruct ModelID = "llama-3.2-11b-vision-instruct" Model__AzureCognitiveServices__Llama__3__2__90b__3_2__VisionInstruct ModelID = "llama-3.2-90b-vision-instruct" Model__AzureCognitiveServices__Llama__3__3__70b__3_3__Instruct ModelID = "llama-3.3-70b-instruct" Model__AzureCognitiveServices__Llama__4__Maverick__17b__128e__Instruct__Fp8__4__Instruct ModelID = "llama-4-maverick-17b-128e-instruct-fp8" Model__AzureCognitiveServices__Llama__4__Scout__17b__16e__4__Instruct ModelID = "llama-4-scout-17b-16e-instruct" Model__AzureCognitiveServices__Meta__Llama__3__1__405b__3_1__Instruct ModelID = "meta-llama-3.1-405b-instruct" Model__AzureCognitiveServices__Meta__Llama__3__1__70b__3_1__Instruct ModelID = "meta-llama-3.1-70b-instruct" Model__AzureCognitiveServices__Meta__Llama__3__1__8b__3_1__Instruct ModelID = "meta-llama-3.1-8b-instruct" Model__AzureCognitiveServices__Meta__Llama__3__70b__3__Instruct ModelID = "meta-llama-3-70b-instruct" Model__AzureCognitiveServices__Meta__Llama__3__8b__3__Instruct ModelID = "meta-llama-3-8b-instruct" Model__AzureCognitiveServices__Ministral__3b ModelID = "ministral-3b" Model__AzureCognitiveServices__Mistral__Large__2411 ModelID = "mistral-large-2411" Model__AzureCognitiveServices__Mistral__Medium__2505 ModelID = "mistral-medium-2505" Model__AzureCognitiveServices__Mistral__Nemo ModelID = "mistral-nemo" Model__AzureCognitiveServices__Mistral__Small__2503 ModelID = "mistral-small-2503" Model__AzureCognitiveServices__Model__Router ModelID = "model-router" Model__AzureCognitiveServices__O1__1 ModelID = "o1" Model__AzureCognitiveServices__O1__1__Mini ModelID = "o1-mini" Model__AzureCognitiveServices__O3__3 ModelID = "o3" Model__AzureCognitiveServices__O3__3__Mini ModelID = "o3-mini" Model__AzureCognitiveServices__O4__4__Mini ModelID = "o4-mini" Model__AzureCognitiveServices__Phi__3__5__Mini__3_5__Instruct ModelID = "phi-3.5-mini-instruct" Model__AzureCognitiveServices__Phi__3__5__Moe__3_5__Instruct ModelID = "phi-3.5-moe-instruct" Model__AzureCognitiveServices__Phi__3__Medium__128k__3__Instruct ModelID = "phi-3-medium-128k-instruct" Model__AzureCognitiveServices__Phi__3__Medium__4k__3__Instruct ModelID = "phi-3-medium-4k-instruct" Model__AzureCognitiveServices__Phi__3__Mini__128k__3__Instruct ModelID = "phi-3-mini-128k-instruct" Model__AzureCognitiveServices__Phi__3__Mini__4k__3__Instruct ModelID = "phi-3-mini-4k-instruct" Model__AzureCognitiveServices__Phi__3__Small__128k__3__Instruct ModelID = "phi-3-small-128k-instruct" Model__AzureCognitiveServices__Phi__3__Small__8k__3__Instruct ModelID = "phi-3-small-8k-instruct" Model__AzureCognitiveServices__Phi__4 ModelID = "phi-4" Model__AzureCognitiveServices__Phi__4__Mini__4 ModelID = "phi-4-mini" Model__AzureCognitiveServices__Phi__4__Mini__4__Reasoning ModelID = "phi-4-mini-reasoning" Model__AzureCognitiveServices__Phi__4__Multimodal ModelID = "phi-4-multimodal" Model__AzureCognitiveServices__Phi__4__Reasoning ModelID = "phi-4-reasoning" Model__AzureCognitiveServices__Phi__4__Reasoning__Plus__4 ModelID = "phi-4-reasoning-plus" Model__AzureCognitiveServices__Text__Embedding__3__Large__3 ModelID = "text-embedding-3-large" Model__AzureCognitiveServices__Text__Embedding__3__Small__3 ModelID = "text-embedding-3-small" Model__AzureCognitiveServices__Text__Embedding__Ada__002 ModelID = "text-embedding-ada-002" Model__Azure__Claude__Fable__5 ModelID = "claude-fable-5" Model__Azure__Claude__Haiku__4_5 ModelID = "claude-haiku-4-5" Model__Azure__Claude__Opus__4_1 ModelID = "claude-opus-4-1" Model__Azure__Claude__Opus__4_5 ModelID = "claude-opus-4-5" Model__Azure__Claude__Opus__4_6 ModelID = "claude-opus-4-6" Model__Azure__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__Azure__Claude__Sonnet__4_5 ModelID = "claude-sonnet-4-5" Model__Azure__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__Azure__Claude__Sonnet__5 ModelID = "claude-sonnet-5" Model__Azure__Codestral__2501 ModelID = "codestral-2501" Model__Azure__Codex__Mini ModelID = "codex-mini" Model__Azure__Cohere__Command__A ModelID = "cohere-command-a" Model__Azure__Cohere__Command__R__20240830 ModelID = "cohere-command-r-08-2024" Model__Azure__Cohere__Command__R__Plus__20240830 ModelID = "cohere-command-r-plus-08-2024" Model__Azure__Cohere__Embed__V3__English ModelID = "cohere-embed-v3-english" Model__Azure__Cohere__Embed__V3__Multilingual ModelID = "cohere-embed-v3-multilingual" Model__Azure__Cohere__Embed__V__4__0 ModelID = "cohere-embed-v-4-0" Model__Azure__DeepSeek__R1__0528__Thinking ModelID = "deepseek-r1-0528" Model__Azure__DeepSeek__R1__Thinking ModelID = "deepseek-r1" Model__Azure__DeepSeek__V3__0324 ModelID = "deepseek-v3-0324" Model__Azure__DeepSeek__V3__1 ModelID = "deepseek-v3.1" Model__Azure__DeepSeek__V3__2 ModelID = "deepseek-v3.2" Model__Azure__DeepSeek__V3__2__Speciale ModelID = "deepseek-v3.2-speciale" Model__Azure__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__Azure__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__Azure__GPT__3_5__TurboInstruct ModelID = "gpt-3.5-turbo-instruct" Model__Azure__GPT__3__5__Turbo__0125__3_5__Turbo ModelID = "gpt-3.5-turbo-0125" Model__Azure__GPT__3__5__Turbo__0301__3_5__Turbo ModelID = "gpt-3.5-turbo-0301" Model__Azure__GPT__3__5__Turbo__0613__3_5__Turbo ModelID = "gpt-3.5-turbo-0613" Model__Azure__GPT__3__5__Turbo__1106__3_5__Turbo ModelID = "gpt-3.5-turbo-1106" Model__Azure__GPT__4 ModelID = "gpt-4" Model__Azure__GPT__4_1 ModelID = "gpt-4.1" Model__Azure__GPT__4__1__Mini__4_1 ModelID = "gpt-4.1-mini" Model__Azure__GPT__4__1__Nano__4_1 ModelID = "gpt-4.1-nano" Model__Azure__GPT__4__32k__4 ModelID = "gpt-4-32k" Model__Azure__GPT__4__Turbo ModelID = "gpt-4-turbo" Model__Azure__GPT__4__VisionTurbo ModelID = "gpt-4-turbo-vision" Model__Azure__GPT__4o ModelID = "gpt-4o" Model__Azure__GPT__4o__Mini ModelID = "gpt-4o-mini" Model__Azure__GPT__5 ModelID = "gpt-5" Model__Azure__GPT__5_1 ModelID = "gpt-5.1" Model__Azure__GPT__5_1__Chat ModelID = "gpt-5.1-chat" Model__Azure__GPT__5_2 ModelID = "gpt-5.2" Model__Azure__GPT__5_2__Chat ModelID = "gpt-5.2-chat" Model__Azure__GPT__5_3__Chat ModelID = "gpt-5.3-chat" Model__Azure__GPT__5_4 ModelID = "gpt-5.4" Model__Azure__GPT__5_5 ModelID = "gpt-5.5" Model__Azure__GPT__5__1__Codex__5_1 ModelID = "gpt-5.1-codex" Model__Azure__GPT__5__1__Codex__Max__5_1 ModelID = "gpt-5.1-codex-max" Model__Azure__GPT__5__1__Codex__Mini__5_1 ModelID = "gpt-5.1-codex-mini" Model__Azure__GPT__5__2__Codex__5_2 ModelID = "gpt-5.2-codex" Model__Azure__GPT__5__3__Codex__5_3 ModelID = "gpt-5.3-codex" Model__Azure__GPT__5__4__Mini__5_4 ModelID = "gpt-5.4-mini" Model__Azure__GPT__5__4__Nano__5_4 ModelID = "gpt-5.4-nano" Model__Azure__GPT__5__4__Pro__5_4 ModelID = "gpt-5.4-pro" Model__Azure__GPT__5__Chat ModelID = "gpt-5-chat" Model__Azure__GPT__5__Codex__5 ModelID = "gpt-5-codex" Model__Azure__GPT__5__Mini__5 ModelID = "gpt-5-mini" Model__Azure__GPT__5__Nano__5 ModelID = "gpt-5-nano" Model__Azure__GPT__5__Pro__5 ModelID = "gpt-5-pro" Model__Azure__GPT__Image__1 ModelID = "gpt-image-1" Model__Azure__GPT__Image__1_5 ModelID = "gpt-image-1.5" Model__Azure__GPT__Image__2 ModelID = "gpt-image-2" Model__Azure__Grok__4_1__ReasoningFast ModelID = "grok-4-1-fast-reasoning" Model__Azure__Grok__4_20__Reasoning ModelID = "grok-4-20-reasoning" Model__Azure__Grok__4__1__Fast__Non__Reasoning__4_1__Non_Reasoning ModelID = "grok-4-1-fast-non-reasoning" Model__Azure__Grok__4__20__Non__Reasoning__4_20__Non_Reasoning ModelID = "grok-4-20-non-reasoning" Model__Azure__Grok__4__ReasoningFast ModelID = "grok-4-fast-reasoning" Model__Azure__Kimi__K2__2__Thinking ModelID = "kimi-k2-thinking" Model__Azure__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__Azure__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__Azure__Llama__3__2__11b__3_2__VisionInstruct ModelID = "llama-3.2-11b-vision-instruct" Model__Azure__Llama__3__2__90b__3_2__VisionInstruct ModelID = "llama-3.2-90b-vision-instruct" Model__Azure__Llama__3__3__70b__3_3__Instruct ModelID = "llama-3.3-70b-instruct" Model__Azure__Llama__4__Maverick__17b__128e__Instruct__Fp8__4__Instruct ModelID = "llama-4-maverick-17b-128e-instruct-fp8" Model__Azure__Llama__4__Scout__17b__16e__4__Instruct ModelID = "llama-4-scout-17b-16e-instruct" Model__Azure__Meta__Llama__3__1__405b__3_1__Instruct ModelID = "meta-llama-3.1-405b-instruct" Model__Azure__Meta__Llama__3__1__70b__3_1__Instruct ModelID = "meta-llama-3.1-70b-instruct" Model__Azure__Meta__Llama__3__1__8b__3_1__Instruct ModelID = "meta-llama-3.1-8b-instruct" Model__Azure__Meta__Llama__3__70b__3__Instruct ModelID = "meta-llama-3-70b-instruct" Model__Azure__Meta__Llama__3__8b__3__Instruct ModelID = "meta-llama-3-8b-instruct" Model__Azure__Ministral__3b ModelID = "ministral-3b" Model__Azure__Mistral__Large__2411 ModelID = "mistral-large-2411" Model__Azure__Mistral__Medium__2505 ModelID = "mistral-medium-2505" Model__Azure__Mistral__Nemo ModelID = "mistral-nemo" Model__Azure__Mistral__Small__2503 ModelID = "mistral-small-2503" Model__Azure__Model__Router ModelID = "model-router" Model__Azure__O1__1 ModelID = "o1" Model__Azure__O1__1__Mini ModelID = "o1-mini" Model__Azure__O3__3 ModelID = "o3" Model__Azure__O3__3__Mini ModelID = "o3-mini" Model__Azure__O4__4__Mini ModelID = "o4-mini" Model__Azure__Phi__3__5__Mini__3_5__Instruct ModelID = "phi-3.5-mini-instruct" Model__Azure__Phi__3__5__Moe__3_5__Instruct ModelID = "phi-3.5-moe-instruct" Model__Azure__Phi__3__Medium__128k__3__Instruct ModelID = "phi-3-medium-128k-instruct" Model__Azure__Phi__3__Medium__4k__3__Instruct ModelID = "phi-3-medium-4k-instruct" Model__Azure__Phi__3__Mini__128k__3__Instruct ModelID = "phi-3-mini-128k-instruct" Model__Azure__Phi__3__Mini__4k__3__Instruct ModelID = "phi-3-mini-4k-instruct" Model__Azure__Phi__3__Small__128k__3__Instruct ModelID = "phi-3-small-128k-instruct" Model__Azure__Phi__3__Small__8k__3__Instruct ModelID = "phi-3-small-8k-instruct" Model__Azure__Phi__4 ModelID = "phi-4" Model__Azure__Phi__4__Mini__4 ModelID = "phi-4-mini" Model__Azure__Phi__4__Mini__4__Reasoning ModelID = "phi-4-mini-reasoning" Model__Azure__Phi__4__Multimodal ModelID = "phi-4-multimodal" Model__Azure__Phi__4__Reasoning ModelID = "phi-4-reasoning" Model__Azure__Phi__4__Reasoning__Plus__4 ModelID = "phi-4-reasoning-plus" Model__Azure__Text__Embedding__3__Large__3 ModelID = "text-embedding-3-large" Model__Azure__Text__Embedding__3__Small__3 ModelID = "text-embedding-3-small" Model__Azure__Text__Embedding__Ada__002 ModelID = "text-embedding-ada-002" Model__Bailing__Ling__1T__1t ModelID = "Ling-1T" Model__Bailing__Ring__1T__1t ModelID = "Ring-1T" Model__Baseten__DeepSeek__V3__1 ModelID = "deepseek-ai/DeepSeek-V3.1" Model__Baseten__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-ai/DeepSeek-V4-Pro" Model__Baseten__GLM__4_7 ModelID = "zai-org/GLM-4.7" Model__Baseten__GLM__5 ModelID = "zai-org/GLM-5" Model__Baseten__GLM__5_1 ModelID = "zai-org/GLM-5.1" Model__Baseten__GLM__5_2 ModelID = "zai-org/GLM-5.2" Model__Baseten__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__Baseten__Kimi__K2__5__2_5 ModelID = "moonshotai/Kimi-K2.5" Model__Baseten__Kimi__K2__6__2_6 ModelID = "moonshotai/Kimi-K2.6" Model__Baseten__Kimi__K2__7__2_7__Code ModelID = "moonshotai/Kimi-K2.7-Code" Model__Baseten__MiniMax__M2__5__2_5 ModelID = "MiniMaxAI/MiniMax-M2.5" Model__Baseten__Nemotron__120B__A12b ModelID = "nvidia/Nemotron-120B-A12B" Model__Baseten__Nvidia__Nemotron__3__Ultra__550B__A55b ModelID = "nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B" Model__Berget__GLM__4_7 ModelID = "zai-org/GLM-4.7" Model__Berget__GLM__5_2 ModelID = "zai-org/GLM-5.2" Model__Berget__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__Berget__Gemma__4__31B__It__4 ModelID = "google/gemma-4-31B-it" Model__Berget__Kimi__K2__6__2_6 ModelID = "moonshotai/Kimi-K2.6" Model__Berget__Llama__3__3__70B__3_3__Instruct ModelID = "meta-llama/Llama-3.3-70B-Instruct" Model__Berget__Mistral__Medium__3__5__128B__3_5 ModelID = "mistralai/Mistral-Medium-3.5-128B" Model__Berget__Mistral__Small__3__2__24B__Instruct__2506__3_2__Instruct ModelID = "mistralai/Mistral-Small-3.2-24B-Instruct-2506" Model__Blueclaw__Qwen3__6__27B__3_6 ModelID = "Qwen3.6-27B" Model__Blueclaw__Qwen3__6__35B__A3b__Fp8__3_6 ModelID = "Qwen/Qwen3.6-35B-A3B-FP8" Model__Cerebras__GPT__Oss__120b ModelID = "gpt-oss-120b" Model__Cerebras__Gemma__4__31b__4 ModelID = "gemma-4-31b" Model__Cerebras__Zai__GLM__4_7 ModelID = "zai-glm-4.7" Model__Chutes__DeepSeek__V3__2__Tee ModelID = "deepseek-ai/DeepSeek-V3.2-TEE" Model__Chutes__GLM__5__1__Tee__5_1 ModelID = "zai-org/GLM-5.1-TEE" Model__Chutes__GLM__5__2__Tee__5_2 ModelID = "zai-org/GLM-5.2-TEE" Model__Chutes__GLM__5__Tee__5 ModelID = "zai-org/GLM-5-TEE" Model__Chutes__Gemma__4__31B__Turbo__Tee__4__Turbo ModelID = "google/gemma-4-31B-turbo-TEE" Model__Chutes__Kimi__K2__5__Tee ModelID = "moonshotai/Kimi-K2.5-TEE" Model__Chutes__Kimi__K2__6__Tee ModelID = "moonshotai/Kimi-K2.6-TEE" Model__Chutes__MiniMax__M2__5__Tee ModelID = "MiniMaxAI/MiniMax-M2.5-TEE" Model__Chutes__Mistral__Nemo__Instruct__2407__Tee__Instruct ModelID = "unsloth/Mistral-Nemo-Instruct-2407-TEE" Model__Chutes__Qwen3__235B__A22b__Thinking__2507__Tee__3__Thinking ModelID = "Qwen/Qwen3-235B-A22B-Thinking-2507-TEE" Model__Chutes__Qwen3__32B__Tee__3 ModelID = "Qwen/Qwen3-32B-TEE" Model__Chutes__Qwen3__5__397B__A17b__Tee__3_5 ModelID = "Qwen/Qwen3.5-397B-A17B-TEE" Model__Chutes__Qwen3__6__27B__Tee__3_6 ModelID = "Qwen/Qwen3.6-27B-TEE" Model__Clarifai__DeepSeek__Ocr ModelID = "deepseek-ai/deepseek-ocr/models/DeepSeek-OCR" Model__Clarifai__GPT__Oss__120b__High__Throughput ModelID = "openai/chat-completion/models/gpt-oss-120b-high-throughput" Model__Clarifai__GPT__Oss__20b ModelID = "openai/chat-completion/models/gpt-oss-20b" Model__Clarifai__Kimi__K2__6 ModelID = "moonshotai/chat-completion/models/Kimi-K2_6" Model__Clarifai__MiniMax__M2__5__High__Throughput ModelID = "minimaxai/chat-completion/models/MiniMax-M2_5-high-throughput" Model__Clarifai__Ministral__3__14B__Reasoning__2512__3__Reasoning ModelID = "mistralai/completion/models/Ministral-3-14B-Reasoning-2512" Model__Clarifai__Ministral__3__3B__Reasoning__2512__3__Reasoning ModelID = "mistralai/completion/models/Ministral-3-3B-Reasoning-2512" Model__Clarifai__Mm__Poly__8b ModelID = "clarifai/main/models/mm-poly-8b" Model__Clarifai__Qwen3__30B__A3b__Instruct__2507__3__Instruct ModelID = "qwen/qwenLM/models/Qwen3-30B-A3B-Instruct-2507" Model__Clarifai__Qwen3__30B__A3b__Thinking__2507__3__Thinking ModelID = "qwen/qwenLM/models/Qwen3-30B-A3B-Thinking-2507" Model__Clarifai__Qwen3__Coder__30B__A3b__3__Instruct ModelID = "qwen/qwenCoder/models/Qwen3-Coder-30B-A3B-Instruct" Model__Clarifai__Trinity__Mini ModelID = "arcee_ai/AFM/models/trinity-mini" Model__Claudinio__Claudinio ModelID = "claudinio" Model__Claudinio__Claudius ModelID = "claudius" Model__CloudFerroSherlock__Bielik__11B__V2__6__Instruct ModelID = "speakleash/Bielik-11B-v2.6-Instruct" Model__CloudFerroSherlock__Bielik__11B__V3__0__Instruct ModelID = "speakleash/Bielik-11B-v3.0-Instruct" Model__CloudFerroSherlock__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__CloudFerroSherlock__Llama__3__3__70B__3_3__Instruct ModelID = "meta-llama/Llama-3.3-70B-Instruct" Model__CloudFerroSherlock__MiniMax__M2__5__2_5 ModelID = "MiniMaxAI/MiniMax-M2.5" Model__CloudflareAIGateway__Aura__2__En__2 ModelID = "workers-ai/@cf/deepgram/aura-2-en" Model__CloudflareAIGateway__Aura__2__Es__2 ModelID = "workers-ai/@cf/deepgram/aura-2-es" Model__CloudflareAIGateway__Bart__Large__Cnn ModelID = "workers-ai/@cf/facebook/bart-large-cnn" Model__CloudflareAIGateway__Bge__Base__En__V1__5 ModelID = "workers-ai/@cf/baai/bge-base-en-v1.5" Model__CloudflareAIGateway__Bge__Large__En__V1__5 ModelID = "workers-ai/@cf/baai/bge-large-en-v1.5" Model__CloudflareAIGateway__Bge__M3 ModelID = "workers-ai/@cf/baai/bge-m3" Model__CloudflareAIGateway__Bge__Reranker__Base ModelID = "workers-ai/@cf/baai/bge-reranker-base" Model__CloudflareAIGateway__Bge__Small__En__V1__5 ModelID = "workers-ai/@cf/baai/bge-small-en-v1.5" Model__CloudflareAIGateway__Claude__3__5__Haiku__3_5_1 ModelID = "anthropic/claude-3-5-haiku" Model__CloudflareAIGateway__Claude__3__5__Haiku__3_5_2 ModelID = "anthropic/claude-3.5-haiku" Model__CloudflareAIGateway__Claude__3__5__Sonnet__3_5 ModelID = "anthropic/claude-3.5-sonnet" Model__CloudflareAIGateway__Claude__3__Haiku__3 ModelID = "anthropic/claude-3-haiku" Model__CloudflareAIGateway__Claude__3__Opus__3 ModelID = "anthropic/claude-3-opus" Model__CloudflareAIGateway__Claude__3__Sonnet__3 ModelID = "anthropic/claude-3-sonnet" Model__CloudflareAIGateway__Claude__Fable__5 ModelID = "anthropic/claude-fable-5" Model__CloudflareAIGateway__Claude__Haiku__4_5 ModelID = "anthropic/claude-haiku-4-5" Model__CloudflareAIGateway__Claude__Opus__4 ModelID = "anthropic/claude-opus-4" Model__CloudflareAIGateway__Claude__Opus__4_1 ModelID = "anthropic/claude-opus-4-1" Model__CloudflareAIGateway__Claude__Opus__4_5 ModelID = "anthropic/claude-opus-4-5" Model__CloudflareAIGateway__Claude__Opus__4_6 ModelID = "anthropic/claude-opus-4-6" Model__CloudflareAIGateway__Claude__Opus__4_7 ModelID = "anthropic/claude-opus-4-7" Model__CloudflareAIGateway__Claude__Opus__4_8 ModelID = "anthropic/claude-opus-4-8" Model__CloudflareAIGateway__Claude__Sonnet__4 ModelID = "anthropic/claude-sonnet-4" Model__CloudflareAIGateway__Claude__Sonnet__4_5 ModelID = "anthropic/claude-sonnet-4-5" Model__CloudflareAIGateway__Claude__Sonnet__4_6 ModelID = "anthropic/claude-sonnet-4-6" Model__CloudflareAIGateway__Claude__Sonnet__5 ModelID = "anthropic/claude-sonnet-5" Model__CloudflareAIGateway__DeepSeek__R1__Distill__Qwen__32b__Thinking ModelID = "workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" Model__CloudflareAIGateway__Distilbert__Sst__2__Int8__2 ModelID = "workers-ai/@cf/huggingface/distilbert-sst-2-int8" Model__CloudflareAIGateway__GLM__4__7__Flash__4_7 ModelID = "workers-ai/@cf/zai-org/glm-4.7-flash" Model__CloudflareAIGateway__GPT__3_5__Turbo ModelID = "openai/gpt-3.5-turbo" Model__CloudflareAIGateway__GPT__4 ModelID = "openai/gpt-4" Model__CloudflareAIGateway__GPT__4__Turbo ModelID = "openai/gpt-4-turbo" Model__CloudflareAIGateway__GPT__4o ModelID = "openai/gpt-4o" Model__CloudflareAIGateway__GPT__4o__Mini ModelID = "openai/gpt-4o-mini" Model__CloudflareAIGateway__GPT__5_1 ModelID = "openai/gpt-5.1" Model__CloudflareAIGateway__GPT__5_2 ModelID = "openai/gpt-5.2" Model__CloudflareAIGateway__GPT__5_4 ModelID = "openai/gpt-5.4" Model__CloudflareAIGateway__GPT__5_5 ModelID = "openai/gpt-5.5" Model__CloudflareAIGateway__GPT__5__1__Codex__5_1 ModelID = "openai/gpt-5.1-codex" Model__CloudflareAIGateway__GPT__5__2__Codex__5_2 ModelID = "openai/gpt-5.2-codex" Model__CloudflareAIGateway__GPT__5__3__Codex__5_3 ModelID = "openai/gpt-5.3-codex" Model__CloudflareAIGateway__GPT__Oss__120b ModelID = "workers-ai/@cf/openai/gpt-oss-120b" Model__CloudflareAIGateway__GPT__Oss__20b ModelID = "workers-ai/@cf/openai/gpt-oss-20b" Model__CloudflareAIGateway__Gemma__3__12b__It__3 ModelID = "workers-ai/@cf/google/gemma-3-12b-it" Model__CloudflareAIGateway__Gemma__Sea__Lion__V4__27b__It ModelID = "workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it" Model__CloudflareAIGateway__Granite__4__0__H__Micro__4_0 ModelID = "workers-ai/@cf/ibm-granite/granite-4.0-h-micro" Model__CloudflareAIGateway__Indictrans2__En__Indic__1B ModelID = "workers-ai/@cf/ai4bharat/indictrans2-en-indic-1B" Model__CloudflareAIGateway__Kimi__K2__5__2_5 ModelID = "workers-ai/@cf/moonshotai/kimi-k2.5" Model__CloudflareAIGateway__Kimi__K2__6__2_6 ModelID = "workers-ai/@cf/moonshotai/kimi-k2.6" Model__CloudflareAIGateway__Llama__2__7b__Chat__Fp16__2__Chat ModelID = "workers-ai/@cf/meta/llama-2-7b-chat-fp16" Model__CloudflareAIGateway__Llama__3__1__8b__3_1__Instruct ModelID = "workers-ai/@cf/meta/llama-3.1-8b-instruct" Model__CloudflareAIGateway__Llama__3__1__8b__Instruct__Awq__3_1__Instruct ModelID = "workers-ai/@cf/meta/llama-3.1-8b-instruct-awq" Model__CloudflareAIGateway__Llama__3__1__8b__Instruct__Fp8__3_1__Instruct ModelID = "workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8" Model__CloudflareAIGateway__Llama__3__2__11b__3_2__VisionInstruct ModelID = "workers-ai/@cf/meta/llama-3.2-11b-vision-instruct" Model__CloudflareAIGateway__Llama__3__2__1b__3_2__Instruct ModelID = "workers-ai/@cf/meta/llama-3.2-1b-instruct" Model__CloudflareAIGateway__Llama__3__2__3b__3_2__Instruct ModelID = "workers-ai/@cf/meta/llama-3.2-3b-instruct" Model__CloudflareAIGateway__Llama__3__3__70b__Instruct__Fp8__3_3__FastInstruct ModelID = "workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast" Model__CloudflareAIGateway__Llama__3__8b__3__Instruct ModelID = "workers-ai/@cf/meta/llama-3-8b-instruct" Model__CloudflareAIGateway__Llama__3__8b__Instruct__Awq__3__Instruct ModelID = "workers-ai/@cf/meta/llama-3-8b-instruct-awq" Model__CloudflareAIGateway__Llama__4__Scout__17b__16e__4__Instruct ModelID = "workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct" Model__CloudflareAIGateway__Llama__Guard__3__8b__3 ModelID = "workers-ai/@cf/meta/llama-guard-3-8b" Model__CloudflareAIGateway__M2m100__1__2b ModelID = "workers-ai/@cf/meta/m2m100-1.2b" Model__CloudflareAIGateway__Melotts ModelID = "workers-ai/@cf/myshell-ai/melotts" Model__CloudflareAIGateway__Mistral__7b__Instruct__V0__1__0_1__Instruct ModelID = "workers-ai/@cf/mistral/mistral-7b-instruct-v0.1" Model__CloudflareAIGateway__Mistral__Small__3__1__24b__3_1__Instruct ModelID = "workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct" Model__CloudflareAIGateway__Nemotron__3__120b__A12b__3 ModelID = "workers-ai/@cf/nvidia/nemotron-3-120b-a12b" Model__CloudflareAIGateway__Nova__3 ModelID = "workers-ai/@cf/deepgram/nova-3" Model__CloudflareAIGateway__O1__1 ModelID = "openai/o1" Model__CloudflareAIGateway__O3__3 ModelID = "openai/o3" Model__CloudflareAIGateway__O3__3__Mini ModelID = "openai/o3-mini" Model__CloudflareAIGateway__O3__3__Pro ModelID = "openai/o3-pro" Model__CloudflareAIGateway__O4__4__Mini ModelID = "openai/o4-mini" Model__CloudflareAIGateway__Plamo__Embedding__1b ModelID = "workers-ai/@cf/pfnet/plamo-embedding-1b" Model__CloudflareAIGateway__Qwen2__5__Coder__32b__2_5__Instruct ModelID = "workers-ai/@cf/qwen/qwen2.5-coder-32b-instruct" Model__CloudflareAIGateway__Qwen3__30b__A3b__Fp8__3 ModelID = "workers-ai/@cf/qwen/qwen3-30b-a3b-fp8" Model__CloudflareAIGateway__Qwen3__Embedding__0__6b__3 ModelID = "workers-ai/@cf/qwen/qwen3-embedding-0.6b" Model__CloudflareAIGateway__Qwq__32b ModelID = "workers-ai/@cf/qwen/qwq-32b" Model__CloudflareAIGateway__Smart__Turn__V2 ModelID = "workers-ai/@cf/pipecat-ai/smart-turn-v2" Model__CloudflareWorkersAI__DeepSeek__R1__Distill__Qwen__32b__Thinking ModelID = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" Model__CloudflareWorkersAI__GLM__4__7__Flash__4_7 ModelID = "@cf/zai-org/glm-4.7-flash" Model__CloudflareWorkersAI__GLM__5_2 ModelID = "@cf/zai-org/glm-5.2" Model__CloudflareWorkersAI__GPT__Oss__120b ModelID = "@cf/openai/gpt-oss-120b" Model__CloudflareWorkersAI__GPT__Oss__20b ModelID = "@cf/openai/gpt-oss-20b" Model__CloudflareWorkersAI__Gemma__4__26b__A4b__It__4 ModelID = "@cf/google/gemma-4-26b-a4b-it" Model__CloudflareWorkersAI__Gemma__Sea__Lion__V4__27b__It ModelID = "@cf/aisingapore/gemma-sea-lion-v4-27b-it" Model__CloudflareWorkersAI__Granite__4__0__H__Micro__4_0 ModelID = "@cf/ibm-granite/granite-4.0-h-micro" Model__CloudflareWorkersAI__Kimi__K2__6__2_6 ModelID = "@cf/moonshotai/kimi-k2.6" Model__CloudflareWorkersAI__Kimi__K2__7__2_7__Code ModelID = "@cf/moonshotai/kimi-k2.7-code" Model__CloudflareWorkersAI__Llama__3__1__8b__Instruct__Fp8__3_1__Instruct ModelID = "@cf/meta/llama-3.1-8b-instruct-fp8" Model__CloudflareWorkersAI__Llama__3__2__11b__3_2__VisionInstruct ModelID = "@cf/meta/llama-3.2-11b-vision-instruct" Model__CloudflareWorkersAI__Llama__3__2__1b__3_2__Instruct ModelID = "@cf/meta/llama-3.2-1b-instruct" Model__CloudflareWorkersAI__Llama__3__2__3b__3_2__Instruct ModelID = "@cf/meta/llama-3.2-3b-instruct" Model__CloudflareWorkersAI__Llama__3__3__70b__Instruct__Fp8__3_3__FastInstruct ModelID = "@cf/meta/llama-3.3-70b-instruct-fp8-fast" Model__CloudflareWorkersAI__Llama__4__Scout__17b__16e__4__Instruct ModelID = "@cf/meta/llama-4-scout-17b-16e-instruct" Model__CloudflareWorkersAI__Llama__Guard__3__8b__3 ModelID = "@cf/meta/llama-guard-3-8b" Model__CloudflareWorkersAI__Mistral__Small__3__1__24b__3_1__Instruct ModelID = "@cf/mistralai/mistral-small-3.1-24b-instruct" Model__CloudflareWorkersAI__Nemotron__3__120b__A12b__3 ModelID = "@cf/nvidia/nemotron-3-120b-a12b" Model__CloudflareWorkersAI__Qwen2__5__Coder__32b__2_5__Instruct ModelID = "@cf/qwen/qwen2.5-coder-32b-instruct" Model__CloudflareWorkersAI__Qwen3__30b__A3b__Fp8__3 ModelID = "@cf/qwen/qwen3-30b-a3b-fp8" Model__CloudflareWorkersAI__Qwq__32b ModelID = "@cf/qwen/qwq-32b" Model__Cohere__C4ai__Aya__Expanse__32b ModelID = "c4ai-aya-expanse-32b" Model__Cohere__C4ai__Aya__Expanse__8b ModelID = "c4ai-aya-expanse-8b" Model__Cohere__C4ai__Aya__Vision__32b__Vision ModelID = "c4ai-aya-vision-32b" Model__Cohere__C4ai__Aya__Vision__8b__Vision ModelID = "c4ai-aya-vision-8b" Model__Cohere__Command__A__20250313 ModelID = "command-a-03-2025" Model__Cohere__Command__A__Plus__20260520 ModelID = "command-a-plus-05-2026" Model__Cohere__Command__A__Reasoning__Reasoning__20250821 ModelID = "command-a-reasoning-08-2025" Model__Cohere__Command__A__Translate__20250828 ModelID = "command-a-translate-08-2025" Model__Cohere__Command__A__Vision__Vision__20250731 ModelID = "command-a-vision-07-2025" Model__Cohere__Command__R7b__12__20241202 ModelID = "command-r7b-12-2024" Model__Cohere__Command__R7b__Arabic__02__20250227 ModelID = "command-r7b-arabic-02-2025" Model__Cohere__Command__R__20240830 ModelID = "command-r-08-2024" Model__Cohere__Command__R__Plus__20240830 ModelID = "command-r-plus-08-2024" Model__Cohere__North__Mini__Code__1__0 ModelID = "north-mini-code-1-0" Model__Cortecs__Claude__4__5__Sonnet__4_5 ModelID = "claude-4-5-sonnet" Model__Cortecs__Claude__4__6__Sonnet__4_6 ModelID = "claude-4-6-sonnet" Model__Cortecs__Claude__Haiku__4_5 ModelID = "claude-haiku-4-5" Model__Cortecs__Claude__Opus4__5 ModelID = "claude-opus4-5" Model__Cortecs__Claude__Opus4__6 ModelID = "claude-opus4-6" Model__Cortecs__Claude__Opus4__7 ModelID = "claude-opus4-7" Model__Cortecs__Claude__Opus4__8 ModelID = "claude-opus4-8" Model__Cortecs__Claude__Sonnet__4 ModelID = "claude-sonnet-4" Model__Cortecs__Codestral__2508 ModelID = "codestral-2508" Model__Cortecs__DeepSeek__R1__0528__Thinking ModelID = "deepseek-r1-0528" Model__Cortecs__DeepSeek__V3__0324 ModelID = "deepseek-v3-0324" Model__Cortecs__DeepSeek__V3__2 ModelID = "deepseek-v3.2" Model__Cortecs__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__Cortecs__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__Cortecs__Devstral__2512 ModelID = "devstral-2512" Model__Cortecs__GLM__4_5 ModelID = "glm-4.5" Model__Cortecs__GLM__4_7 ModelID = "glm-4.7" Model__Cortecs__GLM__4__5__Air__4_5 ModelID = "glm-4.5-air" Model__Cortecs__GLM__4__7__Flash__4_7 ModelID = "glm-4.7-flash" Model__Cortecs__GLM__5 ModelID = "glm-5" Model__Cortecs__GLM__5_1 ModelID = "glm-5.1" Model__Cortecs__GLM__5_2 ModelID = "glm-5.2" Model__Cortecs__GLM__5__Turbo ModelID = "glm-5-turbo" Model__Cortecs__GLM__5v__5__Turbo ModelID = "glm-5v-turbo" Model__Cortecs__GPT__4_1 ModelID = "gpt-4.1" Model__Cortecs__GPT__5_4 ModelID = "gpt-5.4" Model__Cortecs__GPT__Oss__120b ModelID = "gpt-oss-120b" Model__Cortecs__Gemini__2__5__Pro__2_5 ModelID = "gemini-2.5-pro" Model__Cortecs__Hermes__4__70b__4 ModelID = "hermes-4-70b" Model__Cortecs__Intellect__3 ModelID = "intellect-3" Model__Cortecs__Kimi__K2__2__Instruct ModelID = "kimi-k2-instruct" Model__Cortecs__Kimi__K2__2__Thinking ModelID = "kimi-k2-thinking" Model__Cortecs__Kimi__K2__5__2_5__Thinking ModelID = "kimi-k2.5" Model__Cortecs__Kimi__K2__6__2_6__Thinking ModelID = "kimi-k2.6" Model__Cortecs__Kimi__K2__7__2_7__Code ModelID = "kimi-k2.7-code" Model__Cortecs__Llama__3__1__405b__3_1__Instruct ModelID = "llama-3.1-405b-instruct" Model__Cortecs__Llama__3__3__70b__3_3__Instruct ModelID = "llama-3.3-70b-instruct" Model__Cortecs__Llama__4__Maverick__4 ModelID = "llama-4-maverick" Model__Cortecs__MiniMax__M2__1__2_1 ModelID = "minimax-m2.1" Model__Cortecs__MiniMax__M2__2 ModelID = "minimax-m2" Model__Cortecs__MiniMax__M2__5__2_5 ModelID = "minimax-m2.5" Model__Cortecs__MiniMax__M2__7__2_7 ModelID = "minimax-m2.7" Model__Cortecs__MiniMax__M3__3 ModelID = "minimax-m3" Model__Cortecs__Mistral__Large__2512 ModelID = "mistral-large-2512" Model__Cortecs__Mixtral__8x7B__Instruct__V0__1__0_1__Instruct ModelID = "mixtral-8x7B-instruct-v0.1" Model__Cortecs__Nemotron__3__Super__120b__A12b__3 ModelID = "nemotron-3-super-120b-a12b" Model__Cortecs__Nova__Pro__V1 ModelID = "nova-pro-v1" Model__Cortecs__Qwen3__235b__A22b__Instruct__2507__3__Instruct ModelID = "qwen3-235b-a22b-instruct-2507" Model__Cortecs__Qwen3__32b__3 ModelID = "qwen3-32b" Model__Cortecs__Qwen3__5__122b__A10b__3_5 ModelID = "qwen3.5-122b-a10b" Model__Cortecs__Qwen3__5__397b__A17b__3_5 ModelID = "qwen3.5-397b-a17b" Model__Cortecs__Qwen3__Coder__30b__A3b__3__Instruct ModelID = "qwen3-coder-30b-a3b-instruct" Model__Cortecs__Qwen3__Coder__480b__A35b__3__Instruct ModelID = "qwen3-coder-480b-a35b-instruct" Model__Cortecs__Qwen3__Coder__Next__3 ModelID = "qwen3-coder-next" Model__Cortecs__Qwen3__Next__80b__A3b__3__Thinking ModelID = "qwen3-next-80b-a3b-thinking" Model__Cortecs__Qwen__2__5__72b__2_5__Instruct ModelID = "qwen-2.5-72b-instruct" Model__Crof__DeepSeek__V3__2 ModelID = "deepseek-v3.2" Model__Crof__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__Crof__DeepSeek__V4__Pro__Lightning__Thinking ModelID = "deepseek-v4-pro-lightning" Model__Crof__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__Crof__GLM__4_7 ModelID = "glm-4.7" Model__Crof__GLM__4__7__Flash__4_7 ModelID = "glm-4.7-flash" Model__Crof__GLM__5 ModelID = "glm-5" Model__Crof__GLM__5_1 ModelID = "glm-5.1" Model__Crof__GLM__5_2 ModelID = "glm-5.2" Model__Crof__Gemma__4__31b__It__4 ModelID = "gemma-4-31b-it" Model__Crof__Greg__1__Mini__1 ModelID = "greg-1-mini" Model__Crof__Greg__2__Super__2 ModelID = "greg-2-super" Model__Crof__Greg__2__Ultra__2 ModelID = "greg-2-ultra" Model__Crof__Greg__Rp ModelID = "greg-rp" Model__Crof__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__Crof__Kimi__K2__5__2_5__Lightning ModelID = "kimi-k2.5-lightning" Model__Crof__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__Crof__Kimi__K2__7__2_7__Code ModelID = "kimi-k2.7-code" Model__Crof__Mimo__V2__5__2_5__Pro ModelID = "mimo-v2.5-pro" Model__Crof__MiniMax__M2__5__2_5 ModelID = "minimax-m2.5" Model__Crof__Qwen3__5__397b__A17b__3_5 ModelID = "qwen3.5-397b-a17b" Model__Crof__Qwen3__5__9b__3_5 ModelID = "qwen3.5-9b" Model__Crof__Qwen3__6__27b__3_6 ModelID = "qwen3.6-27b" Model__CrossModel__Claude__Fable__5 ModelID = "anthropic/claude-fable-5" Model__CrossModel__Claude__Haiku__4_5 ModelID = "anthropic/claude-haiku-4-5" Model__CrossModel__Claude__Opus__4_7 ModelID = "anthropic/claude-opus-4-7" Model__CrossModel__Claude__Opus__4_8 ModelID = "anthropic/claude-opus-4-8" Model__CrossModel__Claude__Sonnet__4_6 ModelID = "anthropic/claude-sonnet-4-6" Model__CrossModel__Claude__Sonnet__5 ModelID = "anthropic/claude-sonnet-5" Model__CrossModel__DeepSeek__V4__Flash ModelID = "deepseek/deepseek-v4-flash" Model__CrossModel__DeepSeek__V4__Pro__Thinking ModelID = "deepseek/deepseek-v4-pro" Model__CrossModel__GLM__4_7 ModelID = "z-ai/glm-4.7" Model__CrossModel__GLM__5 ModelID = "z-ai/glm-5" Model__CrossModel__GLM__5_1 ModelID = "z-ai/glm-5.1" Model__CrossModel__GLM__5_2 ModelID = "z-ai/glm-5.2" Model__CrossModel__GLM__5__Turbo ModelID = "z-ai/glm-5-turbo" Model__CrossModel__GPT__4o__Mini ModelID = "openai/gpt-4o-mini" Model__CrossModel__GPT__5_4 ModelID = "openai/gpt-5.4" Model__CrossModel__GPT__5_5 ModelID = "openai/gpt-5.5" Model__CrossModel__GPT__5__4__Mini__5_4 ModelID = "openai/gpt-5.4-mini" Model__CrossModel__GPT__5__4__Nano__5_4 ModelID = "openai/gpt-5.4-nano" Model__CrossModel__GPT__5__5__Pro__5_5 ModelID = "openai/gpt-5.5-pro" Model__CrossModel__Gemini__2__5__Flash__2_5 ModelID = "gemini/gemini-2.5-flash" Model__CrossModel__Gemini__2__5__Flash__Lite__2_5 ModelID = "gemini/gemini-2.5-flash-lite" Model__CrossModel__Gemini__2__5__Pro__2_5 ModelID = "gemini/gemini-2.5-pro" Model__CrossModel__Gemini__3__1__Pro__3_1__Preview ModelID = "gemini/gemini-3.1-pro-preview" Model__CrossModel__Gemini__3__5__Flash__3_5 ModelID = "gemini/gemini-3.5-flash" Model__CrossModel__Gemini__3__Flash__3__Preview ModelID = "gemini/gemini-3-flash-preview" Model__CrossModel__Hy3__3__Preview ModelID = "tencent/hy3-preview" Model__CrossModel__Kimi__K2__5__2_5 ModelID = "moonshot/kimi-k2.5" Model__CrossModel__Kimi__K2__6__2_6 ModelID = "moonshot/kimi-k2.6" Model__CrossModel__Kimi__K2__7__2_7__Code ModelID = "moonshot/kimi-k2.7-code" Model__CrossModel__Mimo__V2__5__2_5 ModelID = "xiaomi/mimo-v2.5" Model__CrossModel__Mimo__V2__5__2_5__Pro ModelID = "xiaomi/mimo-v2.5-pro" Model__CrossModel__MiniMax__M2__7__2_7 ModelID = "minimax/minimax-m2.7" Model__CrossModel__MiniMax__M3__3 ModelID = "minimax/minimax-m3" Model__CrossModel__Qwen3__6__Flash__3_6 ModelID = "qwen/qwen3.6-flash" Model__CrossModel__Qwen3__6__Plus__3_6 ModelID = "qwen/qwen3.6-plus" Model__CrossModel__Qwen3__7__Max__3_7 ModelID = "qwen/qwen3.7-max" Model__CrossModel__Qwen3__7__Plus__3_7 ModelID = "qwen/qwen3.7-plus" Model__DInference__GLM__4_7 ModelID = "glm-4.7" Model__DInference__GLM__5 ModelID = "glm-5" Model__DInference__GLM__5_1 ModelID = "glm-5.1" Model__DInference__GPT__Oss__120b ModelID = "gpt-oss-120b" Model__DInference__MiniMax__M2__5__2_5 ModelID = "minimax-m2.5" Model__DaoXE__Claude__Haiku__4_5__20251001 ModelID = "claude-haiku-4-5-20251001" Model__DaoXE__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__DaoXE__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__DaoXE__GPT__5_4 ModelID = "gpt-5.4" Model__DaoXE__GPT__5_5 ModelID = "gpt-5.5" Model__DaoXE__Gemini__3__1__Pro__3_1__Preview ModelID = "gemini-3.1-pro-preview" Model__DaoXE__Grok__4_3 ModelID = "grok-4.3" Model__DaoXE__Grok__4_5 ModelID = "grok-4.5" Model__DaoXE__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__Databricks__Databricks__Claude__Haiku__4__5 ModelID = "databricks-claude-haiku-4-5" Model__Databricks__Databricks__Claude__Opus__4__1 ModelID = "databricks-claude-opus-4-1" Model__Databricks__Databricks__Claude__Opus__4__5 ModelID = "databricks-claude-opus-4-5" Model__Databricks__Databricks__Claude__Opus__4__6 ModelID = "databricks-claude-opus-4-6" Model__Databricks__Databricks__Claude__Opus__4__7 ModelID = "databricks-claude-opus-4-7" Model__Databricks__Databricks__Claude__Sonnet__4 ModelID = "databricks-claude-sonnet-4" Model__Databricks__Databricks__Claude__Sonnet__4__5 ModelID = "databricks-claude-sonnet-4-5" Model__Databricks__Databricks__Claude__Sonnet__4__6 ModelID = "databricks-claude-sonnet-4-6" Model__Databricks__Databricks__GLM__5__2 ModelID = "databricks-glm-5-2" Model__Databricks__Databricks__GPT__5 ModelID = "databricks-gpt-5" Model__Databricks__Databricks__GPT__5__1 ModelID = "databricks-gpt-5-1" Model__Databricks__Databricks__GPT__5__2 ModelID = "databricks-gpt-5-2" Model__Databricks__Databricks__GPT__5__4 ModelID = "databricks-gpt-5-4" Model__Databricks__Databricks__GPT__5__4__Mini ModelID = "databricks-gpt-5-4-mini" Model__Databricks__Databricks__GPT__5__4__Nano ModelID = "databricks-gpt-5-4-nano" Model__Databricks__Databricks__GPT__5__5 ModelID = "databricks-gpt-5-5" Model__Databricks__Databricks__GPT__5__Mini ModelID = "databricks-gpt-5-mini" Model__Databricks__Databricks__GPT__5__Nano ModelID = "databricks-gpt-5-nano" Model__Databricks__Databricks__GPT__Oss__120b ModelID = "databricks-gpt-oss-120b" Model__Databricks__Databricks__GPT__Oss__20b ModelID = "databricks-gpt-oss-20b" Model__Databricks__Databricks__Gemini__2__5__Flash ModelID = "databricks-gemini-2-5-flash" Model__Databricks__Databricks__Gemini__2__5__Pro ModelID = "databricks-gemini-2-5-pro" Model__Databricks__Databricks__Gemini__3__1__Flash__Lite ModelID = "databricks-gemini-3-1-flash-lite" Model__Databricks__Databricks__Gemini__3__1__Pro ModelID = "databricks-gemini-3-1-pro" Model__Databricks__Databricks__Gemini__3__Flash ModelID = "databricks-gemini-3-flash" Model__Databricks__Databricks__Gemini__3__Pro ModelID = "databricks-gemini-3-pro" Model__Databricks__Databricks__Kimi__K2__7__Code ModelID = "databricks-kimi-k2-7-code" Model__DeepInfra__DeepSeek__R1__0528 ModelID = "deepseek-ai/DeepSeek-R1-0528" Model__DeepInfra__DeepSeek__V3__2 ModelID = "deepseek-ai/DeepSeek-V3.2" Model__DeepInfra__DeepSeek__V4__Flash ModelID = "deepseek-ai/DeepSeek-V4-Flash" Model__DeepInfra__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-ai/DeepSeek-V4-Pro" Model__DeepInfra__GLM__4_6 ModelID = "zai-org/GLM-4.6" Model__DeepInfra__GLM__4_7 ModelID = "zai-org/GLM-4.7" Model__DeepInfra__GLM__4__7__Flash__4_7 ModelID = "zai-org/GLM-4.7-Flash" Model__DeepInfra__GLM__5 ModelID = "zai-org/GLM-5" Model__DeepInfra__GLM__5_1 ModelID = "zai-org/GLM-5.1" Model__DeepInfra__GLM__5_2 ModelID = "zai-org/GLM-5.2" Model__DeepInfra__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__DeepInfra__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__DeepInfra__Gemma__4__26B__A4b__It__4 ModelID = "google/gemma-4-26B-A4B-it" Model__DeepInfra__Gemma__4__31B__It__4 ModelID = "google/gemma-4-31B-it" Model__DeepInfra__Kimi__K2__5__2_5 ModelID = "moonshotai/Kimi-K2.5" Model__DeepInfra__Kimi__K2__6__2_6 ModelID = "moonshotai/Kimi-K2.6" Model__DeepInfra__Kimi__K2__7__2_7__Code ModelID = "moonshotai/Kimi-K2.7-Code" Model__DeepInfra__Llama__3__3__70B__3_3__TurboInstruct ModelID = "meta-llama/Llama-3.3-70B-Instruct-Turbo" Model__DeepInfra__Llama__3__3__Nemotron__Super__49B__V1__5__3_3 ModelID = "nvidia/Llama-3.3-Nemotron-Super-49B-v1.5" Model__DeepInfra__Llama__4__Maverick__17B__128E__Instruct__Fp8__4__Instruct ModelID = "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8" Model__DeepInfra__Llama__4__Scout__17B__16E__4__Instruct ModelID = "meta-llama/Llama-4-Scout-17B-16E-Instruct" Model__DeepInfra__Mimo__V2__5__2_5 ModelID = "XiaomiMiMo/MiMo-V2.5" Model__DeepInfra__Mimo__V2__5__2_5__Pro ModelID = "XiaomiMiMo/MiMo-V2.5-Pro" Model__DeepInfra__MiniMax__M2__5__2_5 ModelID = "MiniMaxAI/MiniMax-M2.5" Model__DeepInfra__MiniMax__M2__7__2_7 ModelID = "MiniMaxAI/MiniMax-M2.7" Model__DeepInfra__MiniMax__M3__3 ModelID = "MiniMaxAI/MiniMax-M3" Model__DeepInfra__Nemotron__3__Nano__30B__A3b__3 ModelID = "nvidia/Nemotron-3-Nano-30B-A3B" Model__DeepInfra__Nemotron__3__Nano__Omni__30B__A3b__3__ReasoningOmni ModelID = "nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning" Model__DeepInfra__Qwen3__32B__3 ModelID = "Qwen/Qwen3-32B" Model__DeepInfra__Qwen3__5__122B__A10b__3_5 ModelID = "Qwen/Qwen3.5-122B-A10B" Model__DeepInfra__Qwen3__5__27B__3_5 ModelID = "Qwen/Qwen3.5-27B" Model__DeepInfra__Qwen3__5__35B__A3b__3_5 ModelID = "Qwen/Qwen3.5-35B-A3B" Model__DeepInfra__Qwen3__5__397B__A17b__3_5 ModelID = "Qwen/Qwen3.5-397B-A17B" Model__DeepInfra__Qwen3__5__9B__3_5 ModelID = "Qwen/Qwen3.5-9B" Model__DeepInfra__Qwen3__6__27B__3_6 ModelID = "Qwen/Qwen3.6-27B" Model__DeepInfra__Qwen3__6__35B__A3b__3_6 ModelID = "Qwen/Qwen3.6-35B-A3B" Model__DeepInfra__Qwen3__7__Max__3_7 ModelID = "Qwen/Qwen3.7-Max" Model__DeepInfra__Qwen3__Coder__480B__A35b__Instruct__Turbo__3 ModelID = "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo" Model__DeepInfra__Qwen3__Max__3 ModelID = "Qwen/Qwen3-Max" Model__DeepInfra__Qwen3__Next__80B__A3b__3__Instruct ModelID = "Qwen/Qwen3-Next-80B-A3B-Instruct" Model__DeepSeek__DeepSeek__Chat ModelID = "deepseek-chat" Model__DeepSeek__DeepSeek__Reasoner__Thinking ModelID = "deepseek-reasoner" Model__DeepSeek__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__DeepSeek__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__DigitalOcean__Alibaba__Qwen3__32b ModelID = "alibaba-qwen3-32b" Model__DigitalOcean__All__Mini__Lm__L6__V2 ModelID = "all-mini-lm-l6-v2" Model__DigitalOcean__Anthropic__Claude__3__5__Haiku ModelID = "anthropic-claude-3.5-haiku" Model__DigitalOcean__Anthropic__Claude__3__5__Sonnet ModelID = "anthropic-claude-3.5-sonnet" Model__DigitalOcean__Anthropic__Claude__3__7__Sonnet ModelID = "anthropic-claude-3.7-sonnet" Model__DigitalOcean__Anthropic__Claude__3__Opus ModelID = "anthropic-claude-3-opus" Model__DigitalOcean__Anthropic__Claude__4__1__Opus ModelID = "anthropic-claude-4.1-opus" Model__DigitalOcean__Anthropic__Claude__4__5__Haiku ModelID = "anthropic-claude-4.5-haiku" Model__DigitalOcean__Anthropic__Claude__4__5__Sonnet ModelID = "anthropic-claude-4.5-sonnet" Model__DigitalOcean__Anthropic__Claude__4__6__Sonnet ModelID = "anthropic-claude-4.6-sonnet" Model__DigitalOcean__Anthropic__Claude__Fable__5 ModelID = "anthropic-claude-fable-5" Model__DigitalOcean__Anthropic__Claude__Haiku__4__5 ModelID = "anthropic-claude-haiku-4.5" Model__DigitalOcean__Anthropic__Claude__Opus__4 ModelID = "anthropic-claude-opus-4" Model__DigitalOcean__Anthropic__Claude__Opus__4__5 ModelID = "anthropic-claude-opus-4.5" Model__DigitalOcean__Anthropic__Claude__Opus__4__6 ModelID = "anthropic-claude-opus-4.6" Model__DigitalOcean__Anthropic__Claude__Opus__4__7 ModelID = "anthropic-claude-opus-4.7" Model__DigitalOcean__Anthropic__Claude__Opus__4__8 ModelID = "anthropic-claude-opus-4.8" Model__DigitalOcean__Anthropic__Claude__Sonnet__4 ModelID = "anthropic-claude-sonnet-4" Model__DigitalOcean__Arcee__Trinity__Large__Thinking ModelID = "arcee-trinity-large-thinking" Model__DigitalOcean__Bge__M3 ModelID = "bge-m3" Model__DigitalOcean__Bge__Reranker__V2__M3 ModelID = "bge-reranker-v2-m3" Model__DigitalOcean__DeepSeek__3_2 ModelID = "deepseek-3.2" Model__DigitalOcean__DeepSeek__4__Flash__4 ModelID = "deepseek-4-flash" Model__DigitalOcean__DeepSeek__R1__Distill__Llama__70b__Thinking ModelID = "deepseek-r1-distill-llama-70b" Model__DigitalOcean__DeepSeek__V3 ModelID = "deepseek-v3" Model__DigitalOcean__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__DigitalOcean__E5__Large__V2 ModelID = "e5-large-v2" Model__DigitalOcean__Fast__Sdxl ModelID = "fal-ai/fast-sdxl" Model__DigitalOcean__GLM__5 ModelID = "glm-5" Model__DigitalOcean__GLM__5_1 ModelID = "glm-5.1" Model__DigitalOcean__GLM__5_2 ModelID = "glm-5.2" Model__DigitalOcean__Gemma__4__31B__It__4 ModelID = "gemma-4-31B-it" Model__DigitalOcean__Gte__Large__En__V1__5 ModelID = "gte-large-en-v1.5" Model__DigitalOcean__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__DigitalOcean__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__DigitalOcean__Llama3__3__70b__Instruct ModelID = "llama3.3-70b-instruct" Model__DigitalOcean__Llama3__8b__Instruct ModelID = "llama3-8b-instruct" Model__DigitalOcean__Llama__4__Maverick__4 ModelID = "llama-4-maverick" Model__DigitalOcean__MiniMax__M2__5__2_5 ModelID = "minimax-m2.5" Model__DigitalOcean__Ministral__3__8b__Instruct__2512__3__Instruct ModelID = "ministral-3-8b-instruct-2512" Model__DigitalOcean__Mistral__3__14B ModelID = "mistral-3-14B" Model__DigitalOcean__Mistral__7b__Instruct__V0__3__0_3__Instruct ModelID = "mistral-7b-instruct-v0.3" Model__DigitalOcean__Mistral__Nemo__Instruct__2407__Instruct ModelID = "mistral-nemo-instruct-2407" Model__DigitalOcean__Multi__Qa__Mpnet__Base__Dot__V1 ModelID = "multi-qa-mpnet-base-dot-v1" Model__DigitalOcean__Multilingual__V2 ModelID = "fal-ai/elevenlabs/tts/multilingual-v2" Model__DigitalOcean__Nemotron__3__Nano__30b__3 ModelID = "nemotron-3-nano-30b" Model__DigitalOcean__Nemotron__3__Nano__3__Omni ModelID = "nemotron-3-nano-omni" Model__DigitalOcean__Nemotron__3__Ultra__550b__3 ModelID = "nemotron-3-ultra-550b" Model__DigitalOcean__Nemotron__Nano__12b__V2__Vl ModelID = "nemotron-nano-12b-v2-vl" Model__DigitalOcean__Nvidia__Nemotron__3__Super__120b ModelID = "nvidia-nemotron-3-super-120b" Model__DigitalOcean__OpenAI__GPT__4__1 ModelID = "openai-gpt-4.1" Model__DigitalOcean__OpenAI__GPT__4o ModelID = "openai-gpt-4o" Model__DigitalOcean__OpenAI__GPT__4o__Mini ModelID = "openai-gpt-4o-mini" Model__DigitalOcean__OpenAI__GPT__5 ModelID = "openai-gpt-5" Model__DigitalOcean__OpenAI__GPT__5__1__Codex__Max ModelID = "openai-gpt-5.1-codex-max" Model__DigitalOcean__OpenAI__GPT__5__2 ModelID = "openai-gpt-5.2" Model__DigitalOcean__OpenAI__GPT__5__2__Pro ModelID = "openai-gpt-5.2-pro" Model__DigitalOcean__OpenAI__GPT__5__3__Codex ModelID = "openai-gpt-5.3-codex" Model__DigitalOcean__OpenAI__GPT__5__4 ModelID = "openai-gpt-5.4" Model__DigitalOcean__OpenAI__GPT__5__4__Mini ModelID = "openai-gpt-5.4-mini" Model__DigitalOcean__OpenAI__GPT__5__4__Nano ModelID = "openai-gpt-5.4-nano" Model__DigitalOcean__OpenAI__GPT__5__4__Pro ModelID = "openai-gpt-5.4-pro" Model__DigitalOcean__OpenAI__GPT__5__5 ModelID = "openai-gpt-5.5" Model__DigitalOcean__OpenAI__GPT__5__Mini ModelID = "openai-gpt-5-mini" Model__DigitalOcean__OpenAI__GPT__5__Nano ModelID = "openai-gpt-5-nano" Model__DigitalOcean__OpenAI__GPT__Image__1 ModelID = "openai-gpt-image-1" Model__DigitalOcean__OpenAI__GPT__Image__1__5 ModelID = "openai-gpt-image-1.5" Model__DigitalOcean__OpenAI__GPT__Image__2 ModelID = "openai-gpt-image-2" Model__DigitalOcean__OpenAI__GPT__Oss__120b ModelID = "openai-gpt-oss-120b" Model__DigitalOcean__OpenAI__GPT__Oss__20b ModelID = "openai-gpt-oss-20b" Model__DigitalOcean__OpenAI__O1 ModelID = "openai-o1" Model__DigitalOcean__OpenAI__O3 ModelID = "openai-o3" Model__DigitalOcean__OpenAI__O3__Mini ModelID = "openai-o3-mini" Model__DigitalOcean__Qwen3__5__397b__A17b__3_5 ModelID = "qwen3.5-397b-a17b" Model__DigitalOcean__Qwen3__Coder__Flash__3 ModelID = "qwen3-coder-flash" Model__DigitalOcean__Qwen3__Embedding__0__6b__3 ModelID = "qwen3-embedding-0.6b" Model__DigitalOcean__Qwen3__Tts__Voicedesign__3 ModelID = "qwen3-tts-voicedesign" Model__DigitalOcean__Qwen__2__5__14b__2_5__Instruct ModelID = "qwen-2.5-14b-instruct" Model__DigitalOcean__Schnell ModelID = "fal-ai/flux/schnell" Model__DigitalOcean__Stable__Diffusion__3__5__Large__3_5 ModelID = "stable-diffusion-3.5-large" Model__DigitalOcean__Text__To__Audio ModelID = "fal-ai/stable-audio-25/text-to-audio" Model__DigitalOcean__Wan2__2__T2v__A14b__2 ModelID = "wan2-2-t2v-a14b" Model__Drun__DeepSeek__R1__Thinking ModelID = "public/deepseek-r1" Model__Drun__DeepSeek__V3 ModelID = "public/deepseek-v3" Model__Drun__MiniMax__M25__25 ModelID = "public/minimax-m25" Model__EmpirioLabs__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__EmpirioLabs__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__EmpirioLabs__Fugu__Ultra ModelID = "fugu-ultra" Model__EmpirioLabs__GLM__4__5__Flash__4_5 ModelID = "glm-4-5-flash" Model__EmpirioLabs__GLM__4__7__Flash__4_7 ModelID = "glm-4-7-flash" Model__EmpirioLabs__GLM__5_1 ModelID = "glm-5-1" Model__EmpirioLabs__GLM__5_2 ModelID = "glm-5-2" Model__EmpirioLabs__Gemma__4__26b__A4b__4 ModelID = "gemma-4-26b-a4b" Model__EmpirioLabs__Kimi__K2__6__2_6 ModelID = "kimi-k2-6" Model__EmpirioLabs__Kimi__K2__7__2_7__Code ModelID = "kimi-k2-7-code" Model__EmpirioLabs__Kimi__K2__7__Code__Highspeed__2_7 ModelID = "kimi-k2-7-code-highspeed" Model__EmpirioLabs__Mimo__V2__5__2_5 ModelID = "mimo-v2-5" Model__EmpirioLabs__Mimo__V2__5__2_5__Pro ModelID = "mimo-v2-5-pro" Model__EmpirioLabs__MiniMax__M2__7__2_7 ModelID = "minimax-m2-7" Model__EmpirioLabs__MiniMax__M2__7__2_7__Highspeed ModelID = "minimax-m2-7-highspeed" Model__EmpirioLabs__MiniMax__M3__3 ModelID = "minimax-m3" Model__EmpirioLabs__Muse__Spark__1_1 ModelID = "muse-spark-1-1" Model__EmpirioLabs__Qwen3__5__122b__A10b__3 ModelID = "qwen3-5-122b-a10b" Model__EmpirioLabs__Qwen3__5__27b__3 ModelID = "qwen3-5-27b" Model__EmpirioLabs__Qwen3__5__35b__A3b__3 ModelID = "qwen3-5-35b-a3b" Model__EmpirioLabs__Qwen3__5__397b__A17b__3 ModelID = "qwen3-5-397b-a17b" Model__EmpirioLabs__Qwen3__5__4b__3 ModelID = "qwen3-5-4b" Model__EmpirioLabs__Qwen3__5__9b__3 ModelID = "qwen3-5-9b" Model__EmpirioLabs__Qwen3__5__Plus__3 ModelID = "qwen3-5-plus" Model__EmpirioLabs__Qwen3__6__27b__3 ModelID = "qwen3-6-27b" Model__EmpirioLabs__Qwen3__6__Flash__3 ModelID = "qwen3-6-flash" Model__EmpirioLabs__Qwen3__6__Max__3__Preview ModelID = "qwen3-6-max-preview" Model__EmpirioLabs__Qwen3__6__Plus__3 ModelID = "qwen3-6-plus" Model__EmpirioLabs__Qwen3__7__Max__3 ModelID = "qwen3-7-max" Model__EmpirioLabs__Qwen3__7__Plus__3 ModelID = "qwen3-7-plus" Model__EmpirioLabs__Qwen3__Max__3 ModelID = "qwen3-max" Model__EmpirioLabs__Step__3__5__Flash__2603__3_5 ModelID = "step-3-5-flash-2603" Model__EmpirioLabs__Step__3__5__Flash__3_5 ModelID = "step-3-5-flash" Model__EmpirioLabs__Step__3__7__Flash__3_7 ModelID = "step-3-7-flash" Model__Evroc__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__Evroc__Gemma__4__26B__A4b__It__4 ModelID = "google/gemma-4-26B-A4B-it" Model__Evroc__Kb__Whisper__Large ModelID = "KBLab/kb-whisper-large" Model__Evroc__Kimi__K2__6__2_6 ModelID = "moonshotai/Kimi-K2.6" Model__Evroc__Llama__3__3__70B__Instruct__Fp8__3_3__Instruct ModelID = "nvidia/Llama-3.3-70B-Instruct-FP8" Model__Evroc__Mistral__Medium__3__5__128B__3_5 ModelID = "mistralai/Mistral-Medium-3.5-128B" Model__Evroc__Multilingual__E5__Large__Instruct ModelID = "intfloat/multilingual-e5-large-instruct" Model__Evroc__Qwen3__6__35B__A3b__Fp8__3_6 ModelID = "Qwen/Qwen3.6-35B-A3B-FP8" Model__Evroc__Qwen3__Embedding__8B__3 ModelID = "Qwen/Qwen3-Embedding-8B" Model__Evroc__Qwen3__Reranker__4B__3 ModelID = "Qwen/Qwen3-Reranker-4B" Model__Evroc__Qwen3__Vl__30B__A3b__3__Instruct ModelID = "Qwen/Qwen3-VL-30B-A3B-Instruct" Model__Evroc__Roc ModelID = "evroc/roc" Model__Evroc__Voxtral__Small__24B__2507 ModelID = "mistralai/Voxtral-Small-24B-2507" Model__Evroc__Whisper__Large__V3__3 ModelID = "openai/whisper-large-v3" Model__Evroc__Whisper__Large__V3__3__Turbo ModelID = "openai/whisper-large-v3-turbo" Model__FastRouter__Claude__Opus__4_1 ModelID = "anthropic/claude-opus-4.1" Model__FastRouter__Claude__Opus__4_8 ModelID = "anthropic/claude-opus-4.8" Model__FastRouter__Claude__Sonnet__4 ModelID = "anthropic/claude-sonnet-4" Model__FastRouter__Claude__Sonnet__4_6 ModelID = "anthropic/claude-sonnet-4.6" Model__FastRouter__DeepSeek__R1__Distill__Llama__70b__Thinking ModelID = "deepseek-ai/deepseek-r1-distill-llama-70b" Model__FastRouter__DeepSeek__V4__Pro__Thinking ModelID = "deepseek/deepseek-v4-pro" Model__FastRouter__GLM__5 ModelID = "z-ai/glm-5" Model__FastRouter__GLM__5_1 ModelID = "z-ai/glm-5.1" Model__FastRouter__GPT__4_1 ModelID = "openai/gpt-4.1" Model__FastRouter__GPT__5 ModelID = "openai/gpt-5" Model__FastRouter__GPT__5_5 ModelID = "openai/gpt-5.5" Model__FastRouter__GPT__5__3__Codex__5_3 ModelID = "openai/gpt-5.3-codex" Model__FastRouter__GPT__5__4__Mini__5_4 ModelID = "openai/gpt-5.4-mini" Model__FastRouter__GPT__5__4__Nano__5_4 ModelID = "openai/gpt-5.4-nano" Model__FastRouter__GPT__5__5__Pro__5_5 ModelID = "openai/gpt-5.5-pro" Model__FastRouter__GPT__5__Mini__5 ModelID = "openai/gpt-5-mini" Model__FastRouter__GPT__5__Nano__5 ModelID = "openai/gpt-5-nano" Model__FastRouter__GPT__Image__2 ModelID = "openai/gpt-image-2" Model__FastRouter__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__FastRouter__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__FastRouter__GPT__Realtime__1_5__Realtime ModelID = "openai/gpt-realtime-1.5" Model__FastRouter__Gemini__2__5__Flash__2_5 ModelID = "google/gemini-2.5-flash" Model__FastRouter__Gemini__2__5__Pro__2_5 ModelID = "google/gemini-2.5-pro" Model__FastRouter__Gemini__3__1__Flash__Image__3_1__Preview ModelID = "google/gemini-3.1-flash-image-preview" Model__FastRouter__Gemini__3__1__Pro__3_1__Preview ModelID = "google/gemini-3.1-pro-preview" Model__FastRouter__Gemini__3__5__Flash__3_5 ModelID = "google/gemini-3.5-flash" Model__FastRouter__Gemini__3__Pro__Image__3__Preview ModelID = "google/gemini-3-pro-image-preview" Model__FastRouter__Gemma__4__31b__It__4 ModelID = "google/gemma-4-31b-it" Model__FastRouter__Grok__4 ModelID = "x-ai/grok-4" Model__FastRouter__Grok__4_3 ModelID = "x-ai/grok-4.3" Model__FastRouter__Grok__Build__0_1 ModelID = "x-ai/grok-build-0.1" Model__FastRouter__Imagen__4_0__Fast ModelID = "google/imagen-4.0-fast" Model__FastRouter__Imagen__4__0__Ultra__4_0 ModelID = "google/imagen-4.0-ultra" Model__FastRouter__Kimi__K2__2 ModelID = "moonshotai/kimi-k2" Model__FastRouter__Kimi__K2__6__2_6 ModelID = "moonshotai/kimi-k2.6" Model__FastRouter__Lucid__Origin ModelID = "leonardo-ai/lucid-origin" Model__FastRouter__Lucid__Realism ModelID = "leonardo-ai/lucid-realism" Model__FastRouter__MiniMax__M2__7__2_7 ModelID = "minimax/minimax-m2.7" Model__FastRouter__MiniMax__M2__7__2_7__Highspeed ModelID = "minimax/minimax-m2.7-highspeed" Model__FastRouter__Qwen3__Coder__3 ModelID = "qwen/qwen3-coder" Model__FastRouter__Sarvam__105b ModelID = "sarvam/sarvam-105b" Model__FastRouter__Sarvam__30b ModelID = "sarvam/sarvam-30b" Model__FastRouter__Seedance__2 ModelID = "bytedance/seedance-2" Model__FastRouter__Veo3__1__3_1 ModelID = "google/veo3.1" Model__FastRouter__Veo3__1__3_1__Fast ModelID = "google/veo3.1-fast" Model__FastRouter__Veo3__1__Lite ModelID = "google/veo3.1-lite" Model__FastRouter__Wan__V2__6 ModelID = "wanx/wan-v2-6" Model__FireworksAI__DeepSeek__V4__Flash ModelID = "accounts/fireworks/models/deepseek-v4-flash" Model__FireworksAI__DeepSeek__V4__Pro__Thinking ModelID = "accounts/fireworks/models/deepseek-v4-pro" Model__FireworksAI__GLM__5p1 ModelID = "accounts/fireworks/models/glm-5p1" Model__FireworksAI__GLM__5p1__Fast ModelID = "accounts/fireworks/routers/glm-5p1-fast" Model__FireworksAI__GLM__5p2 ModelID = "accounts/fireworks/models/glm-5p2" Model__FireworksAI__GLM__5p2__Fast ModelID = "accounts/fireworks/routers/glm-5p2-fast" Model__FireworksAI__GPT__Oss__120b ModelID = "accounts/fireworks/models/gpt-oss-120b" Model__FireworksAI__GPT__Oss__20b ModelID = "accounts/fireworks/models/gpt-oss-20b" Model__FireworksAI__Kimi__K2p6__2_6__Thinking ModelID = "accounts/fireworks/models/kimi-k2p6" Model__FireworksAI__Kimi__K2p6__2_6__ThinkingFast ModelID = "accounts/fireworks/routers/kimi-k2p6-fast" Model__FireworksAI__Kimi__K2p6__2_6__ThinkingTurbo ModelID = "accounts/fireworks/routers/kimi-k2p6-turbo" Model__FireworksAI__Kimi__K2p7__2_7__Code ModelID = "accounts/fireworks/models/kimi-k2p7-code" Model__FireworksAI__Kimi__K2p7__2_7__FastCode ModelID = "accounts/fireworks/routers/kimi-k2p7-code-fast" Model__FireworksAI__MiniMax__M2p7__2_7 ModelID = "accounts/fireworks/models/minimax-m2p7" Model__FireworksAI__MiniMax__M3__3 ModelID = "accounts/fireworks/models/minimax-m3" Model__FireworksAI__Qwen3p7__Plus ModelID = "accounts/fireworks/models/qwen3p7-plus" Model__FreeModel__Claude__Fable__5 ModelID = "claude-fable-5" Model__FreeModel__Claude__Haiku__4_5__20251001 ModelID = "claude-haiku-4-5-20251001" Model__FreeModel__Claude__Opus__4_6 ModelID = "claude-opus-4-6" Model__FreeModel__Claude__Opus__4_7 ModelID = "claude-opus-4-7" Model__FreeModel__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__FreeModel__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__FreeModel__GPT__5_4 ModelID = "gpt-5.4" Model__FreeModel__GPT__5_5 ModelID = "gpt-5.5" Model__FreeModel__GPT__5__3__Codex__5_3 ModelID = "gpt-5.3-codex" Model__FreeModel__GPT__5__4__Mini__5_4 ModelID = "gpt-5.4-mini" Model__Friendli__DeepSeek__V3__2 ModelID = "deepseek-ai/DeepSeek-V3.2" Model__Friendli__GLM__5_1 ModelID = "zai-org/GLM-5.1" Model__Friendli__GLM__5_2 ModelID = "zai-org/GLM-5.2" Model__Friendli__Gemma__4__31B__It__4 ModelID = "google/gemma-4-31B-it" Model__Friendli__MiniMax__M2__5__2_5 ModelID = "MiniMaxAI/MiniMax-M2.5" Model__Friendli__Qwen3__235B__A22b__Instruct__2507__3__Instruct ModelID = "Qwen/Qwen3-235B-A22B-Instruct-2507" Model__FrogBot__Claude__Haiku__4_5 ModelID = "claude-haiku-4-5" Model__FrogBot__Claude__Opus__4_6 ModelID = "claude-opus-4-6" Model__FrogBot__Claude__Opus__4_7 ModelID = "claude-opus-4-7" Model__FrogBot__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__FrogBot__DeepSeek__V4__Pro ModelID = "deepseek-v4-pro" Model__FrogBot__GPT__4o ModelID = "gpt-4o" Model__FrogBot__GPT__5_5 ModelID = "gpt-5-5" Model__FrogBot__GPT__5__3__Codex__5_3 ModelID = "gpt-5-3-codex" Model__FrogBot__GPT__5__4__Mini__5_4 ModelID = "gpt-5-4-mini" Model__FrogBot__GPT__5__4__Nano__5_4 ModelID = "gpt-5-4-nano" Model__FrogBot__GPT__Oss__120b ModelID = "gpt-oss-120b" Model__FrogBot__GPT__Oss__20b ModelID = "gpt-oss-20b" Model__FrogBot__Gemini__2__5__Flash__2_5 ModelID = "gemini-2.5-flash" Model__FrogBot__Gemini__2__5__Pro__2_5 ModelID = "gemini-2.5-pro" Model__FrogBot__Gemini__3__1__Pro__3_1__Preview ModelID = "gemini-3-1-pro-preview" Model__FrogBot__Gemini__3__Flash__3__Preview ModelID = "gemini-3-flash-preview" Model__FrogBot__Grok__4_1__ReasoningFast ModelID = "grok-4-1-fast-reasoning" Model__FrogBot__Grok__4_3 ModelID = "grok-4-3" Model__FrogBot__Grok__4__1__Fast__Non__Reasoning__4_1__Non_Reasoning ModelID = "grok-4-1-fast-non-reasoning" Model__FrogBot__Grok__Code__Fast__1 ModelID = "grok-code-fast-1" Model__FrogBot__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__FrogBot__Kimi__K2__6__2_6 ModelID = "kimi-k2-6" Model__FrogBot__MiniMax__M2__5__2_5 ModelID = "minimax-m2-5" Model__FrogBot__MiniMax__M2__7__2_7 ModelID = "minimax-m2-7" Model__FrogBot__Qwen__3__6__Plus__3_6 ModelID = "qwen-3-6-plus" Model__FrogBot__Zai__GLM__5__1 ModelID = "zai-glm-5-1" Model__GMICloud__Claude__Opus__4_6 ModelID = "anthropic/claude-opus-4.6" Model__GMICloud__Claude__Opus__4_7 ModelID = "anthropic/claude-opus-4.7" Model__GMICloud__Claude__Opus__4_8 ModelID = "anthropic/claude-opus-4.8" Model__GMICloud__Claude__Sonnet__4_6 ModelID = "anthropic/claude-sonnet-4.6" Model__GMICloud__DeepSeek__V4__Flash ModelID = "deepseek-ai/DeepSeek-V4-Flash" Model__GMICloud__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-ai/DeepSeek-V4-Pro" Model__GMICloud__GLM__5__1__Fp8__5_1 ModelID = "zai-org/GLM-5.1-FP8" Model__GMICloud__GLM__5__2__Fp8__5_2 ModelID = "zai-org/GLM-5.2-FP8" Model__GMICloud__GLM__5__Fp8__5 ModelID = "zai-org/GLM-5-FP8" Model__GMICloud__GPT__5_5 ModelID = "openai/gpt-5.5" Model__GMICloud__Kimi__K2__6__2_6 ModelID = "moonshotai/Kimi-K2.6" Model__GMICloud__Kimi__K2__7__Code__Highspeed__2_7 ModelID = "moonshotai/kimi-k2.7-code-highspeed" Model__GMICloud__Qwen3__7__Max__3_7 ModelID = "Qwen/Qwen3.7-Max" Model__GitHubCopilot__Claude__Fable__5 ModelID = "claude-fable-5" Model__GitHubCopilot__Claude__Haiku__4_5 ModelID = "claude-haiku-4.5" Model__GitHubCopilot__Claude__Opus__4_5 ModelID = "claude-opus-4.5" Model__GitHubCopilot__Claude__Opus__4_6 ModelID = "claude-opus-4.6" Model__GitHubCopilot__Claude__Opus__4_7 ModelID = "claude-opus-4.7" Model__GitHubCopilot__Claude__Opus__4_8 ModelID = "claude-opus-4.8" Model__GitHubCopilot__Claude__Sonnet__4 ModelID = "claude-sonnet-4" Model__GitHubCopilot__Claude__Sonnet__4_5 ModelID = "claude-sonnet-4.5" Model__GitHubCopilot__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4.6" Model__GitHubCopilot__Claude__Sonnet__5 ModelID = "claude-sonnet-5" Model__GitHubCopilot__GPT__4_1 ModelID = "gpt-4.1" Model__GitHubCopilot__GPT__5_2 ModelID = "gpt-5.2" Model__GitHubCopilot__GPT__5_4 ModelID = "gpt-5.4" Model__GitHubCopilot__GPT__5_5 ModelID = "gpt-5.5" Model__GitHubCopilot__GPT__5__2__Codex__5_2 ModelID = "gpt-5.2-codex" Model__GitHubCopilot__GPT__5__3__Codex__5_3 ModelID = "gpt-5.3-codex" Model__GitHubCopilot__GPT__5__4__Mini__5_4 ModelID = "gpt-5.4-mini" Model__GitHubCopilot__GPT__5__4__Nano__5_4 ModelID = "gpt-5.4-nano" Model__GitHubCopilot__GPT__5__6__Luna__5_6 ModelID = "gpt-5.6-luna" Model__GitHubCopilot__GPT__5__6__Sol__5_6 ModelID = "gpt-5.6-sol" Model__GitHubCopilot__GPT__5__6__Terra__5_6 ModelID = "gpt-5.6-terra" Model__GitHubCopilot__GPT__5__Mini__5 ModelID = "gpt-5-mini" Model__GitHubCopilot__Gemini__2__5__Pro__2_5 ModelID = "gemini-2.5-pro" Model__GitHubCopilot__Gemini__3__1__Pro__3_1__Preview ModelID = "gemini-3.1-pro-preview" Model__GitHubCopilot__Gemini__3__5__Flash__3_5 ModelID = "gemini-3.5-flash" Model__GitHubCopilot__Gemini__3__Flash__3__Preview ModelID = "gemini-3-flash-preview" Model__GitHubCopilot__Kimi__K2__7__2_7__Code ModelID = "kimi-k2.7-code" Model__GitHubCopilot__Mai__Code__1__Flash__Picker__1 ModelID = "mai-code-1-flash-picker" Model__GitHubModels__Ai21__Jamba__1__5__Large ModelID = "ai21-labs/ai21-jamba-1.5-large" Model__GitHubModels__Ai21__Jamba__1__5__Mini ModelID = "ai21-labs/ai21-jamba-1.5-mini" Model__GitHubModels__Codestral__2501 ModelID = "mistral-ai/codestral-2501" Model__GitHubModels__Cohere__Command__A ModelID = "cohere/cohere-command-a" Model__GitHubModels__Cohere__Command__R ModelID = "cohere/cohere-command-r" Model__GitHubModels__Cohere__Command__R__20240801 ModelID = "cohere/cohere-command-r-08-2024" Model__GitHubModels__Cohere__Command__R__Plus ModelID = "cohere/cohere-command-r-plus" Model__GitHubModels__Cohere__Command__R__Plus__20240801 ModelID = "cohere/cohere-command-r-plus-08-2024" Model__GitHubModels__DeepSeek__R1__0528__Thinking ModelID = "deepseek/deepseek-r1-0528" Model__GitHubModels__DeepSeek__R1__Thinking ModelID = "deepseek/deepseek-r1" Model__GitHubModels__DeepSeek__V3__0324 ModelID = "deepseek/deepseek-v3-0324" Model__GitHubModels__GPT__4_1 ModelID = "openai/gpt-4.1" Model__GitHubModels__GPT__4__1__Mini__4_1 ModelID = "openai/gpt-4.1-mini" Model__GitHubModels__GPT__4__1__Nano__4_1 ModelID = "openai/gpt-4.1-nano" Model__GitHubModels__GPT__4o ModelID = "openai/gpt-4o" Model__GitHubModels__GPT__4o__Mini ModelID = "openai/gpt-4o-mini" Model__GitHubModels__Grok__3 ModelID = "xai/grok-3" Model__GitHubModels__Grok__3__Mini__3 ModelID = "xai/grok-3-mini" Model__GitHubModels__Jais__30b__Chat ModelID = "core42/jais-30b-chat" Model__GitHubModels__Llama__3__2__11b__3_2__VisionInstruct ModelID = "meta/llama-3.2-11b-vision-instruct" Model__GitHubModels__Llama__3__2__90b__3_2__VisionInstruct ModelID = "meta/llama-3.2-90b-vision-instruct" Model__GitHubModels__Llama__3__3__70b__3_3__Instruct ModelID = "meta/llama-3.3-70b-instruct" Model__GitHubModels__Llama__4__Maverick__17b__128e__Instruct__Fp8__4__Instruct ModelID = "meta/llama-4-maverick-17b-128e-instruct-fp8" Model__GitHubModels__Llama__4__Scout__17b__16e__4__Instruct ModelID = "meta/llama-4-scout-17b-16e-instruct" Model__GitHubModels__Mai__Ds__R1 ModelID = "microsoft/mai-ds-r1" Model__GitHubModels__Meta__Llama__3__1__405b__3_1__Instruct ModelID = "meta/meta-llama-3.1-405b-instruct" Model__GitHubModels__Meta__Llama__3__1__70b__3_1__Instruct ModelID = "meta/meta-llama-3.1-70b-instruct" Model__GitHubModels__Meta__Llama__3__1__8b__3_1__Instruct ModelID = "meta/meta-llama-3.1-8b-instruct" Model__GitHubModels__Meta__Llama__3__70b__3__Instruct ModelID = "meta/meta-llama-3-70b-instruct" Model__GitHubModels__Meta__Llama__3__8b__3__Instruct ModelID = "meta/meta-llama-3-8b-instruct" Model__GitHubModels__Ministral__3b ModelID = "mistral-ai/ministral-3b" Model__GitHubModels__Mistral__Large__2411 ModelID = "mistral-ai/mistral-large-2411" Model__GitHubModels__Mistral__Medium__2505 ModelID = "mistral-ai/mistral-medium-2505" Model__GitHubModels__Mistral__Nemo ModelID = "mistral-ai/mistral-nemo" Model__GitHubModels__Mistral__Small__2503 ModelID = "mistral-ai/mistral-small-2503" Model__GitHubModels__O1__1 ModelID = "openai/o1" Model__GitHubModels__O1__1__Mini ModelID = "openai/o1-mini" Model__GitHubModels__O1__1__Preview ModelID = "openai/o1-preview" Model__GitHubModels__O3__3 ModelID = "openai/o3" Model__GitHubModels__O3__3__Mini ModelID = "openai/o3-mini" Model__GitHubModels__O4__4__Mini ModelID = "openai/o4-mini" Model__GitHubModels__Phi__3_5__VisionInstruct ModelID = "microsoft/phi-3.5-vision-instruct" Model__GitHubModels__Phi__3__5__Mini__3_5__Instruct ModelID = "microsoft/phi-3.5-mini-instruct" Model__GitHubModels__Phi__3__5__Moe__3_5__Instruct ModelID = "microsoft/phi-3.5-moe-instruct" Model__GitHubModels__Phi__3__Medium__128k__3__Instruct ModelID = "microsoft/phi-3-medium-128k-instruct" Model__GitHubModels__Phi__3__Medium__4k__3__Instruct ModelID = "microsoft/phi-3-medium-4k-instruct" Model__GitHubModels__Phi__3__Mini__128k__3__Instruct ModelID = "microsoft/phi-3-mini-128k-instruct" Model__GitHubModels__Phi__3__Mini__4k__3__Instruct ModelID = "microsoft/phi-3-mini-4k-instruct" Model__GitHubModels__Phi__3__Small__128k__3__Instruct ModelID = "microsoft/phi-3-small-128k-instruct" Model__GitHubModels__Phi__3__Small__8k__3__Instruct ModelID = "microsoft/phi-3-small-8k-instruct" Model__GitHubModels__Phi__4 ModelID = "microsoft/phi-4" Model__GitHubModels__Phi__4__Mini__4__Instruct ModelID = "microsoft/phi-4-mini-instruct" Model__GitHubModels__Phi__4__Mini__4__Reasoning ModelID = "microsoft/phi-4-mini-reasoning" Model__GitHubModels__Phi__4__MultimodalInstruct ModelID = "microsoft/phi-4-multimodal-instruct" Model__GitHubModels__Phi__4__Reasoning ModelID = "microsoft/phi-4-reasoning" Model__GitLab__Duo__Chat__Fable__5 ModelID = "duo-chat-fable-5" Model__GitLab__Duo__Chat__GPT__5__1 ModelID = "duo-chat-gpt-5-1" Model__GitLab__Duo__Chat__GPT__5__2 ModelID = "duo-chat-gpt-5-2" Model__GitLab__Duo__Chat__GPT__5__2__Codex ModelID = "duo-chat-gpt-5-2-codex" Model__GitLab__Duo__Chat__GPT__5__3__Codex ModelID = "duo-chat-gpt-5-3-codex" Model__GitLab__Duo__Chat__GPT__5__4 ModelID = "duo-chat-gpt-5-4" Model__GitLab__Duo__Chat__GPT__5__4__Mini ModelID = "duo-chat-gpt-5-4-mini" Model__GitLab__Duo__Chat__GPT__5__4__Nano ModelID = "duo-chat-gpt-5-4-nano" Model__GitLab__Duo__Chat__GPT__5__5 ModelID = "duo-chat-gpt-5-5" Model__GitLab__Duo__Chat__GPT__5__Codex ModelID = "duo-chat-gpt-5-codex" Model__GitLab__Duo__Chat__GPT__5__Mini ModelID = "duo-chat-gpt-5-mini" Model__GitLab__Duo__Chat__Haiku__4__5 ModelID = "duo-chat-haiku-4-5" Model__GitLab__Duo__Chat__Opus__4__5 ModelID = "duo-chat-opus-4-5" Model__GitLab__Duo__Chat__Opus__4__6 ModelID = "duo-chat-opus-4-6" Model__GitLab__Duo__Chat__Opus__4__7 ModelID = "duo-chat-opus-4-7" Model__GitLab__Duo__Chat__Opus__4__8 ModelID = "duo-chat-opus-4-8" Model__GitLab__Duo__Chat__Sonnet__4__5 ModelID = "duo-chat-sonnet-4-5" Model__GitLab__Duo__Chat__Sonnet__4__6 ModelID = "duo-chat-sonnet-4-6" Model__GitLab__Duo__Chat__Sonnet__5 ModelID = "duo-chat-sonnet-5" Model__GoogleVertexAnthropic__Claude__3__5__Haiku__3_5__20241022 ModelID = "claude-3-5-haiku@20241022" Model__GoogleVertexAnthropic__Claude__Haiku__4_5__20251001 ModelID = "claude-haiku-4-5@20251001" Model__GoogleVertexAnthropic__Claude__Opus__4_1__20250805 ModelID = "claude-opus-4-1@20250805" Model__GoogleVertexAnthropic__Claude__Opus__4_5__20251101 ModelID = "claude-opus-4-5@20251101" Model__GoogleVertexAnthropic__Claude__Opus__4__20250514 ModelID = "claude-opus-4@20250514" Model__GoogleVertexAnthropic__Claude__Opus__4__6__Default__4_6 ModelID = "claude-opus-4-6@default" Model__GoogleVertexAnthropic__Claude__Opus__4__7__Default__4_7 ModelID = "claude-opus-4-7@default" Model__GoogleVertexAnthropic__Claude__Opus__4__8__Default__4_8 ModelID = "claude-opus-4-8@default" Model__GoogleVertexAnthropic__Claude__Sonnet__4_5__20250929 ModelID = "claude-sonnet-4-5@20250929" Model__GoogleVertexAnthropic__Claude__Sonnet__4__20250514 ModelID = "claude-sonnet-4@20250514" Model__GoogleVertexAnthropic__Claude__Sonnet__4__6__Default__4_6 ModelID = "claude-sonnet-4-6@default" Model__GoogleVertexAnthropic__Claude__Sonnet__5__Default__5 ModelID = "claude-sonnet-5@default" Model__GoogleVertex__Claude__3__5__Haiku__3_5__20241022 ModelID = "claude-3-5-haiku@20241022" Model__GoogleVertex__Claude__Haiku__4_5__20251001 ModelID = "claude-haiku-4-5@20251001" Model__GoogleVertex__Claude__Opus__4_1__20250805 ModelID = "claude-opus-4-1@20250805" Model__GoogleVertex__Claude__Opus__4_5__20251101 ModelID = "claude-opus-4-5@20251101" Model__GoogleVertex__Claude__Opus__4__20250514 ModelID = "claude-opus-4@20250514" Model__GoogleVertex__Claude__Opus__4__6__Default__4_6 ModelID = "claude-opus-4-6@default" Model__GoogleVertex__Claude__Opus__4__7__Default__4_7 ModelID = "claude-opus-4-7@default" Model__GoogleVertex__Claude__Opus__4__8__Default__4_8 ModelID = "claude-opus-4-8@default" Model__GoogleVertex__Claude__Sonnet__4_5__20250929 ModelID = "claude-sonnet-4-5@20250929" Model__GoogleVertex__Claude__Sonnet__4__20250514 ModelID = "claude-sonnet-4@20250514" Model__GoogleVertex__Claude__Sonnet__4__6__Default__4_6 ModelID = "claude-sonnet-4-6@default" Model__GoogleVertex__Claude__Sonnet__5__Default__5 ModelID = "claude-sonnet-5@default" Model__GoogleVertex__DeepSeek__V3__1__Maas ModelID = "deepseek-ai/deepseek-v3.1-maas" Model__GoogleVertex__DeepSeek__V3__2__Maas ModelID = "deepseek-ai/deepseek-v3.2-maas" Model__GoogleVertex__GLM__4__7__Maas__4_7 ModelID = "zai-org/glm-4.7-maas" Model__GoogleVertex__GLM__5__Maas__5 ModelID = "zai-org/glm-5-maas" Model__GoogleVertex__GPT__Oss__120b__Maas ModelID = "openai/gpt-oss-120b-maas" Model__GoogleVertex__GPT__Oss__20b__Maas ModelID = "openai/gpt-oss-20b-maas" Model__GoogleVertex__Gemini__2__5__Flash__2_5 ModelID = "gemini-2.5-flash" Model__GoogleVertex__Gemini__2__5__Flash__Image__2_5 ModelID = "gemini-2.5-flash-image" Model__GoogleVertex__Gemini__2__5__Flash__Lite__2_5 ModelID = "gemini-2.5-flash-lite" Model__GoogleVertex__Gemini__2__5__Flash__Tts__2_5 ModelID = "gemini-2.5-flash-tts" Model__GoogleVertex__Gemini__2__5__Pro__2_5 ModelID = "gemini-2.5-pro" Model__GoogleVertex__Gemini__2__5__Pro__Tts__2_5 ModelID = "gemini-2.5-pro-tts" Model__GoogleVertex__Gemini__3__1__Flash__Image__3_1 ModelID = "gemini-3.1-flash-image" Model__GoogleVertex__Gemini__3__1__Flash__Lite__3_1 ModelID = "gemini-3.1-flash-lite" Model__GoogleVertex__Gemini__3__1__Flash__Lite__3_1__Preview ModelID = "gemini-3.1-flash-lite-preview" Model__GoogleVertex__Gemini__3__1__Pro__3_1__Preview ModelID = "gemini-3.1-pro-preview" Model__GoogleVertex__Gemini__3__1__Pro__Preview__Customtools__3_1 ModelID = "gemini-3.1-pro-preview-customtools" Model__GoogleVertex__Gemini__3__5__Flash__3_5 ModelID = "gemini-3.5-flash" Model__GoogleVertex__Gemini__3__Flash__3__Preview ModelID = "gemini-3-flash-preview" Model__GoogleVertex__Gemini__3__Pro__Image__3 ModelID = "gemini-3-pro-image" Model__GoogleVertex__Gemini__Embedding__001 ModelID = "gemini-embedding-001" Model__GoogleVertex__Gemini__Flash__Latest ModelID = "gemini-flash-latest" Model__GoogleVertex__Gemini__Flash__Lite__Latest ModelID = "gemini-flash-lite-latest" Model__GoogleVertex__Kimi__K2__Thinking__Maas__2__Thinking ModelID = "moonshotai/kimi-k2-thinking-maas" Model__GoogleVertex__Llama__3__3__70b__Instruct__Maas__3_3__Instruct ModelID = "meta/llama-3.3-70b-instruct-maas" Model__GoogleVertex__Llama__4__Maverick__17b__128e__Instruct__Maas__4__Instruct ModelID = "meta/llama-4-maverick-17b-128e-instruct-maas" Model__GoogleVertex__Qwen3__235b__A22b__Instruct__2507__Maas__3__Instruct ModelID = "qwen/qwen3-235b-a22b-instruct-2507-maas" Model__Google__Gemini__2__0__Flash__2_0 ModelID = "gemini-2.0-flash" Model__Google__Gemini__2__0__Flash__Lite__2_0 ModelID = "gemini-2.0-flash-lite" Model__Google__Gemini__2__5__Flash__2_5 ModelID = "gemini-2.5-flash" Model__Google__Gemini__2__5__Flash__Image__2_5 ModelID = "gemini-2.5-flash-image" Model__Google__Gemini__2__5__Flash__Lite__2_5 ModelID = "gemini-2.5-flash-lite" Model__Google__Gemini__2__5__Flash__Preview__Tts__2_5 ModelID = "gemini-2.5-flash-preview-tts" Model__Google__Gemini__2__5__Pro__2_5 ModelID = "gemini-2.5-pro" Model__Google__Gemini__2__5__Pro__Preview__Tts__2_5 ModelID = "gemini-2.5-pro-preview-tts" Model__Google__Gemini__3__1__Flash__Image__3_1__Preview ModelID = "gemini-3.1-flash-image-preview" Model__Google__Gemini__3__1__Flash__Lite__3_1 ModelID = "gemini-3.1-flash-lite" Model__Google__Gemini__3__1__Flash__Lite__3_1__Preview ModelID = "gemini-3.1-flash-lite-preview" Model__Google__Gemini__3__1__Pro__3_1__Preview ModelID = "gemini-3.1-pro-preview" Model__Google__Gemini__3__1__Pro__Preview__Customtools__3_1 ModelID = "gemini-3.1-pro-preview-customtools" Model__Google__Gemini__3__5__Flash__3_5 ModelID = "gemini-3.5-flash" Model__Google__Gemini__3__Flash__3__Preview ModelID = "gemini-3-flash-preview" Model__Google__Gemini__3__Pro__3__Preview ModelID = "gemini-3-pro-preview" Model__Google__Gemini__3__Pro__Image__3__Preview ModelID = "gemini-3-pro-image-preview" Model__Google__Gemini__Embedding__001 ModelID = "gemini-embedding-001" Model__Google__Gemini__Flash__Latest ModelID = "gemini-flash-latest" Model__Google__Gemini__Flash__Lite__Latest ModelID = "gemini-flash-lite-latest" Model__Google__Gemini__Omni__Flash__PreviewOmni ModelID = "gemini-omni-flash-preview" Model__Google__Gemma__4__26b__A4b__It__4 ModelID = "gemma-4-26b-a4b-it" Model__Google__Gemma__4__31b__It__4 ModelID = "gemma-4-31b-it" Model__Groq__Compound ModelID = "groq/compound" Model__Groq__Compound__Mini ModelID = "groq/compound-mini" Model__Groq__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__Groq__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__Groq__GPT__Oss__Safeguard__20b ModelID = "openai/gpt-oss-safeguard-20b" Model__Groq__Llama__3__1__8b__Instant__3_1 ModelID = "llama-3.1-8b-instant" Model__Groq__Llama__3__3__70b__Versatile__3_3 ModelID = "llama-3.3-70b-versatile" Model__Groq__Llama__4__Scout__17b__16e__4__Instruct ModelID = "meta-llama/llama-4-scout-17b-16e-instruct" Model__Groq__Llama__Prompt__Guard__2__22m__2 ModelID = "meta-llama/llama-prompt-guard-2-22m" Model__Groq__Llama__Prompt__Guard__2__86m__2 ModelID = "meta-llama/llama-prompt-guard-2-86m" Model__Groq__Orpheus__Arabic__Saudi ModelID = "canopylabs/orpheus-arabic-saudi" Model__Groq__Orpheus__V1__English ModelID = "canopylabs/orpheus-v1-english" Model__Groq__Qwen3__32b__3 ModelID = "qwen/qwen3-32b" Model__Groq__Whisper__Large__V3__3 ModelID = "whisper-large-v3" Model__Groq__Whisper__Large__V3__3__Turbo ModelID = "whisper-large-v3-turbo" Model__Helicone__ChatGPT__4o__Latest ModelID = "chatgpt-4o-latest" Model__Helicone__Claude__3__5__Haiku__3_5 ModelID = "claude-3.5-haiku" Model__Helicone__Claude__3__5__Sonnet__V2__3_5 ModelID = "claude-3.5-sonnet-v2" Model__Helicone__Claude__3__7__Sonnet__3_7 ModelID = "claude-3.7-sonnet" Model__Helicone__Claude__3__Haiku__3__20240307 ModelID = "claude-3-haiku-20240307" Model__Helicone__Claude__4__5__Haiku__4_5 ModelID = "claude-4.5-haiku" Model__Helicone__Claude__4__5__Opus__4_5 ModelID = "claude-4.5-opus" Model__Helicone__Claude__4__5__Sonnet__4_5 ModelID = "claude-4.5-sonnet" Model__Helicone__Claude__Haiku__4_5__20251001 ModelID = "claude-haiku-4-5-20251001" Model__Helicone__Claude__Opus__4 ModelID = "claude-opus-4" Model__Helicone__Claude__Opus__4_1 ModelID = "claude-opus-4-1" Model__Helicone__Claude__Opus__4_1__20250805 ModelID = "claude-opus-4-1-20250805" Model__Helicone__Claude__Sonnet__4 ModelID = "claude-sonnet-4" Model__Helicone__Claude__Sonnet__4_5__20250929 ModelID = "claude-sonnet-4-5-20250929" Model__Helicone__DeepSeek__R1__Distill__Llama__70b__Thinking ModelID = "deepseek-r1-distill-llama-70b" Model__Helicone__DeepSeek__Reasoner__Thinking ModelID = "deepseek-reasoner" Model__Helicone__DeepSeek__Tng__R1t2__Chimera__Thinking ModelID = "deepseek-tng-r1t2-chimera" Model__Helicone__DeepSeek__V3 ModelID = "deepseek-v3" Model__Helicone__DeepSeek__V3__1__Terminus ModelID = "deepseek-v3.1-terminus" Model__Helicone__DeepSeek__V3__2 ModelID = "deepseek-v3.2" Model__Helicone__Ernie__4__5__21b__A3b__4_5__Thinking ModelID = "ernie-4.5-21b-a3b-thinking" Model__Helicone__GLM__4_6 ModelID = "glm-4.6" Model__Helicone__GPT__4_1 ModelID = "gpt-4.1" Model__Helicone__GPT__4__1__Mini__4_1 ModelID = "gpt-4.1-mini" Model__Helicone__GPT__4__1__Mini__4_1__20250414 ModelID = "gpt-4.1-mini-2025-04-14" Model__Helicone__GPT__4__1__Nano__4_1 ModelID = "gpt-4.1-nano" Model__Helicone__GPT__4o ModelID = "gpt-4o" Model__Helicone__GPT__4o__Mini ModelID = "gpt-4o-mini" Model__Helicone__GPT__5 ModelID = "gpt-5" Model__Helicone__GPT__5_1 ModelID = "gpt-5.1" Model__Helicone__GPT__5_1__ChatLatest ModelID = "gpt-5.1-chat-latest" Model__Helicone__GPT__5__1__Codex__5_1 ModelID = "gpt-5.1-codex" Model__Helicone__GPT__5__1__Codex__Mini__5_1 ModelID = "gpt-5.1-codex-mini" Model__Helicone__GPT__5__ChatLatest ModelID = "gpt-5-chat-latest" Model__Helicone__GPT__5__Codex__5 ModelID = "gpt-5-codex" Model__Helicone__GPT__5__Mini__5 ModelID = "gpt-5-mini" Model__Helicone__GPT__5__Nano__5 ModelID = "gpt-5-nano" Model__Helicone__GPT__5__Pro__5 ModelID = "gpt-5-pro" Model__Helicone__GPT__Oss__120b ModelID = "gpt-oss-120b" Model__Helicone__GPT__Oss__20b ModelID = "gpt-oss-20b" Model__Helicone__Gemini__2__5__Flash__2_5 ModelID = "gemini-2.5-flash" Model__Helicone__Gemini__2__5__Flash__Lite__2_5 ModelID = "gemini-2.5-flash-lite" Model__Helicone__Gemini__2__5__Pro__2_5 ModelID = "gemini-2.5-pro" Model__Helicone__Gemini__3__Pro__3__Preview ModelID = "gemini-3-pro-preview" Model__Helicone__Gemma2__9b__It ModelID = "gemma2-9b-it" Model__Helicone__Gemma__3__12b__It__3 ModelID = "gemma-3-12b-it" Model__Helicone__Grok__3 ModelID = "grok-3" Model__Helicone__Grok__3__Mini__3 ModelID = "grok-3-mini" Model__Helicone__Grok__4 ModelID = "grok-4" Model__Helicone__Grok__4_1__ReasoningFast ModelID = "grok-4-1-fast-reasoning" Model__Helicone__Grok__4__1__Fast__Non__Reasoning__4_1__Non_Reasoning ModelID = "grok-4-1-fast-non-reasoning" Model__Helicone__Grok__4__Fast__Non__Reasoning__4__Non_Reasoning ModelID = "grok-4-fast-non-reasoning" Model__Helicone__Grok__4__ReasoningFast ModelID = "grok-4-fast-reasoning" Model__Helicone__Grok__Code__Fast__1 ModelID = "grok-code-fast-1" Model__Helicone__Hermes__2__Pro__Llama__3__8b__2 ModelID = "hermes-2-pro-llama-3-8b" Model__Helicone__Kimi__K2__0711__2 ModelID = "kimi-k2-0711" Model__Helicone__Kimi__K2__0905__2 ModelID = "kimi-k2-0905" Model__Helicone__Kimi__K2__2__Thinking ModelID = "kimi-k2-thinking" Model__Helicone__Llama__3__1__8b__3_1__Instruct ModelID = "llama-3.1-8b-instruct" Model__Helicone__Llama__3__1__8b__3_1__TurboInstruct ModelID = "llama-3.1-8b-instruct-turbo" Model__Helicone__Llama__3__1__8b__Instant__3_1 ModelID = "llama-3.1-8b-instant" Model__Helicone__Llama__3__3__70b__3_3__Instruct ModelID = "llama-3.3-70b-instruct" Model__Helicone__Llama__3__3__70b__Versatile__3_3 ModelID = "llama-3.3-70b-versatile" Model__Helicone__Llama__4__Maverick__4 ModelID = "llama-4-maverick" Model__Helicone__Llama__4__Scout__4 ModelID = "llama-4-scout" Model__Helicone__Llama__Guard__4 ModelID = "llama-guard-4" Model__Helicone__Llama__Prompt__Guard__2__22m__2 ModelID = "llama-prompt-guard-2-22m" Model__Helicone__Llama__Prompt__Guard__2__86m__2 ModelID = "llama-prompt-guard-2-86m" Model__Helicone__Mistral__Large__2411 ModelID = "mistral-large-2411" Model__Helicone__Mistral__Nemo ModelID = "mistral-nemo" Model__Helicone__Mistral__Small ModelID = "mistral-small" Model__Helicone__O1__1 ModelID = "o1" Model__Helicone__O1__1__Mini ModelID = "o1-mini" Model__Helicone__O3__3 ModelID = "o3" Model__Helicone__O3__3__Mini ModelID = "o3-mini" Model__Helicone__O3__3__Pro ModelID = "o3-pro" Model__Helicone__O4__4__Mini ModelID = "o4-mini" Model__Helicone__Qwen2__5__Coder__7b__2_5__Fast ModelID = "qwen2.5-coder-7b-fast" Model__Helicone__Qwen3__235b__A22b__3__Thinking ModelID = "qwen3-235b-a22b-thinking" Model__Helicone__Qwen3__30b__A3b__3 ModelID = "qwen3-30b-a3b" Model__Helicone__Qwen3__32b__3 ModelID = "qwen3-32b" Model__Helicone__Qwen3__Coder__3 ModelID = "qwen3-coder" Model__Helicone__Qwen3__Coder__30b__A3b__3__Instruct ModelID = "qwen3-coder-30b-a3b-instruct" Model__Helicone__Qwen3__Next__80b__A3b__3__Instruct ModelID = "qwen3-next-80b-a3b-instruct" Model__Helicone__Qwen3__Vl__235b__A22b__3__Instruct ModelID = "qwen3-vl-235b-a22b-instruct" Model__Helicone__Sonar ModelID = "sonar" Model__Helicone__Sonar__Deep__Research ModelID = "sonar-deep-research" Model__Helicone__Sonar__Pro ModelID = "sonar-pro" Model__Helicone__Sonar__Reasoning ModelID = "sonar-reasoning" Model__Helicone__Sonar__Reasoning__Pro ModelID = "sonar-reasoning-pro" Model__HpcAI__Claude__Opus__4_7 ModelID = "anthropic/claude-opus-4.7" Model__HpcAI__DeepSeek__V4__Flash ModelID = "deepseek/deepseek-v4-flash" Model__HpcAI__DeepSeek__V4__Pro__Thinking ModelID = "deepseek/deepseek-v4-pro" Model__HpcAI__GLM__5_1 ModelID = "zai-org/glm-5.1" Model__HpcAI__GLM__5_2 ModelID = "zai-org/glm-5.2" Model__HpcAI__GPT__5_5 ModelID = "openai/gpt-5.5" Model__HpcAI__Kimi__K2__5__2_5 ModelID = "moonshotai/kimi-k2.5" Model__HpcAI__Kimi__K2__7__2_7__Code ModelID = "moonshotai/kimi-k2.7-code" Model__HpcAI__MiniMax__M2__5__2_5 ModelID = "minimax/minimax-m2.5" Model__HuggingFace__DeepSeek__R1__0528__Thinking ModelID = "deepseek-ai/DeepSeek-R1-0528" Model__HuggingFace__DeepSeek__R1__Thinking ModelID = "deepseek-ai/DeepSeek-R1" Model__HuggingFace__DeepSeek__V3__2 ModelID = "deepseek-ai/DeepSeek-V3.2" Model__HuggingFace__DeepSeek__V4__Flash ModelID = "deepseek-ai/DeepSeek-V4-Flash" Model__HuggingFace__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-ai/DeepSeek-V4-Pro" Model__HuggingFace__GLM__4_5 ModelID = "zai-org/GLM-4.5" Model__HuggingFace__GLM__4_6 ModelID = "zai-org/GLM-4.6" Model__HuggingFace__GLM__4_7 ModelID = "zai-org/GLM-4.7" Model__HuggingFace__GLM__4__5V__4_5 ModelID = "zai-org/GLM-4.5V" Model__HuggingFace__GLM__4__5__Air__4_5 ModelID = "zai-org/GLM-4.5-Air" Model__HuggingFace__GLM__4__7__Flash__4_7 ModelID = "zai-org/GLM-4.7-Flash" Model__HuggingFace__GLM__5 ModelID = "zai-org/GLM-5" Model__HuggingFace__GLM__5_1 ModelID = "zai-org/GLM-5.1" Model__HuggingFace__GLM__5_2 ModelID = "zai-org/GLM-5.2" Model__HuggingFace__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__HuggingFace__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__HuggingFace__Gemma__4__26B__A4b__It__4 ModelID = "google/gemma-4-26B-A4B-it" Model__HuggingFace__Gemma__4__31B__It__4 ModelID = "google/gemma-4-31B-it" Model__HuggingFace__Kimi__K2__2__Instruct ModelID = "moonshotai/Kimi-K2-Instruct" Model__HuggingFace__Kimi__K2__2__Thinking ModelID = "moonshotai/Kimi-K2-Thinking" Model__HuggingFace__Kimi__K2__5__2_5 ModelID = "moonshotai/Kimi-K2.5" Model__HuggingFace__Kimi__K2__6__2_6 ModelID = "moonshotai/Kimi-K2.6" Model__HuggingFace__Kimi__K2__7__2_7__Code ModelID = "moonshotai/Kimi-K2.7-Code" Model__HuggingFace__Kimi__K2__Instruct__0905__2__Instruct ModelID = "moonshotai/Kimi-K2-Instruct-0905" Model__HuggingFace__Llama__3__3__70B__3_3__Instruct ModelID = "meta-llama/Llama-3.3-70B-Instruct" Model__HuggingFace__Mimo__V2__5__2_5__Pro ModelID = "XiaomiMiMo/MiMo-V2.5-Pro" Model__HuggingFace__Mimo__V2__Flash ModelID = "XiaomiMiMo/MiMo-V2-Flash" Model__HuggingFace__MiniMax__M2__1__2_1 ModelID = "MiniMaxAI/MiniMax-M2.1" Model__HuggingFace__MiniMax__M2__2 ModelID = "MiniMaxAI/MiniMax-M2" Model__HuggingFace__MiniMax__M2__5__2_5 ModelID = "MiniMaxAI/MiniMax-M2.5" Model__HuggingFace__MiniMax__M2__7__2_7 ModelID = "MiniMaxAI/MiniMax-M2.7" Model__HuggingFace__MiniMax__M3__3 ModelID = "MiniMaxAI/MiniMax-M3" Model__HuggingFace__Qwen3__235B__A22b__3 ModelID = "Qwen/Qwen3-235B-A22B" Model__HuggingFace__Qwen3__235B__A22b__Thinking__2507__3__Thinking ModelID = "Qwen/Qwen3-235B-A22B-Thinking-2507" Model__HuggingFace__Qwen3__32B__3 ModelID = "Qwen/Qwen3-32B" Model__HuggingFace__Qwen3__5__122B__A10b__3_5 ModelID = "Qwen/Qwen3.5-122B-A10B" Model__HuggingFace__Qwen3__5__27B__3_5 ModelID = "Qwen/Qwen3.5-27B" Model__HuggingFace__Qwen3__5__35B__A3b__3_5 ModelID = "Qwen/Qwen3.5-35B-A3B" Model__HuggingFace__Qwen3__5__397B__A17b__3_5 ModelID = "Qwen/Qwen3.5-397B-A17B" Model__HuggingFace__Qwen3__5__9B__3_5 ModelID = "Qwen/Qwen3.5-9B" Model__HuggingFace__Qwen3__6__27B__3_6 ModelID = "Qwen/Qwen3.6-27B" Model__HuggingFace__Qwen3__6__35B__A3b__3_6 ModelID = "Qwen/Qwen3.6-35B-A3B" Model__HuggingFace__Qwen3__Coder__30B__A3b__3__Instruct ModelID = "Qwen/Qwen3-Coder-30B-A3B-Instruct" Model__HuggingFace__Qwen3__Coder__480B__A35b__3__Instruct ModelID = "Qwen/Qwen3-Coder-480B-A35B-Instruct" Model__HuggingFace__Qwen3__Coder__Next__3 ModelID = "Qwen/Qwen3-Coder-Next" Model__HuggingFace__Qwen3__Embedding__4B__3 ModelID = "Qwen/Qwen3-Embedding-4B" Model__HuggingFace__Qwen3__Embedding__8B__3 ModelID = "Qwen/Qwen3-Embedding-8B" Model__HuggingFace__Qwen3__Next__80B__A3b__3__Instruct ModelID = "Qwen/Qwen3-Next-80B-A3B-Instruct" Model__HuggingFace__Qwen3__Next__80B__A3b__3__Thinking ModelID = "Qwen/Qwen3-Next-80B-A3B-Thinking" Model__HuggingFace__Step__3__5__Flash__3_5 ModelID = "stepfun-ai/Step-3.5-Flash" Model__HuggingFace__Step__3__7__Flash__3_7 ModelID = "stepfun-ai/Step-3.7-Flash" Model__IONet__DeepSeek__R1__0528__Thinking ModelID = "deepseek-ai/DeepSeek-R1-0528" Model__IONet__Devstral__Small__2505 ModelID = "mistralai/Devstral-Small-2505" Model__IONet__GLM__4_6 ModelID = "zai-org/GLM-4.6" Model__IONet__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__IONet__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__IONet__Kimi__K2__2__Thinking ModelID = "moonshotai/Kimi-K2-Thinking" Model__IONet__Kimi__K2__Instruct__0905__2__Instruct ModelID = "moonshotai/Kimi-K2-Instruct-0905" Model__IONet__Llama__3__2__90B__3_2__VisionInstruct ModelID = "meta-llama/Llama-3.2-90B-Vision-Instruct" Model__IONet__Llama__3__3__70B__3_3__Instruct ModelID = "meta-llama/Llama-3.3-70B-Instruct" Model__IONet__Llama__4__Maverick__17B__128E__Instruct__Fp8__4__Instruct ModelID = "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8" Model__IONet__Magistral__Small__2506 ModelID = "mistralai/Magistral-Small-2506" Model__IONet__Mistral__Large__Instruct__2411__Instruct ModelID = "mistralai/Mistral-Large-Instruct-2411" Model__IONet__Mistral__Nemo__Instruct__2407__Instruct ModelID = "mistralai/Mistral-Nemo-Instruct-2407" Model__IONet__Qwen2__5__Vl__32B__2_5__Instruct ModelID = "Qwen/Qwen2.5-VL-32B-Instruct" Model__IONet__Qwen3__235B__A22b__Thinking__2507__3__Thinking ModelID = "Qwen/Qwen3-235B-A22B-Thinking-2507" Model__IONet__Qwen3__Coder__480B__A35b__Instruct__Int4__Mixed__Ar__3 ModelID = "Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar" Model__IONet__Qwen3__Next__80B__A3b__3__Instruct ModelID = "Qwen/Qwen3-Next-80B-A3B-Instruct" Model__Inception__Mercury__2 ModelID = "mercury-2" Model__Inception__Mercury__Edit__2 ModelID = "mercury-edit-2" Model__Inceptron__GLM__5_2 ModelID = "zai-org/GLM-5.2" Model__Inceptron__GLM__5__1__Fp8__5_1 ModelID = "zai-org/GLM-5.1-FP8" Model__Inceptron__Kimi__K2__6__2_6 ModelID = "moonshotai/Kimi-K2.6" Model__Inceptron__Kimi__K2__6__2_6__Fast ModelID = "moonshotai/Kimi-K2.6-Fast" Model__Inceptron__Kimi__K2__7__2_7__Code ModelID = "moonshotai/Kimi-K2.7-Code" Model__Inceptron__MiniMax__M2__5__2_5 ModelID = "MiniMaxAI/MiniMax-M2.5" Model__InferX__Gemma__4__31b__It__Fp8__4 ModelID = "google/gemma-4-31b-it-fp8" Model__InferX__Qwen3__5__122b__A10b__Nvfp4__3_5 ModelID = "qwen/qwen3.5-122b-a10b-nvfp4" Model__InferX__Qwen3__6__27b__Fp8__3_6 ModelID = "qwen/qwen3.6-27b-fp8" Model__InferX__Qwen3__6__35b__A3b__Fp8__3_6 ModelID = "qwen/qwen3.6-35b-a3b-fp8" Model__InferX__Qwen3__Coder__Next__Fp8__1m__3 ModelID = "qwen/qwen3-coder-next-fp8-1m" Model__InferX__Qwen3__Coder__Next__Fp8__3 ModelID = "qwen/qwen3-coder-next-fp8" Model__Inference__Gemma__3 ModelID = "google/gemma-3" Model__Inference__Llama__3__1__8b__3_1__Instruct ModelID = "meta/llama-3.1-8b-instruct" Model__Inference__Llama__3__2__11b__3_2__VisionInstruct ModelID = "meta/llama-3.2-11b-vision-instruct" Model__Inference__Llama__3__2__1b__3_2__Instruct ModelID = "meta/llama-3.2-1b-instruct" Model__Inference__Llama__3__2__3b__3_2__Instruct ModelID = "meta/llama-3.2-3b-instruct" Model__Inference__Mistral__Nemo__12b__Instruct ModelID = "mistral/mistral-nemo-12b-instruct" Model__Inference__Osmosis__Structure__0__6b ModelID = "osmosis/osmosis-structure-0.6b" Model__Inference__Qwen3__Embedding__4b__3 ModelID = "qwen/qwen3-embedding-4b" Model__Inference__Qwen__2__5__7b__2_5__VisionInstruct ModelID = "qwen/qwen-2.5-7b-vision-instruct" Model__Jiekou__Claude__Haiku__4_5__20251001 ModelID = "claude-haiku-4-5-20251001" Model__Jiekou__Claude__Opus__4_1__20250805 ModelID = "claude-opus-4-1-20250805" Model__Jiekou__Claude__Opus__4_5__20251101 ModelID = "claude-opus-4-5-20251101" Model__Jiekou__Claude__Opus__4_6 ModelID = "claude-opus-4-6" Model__Jiekou__Claude__Opus__4__20250514 ModelID = "claude-opus-4-20250514" Model__Jiekou__Claude__Sonnet__4_5__20250929 ModelID = "claude-sonnet-4-5-20250929" Model__Jiekou__Claude__Sonnet__4__20250514 ModelID = "claude-sonnet-4-20250514" Model__Jiekou__DeepSeek__R1__0528__Thinking ModelID = "deepseek/deepseek-r1-0528" Model__Jiekou__DeepSeek__V3__0324 ModelID = "deepseek/deepseek-v3-0324" Model__Jiekou__DeepSeek__V3__1 ModelID = "deepseek/deepseek-v3.1" Model__Jiekou__Ernie__4__5__300b__A47b__Paddle__4_5 ModelID = "baidu/ernie-4.5-300b-a47b-paddle" Model__Jiekou__Ernie__4__5__Vl__424b__A47b__4_5 ModelID = "baidu/ernie-4.5-vl-424b-a47b" Model__Jiekou__GLM__4_5 ModelID = "zai-org/glm-4.5" Model__Jiekou__GLM__4_7 ModelID = "zai-org/glm-4.7" Model__Jiekou__GLM__4__5v__4_5 ModelID = "zai-org/glm-4.5v" Model__Jiekou__GLM__4__7__Flash__4_7 ModelID = "zai-org/glm-4.7-flash" Model__Jiekou__GPT__5_1 ModelID = "gpt-5.1" Model__Jiekou__GPT__5_2 ModelID = "gpt-5.2" Model__Jiekou__GPT__5__1__Codex__5_1 ModelID = "gpt-5.1-codex" Model__Jiekou__GPT__5__1__Codex__Max__5_1 ModelID = "gpt-5.1-codex-max" Model__Jiekou__GPT__5__1__Codex__Mini__5_1 ModelID = "gpt-5.1-codex-mini" Model__Jiekou__GPT__5__2__Codex__5_2 ModelID = "gpt-5.2-codex" Model__Jiekou__GPT__5__2__Pro__5_2 ModelID = "gpt-5.2-pro" Model__Jiekou__GPT__5__ChatLatest ModelID = "gpt-5-chat-latest" Model__Jiekou__GPT__5__Codex__5 ModelID = "gpt-5-codex" Model__Jiekou__GPT__5__Mini__5 ModelID = "gpt-5-mini" Model__Jiekou__GPT__5__Nano__5 ModelID = "gpt-5-nano" Model__Jiekou__GPT__5__Pro__5 ModelID = "gpt-5-pro" Model__Jiekou__Gemini__2__5__Flash__2_5 ModelID = "gemini-2.5-flash" Model__Jiekou__Gemini__2__5__Flash__Lite__2_5 ModelID = "gemini-2.5-flash-lite" Model__Jiekou__Gemini__2__5__Flash__Lite__Preview__06__17__2_5 ModelID = "gemini-2.5-flash-lite-preview-06-17" Model__Jiekou__Gemini__2__5__Flash__Lite__Preview__09__2025__2_5__Preview ModelID = "gemini-2.5-flash-lite-preview-09-2025" Model__Jiekou__Gemini__2__5__Flash__Preview__05__20__2_5 ModelID = "gemini-2.5-flash-preview-05-20" Model__Jiekou__Gemini__2__5__Pro__2_5 ModelID = "gemini-2.5-pro" Model__Jiekou__Gemini__2__5__Pro__Preview__06__05__2_5 ModelID = "gemini-2.5-pro-preview-06-05" Model__Jiekou__Gemini__3__Flash__3__Preview ModelID = "gemini-3-flash-preview" Model__Jiekou__Gemini__3__Pro__3__Preview ModelID = "gemini-3-pro-preview" Model__Jiekou__Grok__4_1__ReasoningFast ModelID = "grok-4-1-fast-reasoning" Model__Jiekou__Grok__4__0709__4 ModelID = "grok-4-0709" Model__Jiekou__Grok__4__1__Fast__Non__Reasoning__4_1__Non_Reasoning ModelID = "grok-4-1-fast-non-reasoning" Model__Jiekou__Grok__4__Fast__Non__Reasoning__4__Non_Reasoning ModelID = "grok-4-fast-non-reasoning" Model__Jiekou__Grok__4__ReasoningFast ModelID = "grok-4-fast-reasoning" Model__Jiekou__Grok__Code__Fast__1 ModelID = "grok-code-fast-1" Model__Jiekou__Kimi__K2__0905__2 ModelID = "moonshotai/kimi-k2-0905" Model__Jiekou__Kimi__K2__2__Instruct ModelID = "moonshotai/kimi-k2-instruct" Model__Jiekou__Kimi__K2__5__2_5 ModelID = "moonshotai/kimi-k2.5" Model__Jiekou__Mimo__V2__Flash ModelID = "xiaomimimo/mimo-v2-flash" Model__Jiekou__MiniMax__M1__80k__1 ModelID = "minimaxai/minimax-m1-80k" Model__Jiekou__MiniMax__M2__1__2_1 ModelID = "minimax/minimax-m2.1" Model__Jiekou__O3__3 ModelID = "o3" Model__Jiekou__O3__3__Mini ModelID = "o3-mini" Model__Jiekou__O4__4__Mini ModelID = "o4-mini" Model__Jiekou__Qwen3__235b__A22b__Fp8__3 ModelID = "qwen/qwen3-235b-a22b-fp8" Model__Jiekou__Qwen3__235b__A22b__Instruct__2507__3__Instruct ModelID = "qwen/qwen3-235b-a22b-instruct-2507" Model__Jiekou__Qwen3__235b__A22b__Thinking__2507__3__Thinking ModelID = "qwen/qwen3-235b-a22b-thinking-2507" Model__Jiekou__Qwen3__30b__A3b__Fp8__3 ModelID = "qwen/qwen3-30b-a3b-fp8" Model__Jiekou__Qwen3__32b__Fp8__3 ModelID = "qwen/qwen3-32b-fp8" Model__Jiekou__Qwen3__Coder__480b__A35b__3__Instruct ModelID = "qwen/qwen3-coder-480b-a35b-instruct" Model__Jiekou__Qwen3__Coder__Next__3 ModelID = "qwen/qwen3-coder-next" Model__Jiekou__Qwen3__Next__80b__A3b__3__Instruct ModelID = "qwen/qwen3-next-80b-a3b-instruct" Model__Jiekou__Qwen3__Next__80b__A3b__3__Thinking ModelID = "qwen/qwen3-next-80b-a3b-thinking" Model__KUAECloudCodingPlan__GLM__4_7 ModelID = "GLM-4.7" Model__Kenari__Claude__Opus__4_7 ModelID = "claude-opus-4-7" Model__Kenari__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__Kenari__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__Kenari__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__Kenari__DeepSeek__V4__Flash__Free ModelID = "deepseek-v4-flash:free" Model__Kenari__DeepSeek__V4__Pro__Free__Thinking ModelID = "deepseek-v4-pro:free" Model__Kenari__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__Kenari__GLM__5_1 ModelID = "glm-5-1" Model__Kenari__GLM__5_2 ModelID = "glm-5-2" Model__Kenari__GPT__5_5 ModelID = "gpt-5-5" Model__Kenari__GPT__5__4__Mini__5_4 ModelID = "gpt-5-4-mini" Model__Kenari__GPT__Image__2 ModelID = "gpt-image-2" Model__Kenari__GPT__Oss__120b ModelID = "gpt-oss-120b" Model__Kenari__GPT__Oss__20b ModelID = "gpt-oss-20b" Model__Kenari__Gemma__4__31b__It__4 ModelID = "gemma-4-31b-it" Model__Kenari__Grok__4_3 ModelID = "grok-4-3" Model__Kenari__Grok__Build__0_1 ModelID = "grok-build-0-1" Model__Kenari__Kimi__K2__6__2_6 ModelID = "kimi-k2-6" Model__Kenari__Kimi__K2__7__2_7__Code ModelID = "kimi-k2-7-code" Model__Kenari__Mimo__V2__5__2_5 ModelID = "mimo-v2-5" Model__Kenari__Mimo__V2__5__2_5__Pro ModelID = "mimo-v2-5-pro" Model__Kenari__MiniMax__M3__3 ModelID = "minimax-m3" Model__Kenari__Qwen3__7__Plus__3 ModelID = "qwen3-7-plus" Model__Kilo__Aion__1_0 ModelID = "aion-labs/aion-1.0" Model__Kilo__Aion__1__0__Mini__1_0 ModelID = "aion-labs/aion-1.0-mini" Model__Kilo__Aion__2_0 ModelID = "aion-labs/aion-2.0" Model__Kilo__Aion__Rp__Llama__3__1__8b ModelID = "aion-labs/aion-rp-llama-3.1-8b" Model__Kilo__Auto ModelID = "openrouter/auto" Model__Kilo__Balanced ModelID = "kilo-auto/balanced" Model__Kilo__Bodybuilder ModelID = "openrouter/bodybuilder" Model__Kilo__Claude__3__5__Haiku__3_5 ModelID = "anthropic/claude-3.5-haiku" Model__Kilo__Claude__3__Haiku__3 ModelID = "anthropic/claude-3-haiku" Model__Kilo__Claude__Haiku__4_5 ModelID = "anthropic/claude-haiku-4.5" Model__Kilo__Claude__Haiku__Latest ModelID = "~anthropic/claude-haiku-latest" Model__Kilo__Claude__Opus__4 ModelID = "anthropic/claude-opus-4" Model__Kilo__Claude__Opus__4_1 ModelID = "anthropic/claude-opus-4.1" Model__Kilo__Claude__Opus__4_5 ModelID = "anthropic/claude-opus-4.5" Model__Kilo__Claude__Opus__4_6__Anthropic ModelID = "anthropic/claude-opus-4.6" Model__Kilo__Claude__Opus__4_6__Fast ModelID = "anthropic/claude-opus-4.6-fast" Model__Kilo__Claude__Opus__4_6__Stealth ModelID = "stealth/claude-opus-4.6" Model__Kilo__Claude__Opus__4_7__Anthropic ModelID = "anthropic/claude-opus-4.7" Model__Kilo__Claude__Opus__4_7__Fast ModelID = "anthropic/claude-opus-4.7-fast" Model__Kilo__Claude__Opus__4_7__Stealth ModelID = "stealth/claude-opus-4.7" Model__Kilo__Claude__Opus__Latest ModelID = "~anthropic/claude-opus-latest" Model__Kilo__Claude__Sonnet__4 ModelID = "anthropic/claude-sonnet-4" Model__Kilo__Claude__Sonnet__4_5 ModelID = "anthropic/claude-sonnet-4.5" Model__Kilo__Claude__Sonnet__4_6__Anthropic ModelID = "anthropic/claude-sonnet-4.6" Model__Kilo__Claude__Sonnet__4_6__Stealth ModelID = "stealth/claude-sonnet-4.6" Model__Kilo__Claude__Sonnet__Latest ModelID = "~anthropic/claude-sonnet-latest" Model__Kilo__Cobuddy__Free ModelID = "baidu/cobuddy:free" Model__Kilo__CodeLlama__7b__Instruct__Solidity__Instruct ModelID = "alfredpros/codellama-7b-instruct-solidity" Model__Kilo__Coder__Large ModelID = "arcee-ai/coder-large" Model__Kilo__Codestral__2508 ModelID = "mistralai/codestral-2508" Model__Kilo__Cogito__V2__1__671b ModelID = "deepcogito/cogito-v2.1-671b" Model__Kilo__Command__A ModelID = "cohere/command-a" Model__Kilo__Command__R7b__12__20241202 ModelID = "cohere/command-r7b-12-2024" Model__Kilo__Command__R__20240830 ModelID = "cohere/command-r-08-2024" Model__Kilo__Command__R__Plus__20240830 ModelID = "cohere/command-r-plus-08-2024" Model__Kilo__Cydonia__24b__V4__1 ModelID = "thedrummer/cydonia-24b-v4.1" Model__Kilo__DeepSeek__Chat ModelID = "deepseek/deepseek-chat" Model__Kilo__DeepSeek__Chat__V3__0324 ModelID = "deepseek/deepseek-chat-v3-0324" Model__Kilo__DeepSeek__Chat__V3__1__3_1 ModelID = "deepseek/deepseek-chat-v3.1" Model__Kilo__DeepSeek__R1 ModelID = "deepseek/deepseek-r1" Model__Kilo__DeepSeek__R1__0528 ModelID = "deepseek/deepseek-r1-0528" Model__Kilo__DeepSeek__R1__Distill__Llama__70b ModelID = "deepseek/deepseek-r1-distill-llama-70b" Model__Kilo__DeepSeek__R1__Distill__Qwen__32b ModelID = "deepseek/deepseek-r1-distill-qwen-32b" Model__Kilo__DeepSeek__V3__1__Nex__N1 ModelID = "nex-agi/deepseek-v3.1-nex-n1" Model__Kilo__DeepSeek__V3__1__Terminus ModelID = "deepseek/deepseek-v3.1-terminus" Model__Kilo__DeepSeek__V3__2 ModelID = "deepseek/deepseek-v3.2" Model__Kilo__DeepSeek__V3__2__Exp ModelID = "deepseek/deepseek-v3.2-exp" Model__Kilo__DeepSeek__V3__2__Speciale ModelID = "deepseek/deepseek-v3.2-speciale" Model__Kilo__DeepSeek__V4__Flash ModelID = "deepseek/deepseek-v4-flash" Model__Kilo__DeepSeek__V4__Pro ModelID = "deepseek/deepseek-v4-pro" Model__Kilo__Devstral__2512 ModelID = "mistralai/devstral-2512" Model__Kilo__Devstral__Medium ModelID = "mistralai/devstral-medium" Model__Kilo__Devstral__Small ModelID = "mistralai/devstral-small" Model__Kilo__Ernie__4__5__21b__A3b__4_5 ModelID = "baidu/ernie-4.5-21b-a3b" Model__Kilo__Ernie__4__5__21b__A3b__4_5__Thinking ModelID = "baidu/ernie-4.5-21b-a3b-thinking" Model__Kilo__Ernie__4__5__300b__A47b__4_5 ModelID = "baidu/ernie-4.5-300b-a47b" Model__Kilo__Ernie__4__5__Vl__28b__A3b__4_5 ModelID = "baidu/ernie-4.5-vl-28b-a3b" Model__Kilo__Ernie__4__5__Vl__424b__A47b__4_5 ModelID = "baidu/ernie-4.5-vl-424b-a47b" Model__Kilo__Free__KiloAuto ModelID = "kilo-auto/free" Model__Kilo__Free__OpenRouter ModelID = "openrouter/free" Model__Kilo__Frontier ModelID = "kilo-auto/frontier" Model__Kilo__GLM__4_5 ModelID = "z-ai/glm-4.5" Model__Kilo__GLM__4_6 ModelID = "z-ai/glm-4.6" Model__Kilo__GLM__4_7 ModelID = "z-ai/glm-4.7" Model__Kilo__GLM__4__32b__4 ModelID = "z-ai/glm-4-32b" Model__Kilo__GLM__4__5__Air__4_5 ModelID = "z-ai/glm-4.5-air" Model__Kilo__GLM__4__5v__4_5 ModelID = "z-ai/glm-4.5v" Model__Kilo__GLM__4__6v__4_6 ModelID = "z-ai/glm-4.6v" Model__Kilo__GLM__4__7__Flash__4_7 ModelID = "z-ai/glm-4.7-flash" Model__Kilo__GLM__5 ModelID = "z-ai/glm-5" Model__Kilo__GLM__5_1 ModelID = "z-ai/glm-5.1" Model__Kilo__GLM__5__Turbo ModelID = "z-ai/glm-5-turbo" Model__Kilo__GLM__5v__5__Turbo ModelID = "z-ai/glm-5v-turbo" Model__Kilo__GPT__3_5__Turbo ModelID = "openai/gpt-3.5-turbo" Model__Kilo__GPT__3_5__TurboInstruct ModelID = "openai/gpt-3.5-turbo-instruct" Model__Kilo__GPT__3__5__Turbo__0613__3_5__Turbo ModelID = "openai/gpt-3.5-turbo-0613" Model__Kilo__GPT__3__5__Turbo__16k__3_5__Turbo ModelID = "openai/gpt-3.5-turbo-16k" Model__Kilo__GPT__4 ModelID = "openai/gpt-4" Model__Kilo__GPT__4_1 ModelID = "openai/gpt-4.1" Model__Kilo__GPT__4__0314__4 ModelID = "openai/gpt-4-0314" Model__Kilo__GPT__4__1106__4__Preview ModelID = "openai/gpt-4-1106-preview" Model__Kilo__GPT__4__1__Mini__4_1 ModelID = "openai/gpt-4.1-mini" Model__Kilo__GPT__4__1__Nano__4_1 ModelID = "openai/gpt-4.1-nano" Model__Kilo__GPT__4__Turbo ModelID = "openai/gpt-4-turbo" Model__Kilo__GPT__4__TurboPreview ModelID = "openai/gpt-4-turbo-preview" Model__Kilo__GPT__4o ModelID = "openai/gpt-4o" Model__Kilo__GPT__4o__20240513 ModelID = "openai/gpt-4o-2024-05-13" Model__Kilo__GPT__4o__20240806 ModelID = "openai/gpt-4o-2024-08-06" Model__Kilo__GPT__4o__20241120 ModelID = "openai/gpt-4o-2024-11-20" Model__Kilo__GPT__4o__Audio__Preview ModelID = "openai/gpt-4o-audio-preview" Model__Kilo__GPT__4o__Mini ModelID = "openai/gpt-4o-mini" Model__Kilo__GPT__4o__Mini__Mini__20240718 ModelID = "openai/gpt-4o-mini-2024-07-18" Model__Kilo__GPT__4o__Mini__Search__PreviewMini ModelID = "openai/gpt-4o-mini-search-preview" Model__Kilo__GPT__4o__Search__Preview ModelID = "openai/gpt-4o-search-preview" Model__Kilo__GPT__5 ModelID = "openai/gpt-5" Model__Kilo__GPT__5_1 ModelID = "openai/gpt-5.1" Model__Kilo__GPT__5_1__Chat ModelID = "openai/gpt-5.1-chat" Model__Kilo__GPT__5_2 ModelID = "openai/gpt-5.2" Model__Kilo__GPT__5_2__Chat ModelID = "openai/gpt-5.2-chat" Model__Kilo__GPT__5_3__Chat ModelID = "openai/gpt-5.3-chat" Model__Kilo__GPT__5_4 ModelID = "openai/gpt-5.4" Model__Kilo__GPT__5_5 ModelID = "openai/gpt-5.5" Model__Kilo__GPT__5__1__Codex__5_1 ModelID = "openai/gpt-5.1-codex" Model__Kilo__GPT__5__1__Codex__Max__5_1 ModelID = "openai/gpt-5.1-codex-max" Model__Kilo__GPT__5__1__Codex__Mini__5_1 ModelID = "openai/gpt-5.1-codex-mini" Model__Kilo__GPT__5__2__Codex__5_2 ModelID = "openai/gpt-5.2-codex" Model__Kilo__GPT__5__2__Pro__5_2 ModelID = "openai/gpt-5.2-pro" Model__Kilo__GPT__5__3__Codex__5_3 ModelID = "openai/gpt-5.3-codex" Model__Kilo__GPT__5__4__Image__2__5_4 ModelID = "openai/gpt-5.4-image-2" Model__Kilo__GPT__5__4__Mini__5_4 ModelID = "openai/gpt-5.4-mini" Model__Kilo__GPT__5__4__Nano__5_4 ModelID = "openai/gpt-5.4-nano" Model__Kilo__GPT__5__4__Pro__5_4 ModelID = "openai/gpt-5.4-pro" Model__Kilo__GPT__5__5__Pro__5_5 ModelID = "openai/gpt-5.5-pro" Model__Kilo__GPT__5__Chat ModelID = "openai/gpt-5-chat" Model__Kilo__GPT__5__Codex__5 ModelID = "openai/gpt-5-codex" Model__Kilo__GPT__5__Image__5 ModelID = "openai/gpt-5-image" Model__Kilo__GPT__5__Image__Mini__5 ModelID = "openai/gpt-5-image-mini" Model__Kilo__GPT__5__Mini__5 ModelID = "openai/gpt-5-mini" Model__Kilo__GPT__5__Nano__5 ModelID = "openai/gpt-5-nano" Model__Kilo__GPT__5__Pro__5 ModelID = "openai/gpt-5-pro" Model__Kilo__GPT__Audio ModelID = "openai/gpt-audio" Model__Kilo__GPT__Audio__Mini ModelID = "openai/gpt-audio-mini" Model__Kilo__GPT__ChatLatest ModelID = "openai/gpt-chat-latest" Model__Kilo__GPT__Latest ModelID = "~openai/gpt-latest" Model__Kilo__GPT__Mini__Latest ModelID = "~openai/gpt-mini-latest" Model__Kilo__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__Kilo__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__Kilo__GPT__Oss__Safeguard__20b ModelID = "openai/gpt-oss-safeguard-20b" Model__Kilo__Gemini__2__0__Flash__001__2_0 ModelID = "google/gemini-2.0-flash-001" Model__Kilo__Gemini__2__0__Flash__Lite__001__2_0 ModelID = "google/gemini-2.0-flash-lite-001" Model__Kilo__Gemini__2__5__Flash__2_5 ModelID = "google/gemini-2.5-flash" Model__Kilo__Gemini__2__5__Flash__Image__2_5 ModelID = "google/gemini-2.5-flash-image" Model__Kilo__Gemini__2__5__Flash__Lite__2_5 ModelID = "google/gemini-2.5-flash-lite" Model__Kilo__Gemini__2__5__Flash__Lite__Preview__2_5__Preview__20250925 ModelID = "google/gemini-2.5-flash-lite-preview-09-2025" Model__Kilo__Gemini__2__5__Pro__2_5 ModelID = "google/gemini-2.5-pro" Model__Kilo__Gemini__2__5__Pro__2_5__Preview ModelID = "google/gemini-2.5-pro-preview" Model__Kilo__Gemini__2__5__Pro__Preview__2_5__20250506 ModelID = "google/gemini-2.5-pro-preview-05-06" Model__Kilo__Gemini__3__1__Flash__Image__3_1__Preview ModelID = "google/gemini-3.1-flash-image-preview" Model__Kilo__Gemini__3__1__Flash__Lite__3_1 ModelID = "google/gemini-3.1-flash-lite" Model__Kilo__Gemini__3__1__Flash__Lite__3_1__Preview ModelID = "google/gemini-3.1-flash-lite-preview" Model__Kilo__Gemini__3__1__Pro__3_1__Preview ModelID = "google/gemini-3.1-pro-preview" Model__Kilo__Gemini__3__1__Pro__Preview__Customtools__3_1 ModelID = "google/gemini-3.1-pro-preview-customtools" Model__Kilo__Gemini__3__5__Flash__3_5 ModelID = "google/gemini-3.5-flash" Model__Kilo__Gemini__3__Flash__3__Preview ModelID = "google/gemini-3-flash-preview" Model__Kilo__Gemini__3__Pro__Image__3__Preview ModelID = "google/gemini-3-pro-image-preview" Model__Kilo__Gemini__Flash__Latest ModelID = "~google/gemini-flash-latest" Model__Kilo__Gemini__Pro__Latest ModelID = "~google/gemini-pro-latest" Model__Kilo__Gemma__2__27b__It__2 ModelID = "google/gemma-2-27b-it" Model__Kilo__Gemma__3__12b__It__3 ModelID = "google/gemma-3-12b-it" Model__Kilo__Gemma__3__27b__It__3 ModelID = "google/gemma-3-27b-it" Model__Kilo__Gemma__3__4b__It__3 ModelID = "google/gemma-3-4b-it" Model__Kilo__Gemma__3n__E4b__It ModelID = "google/gemma-3n-e4b-it" Model__Kilo__Gemma__4__26b__A4b__It__4 ModelID = "google/gemma-4-26b-a4b-it" Model__Kilo__Gemma__4__31b__It__4 ModelID = "google/gemma-4-31b-it" Model__Kilo__Granite__4__0__H__Micro__4_0 ModelID = "ibm-granite/granite-4.0-h-micro" Model__Kilo__Granite__4__1__8b__4_1 ModelID = "ibm-granite/granite-4.1-8b" Model__Kilo__Grok__4_20 ModelID = "x-ai/grok-4.20" Model__Kilo__Grok__4_3 ModelID = "x-ai/grok-4.3" Model__Kilo__Grok__4__20__Multi__Agent__4_20 ModelID = "x-ai/grok-4.20-multi-agent" Model__Kilo__Grok__Build__0_1 ModelID = "x-ai/grok-build-0.1" Model__Kilo__Hermes__2__Pro__Llama__3__8b__2 ModelID = "nousresearch/hermes-2-pro-llama-3-8b" Model__Kilo__Hermes__3__Llama__3__1__405b__3 ModelID = "nousresearch/hermes-3-llama-3.1-405b" Model__Kilo__Hermes__3__Llama__3__1__70b__3 ModelID = "nousresearch/hermes-3-llama-3.1-70b" Model__Kilo__Hermes__4__405b__4 ModelID = "nousresearch/hermes-4-405b" Model__Kilo__Hermes__4__70b__4 ModelID = "nousresearch/hermes-4-70b" Model__Kilo__Hunyuan__A13b__Instruct ModelID = "tencent/hunyuan-a13b-instruct" Model__Kilo__Hy3__3__Preview ModelID = "tencent/hy3-preview" Model__Kilo__Inflection__3__Pi__3 ModelID = "inflection/inflection-3-pi" Model__Kilo__Inflection__3__Productivity__3 ModelID = "inflection/inflection-3-productivity" Model__Kilo__Intellect__3 ModelID = "prime-intellect/intellect-3" Model__Kilo__Jamba__Large__1_7 ModelID = "ai21/jamba-large-1.7" Model__Kilo__Kat__Coder__Pro__V2 ModelID = "kwaipilot/kat-coder-pro-v2" Model__Kilo__Kimi__K2__0905__2 ModelID = "moonshotai/kimi-k2-0905" Model__Kilo__Kimi__K2__2 ModelID = "moonshotai/kimi-k2" Model__Kilo__Kimi__K2__2__Thinking ModelID = "moonshotai/kimi-k2-thinking" Model__Kilo__Kimi__K2__5__2_5 ModelID = "moonshotai/kimi-k2.5" Model__Kilo__Kimi__K2__6__2_6 ModelID = "moonshotai/kimi-k2.6" Model__Kilo__Kimi__Latest ModelID = "~moonshotai/kimi-latest" Model__Kilo__L3__1__70b__Hanami__X1 ModelID = "sao10k/l3.1-70b-hanami-x1" Model__Kilo__L3__1__Euryale__70b ModelID = "sao10k/l3.1-euryale-70b" Model__Kilo__L3__3__Euryale__70b ModelID = "sao10k/l3.3-euryale-70b" Model__Kilo__L3__Euryale__70b ModelID = "sao10k/l3-euryale-70b" Model__Kilo__L3__Lunaris__8b ModelID = "sao10k/l3-lunaris-8b" Model__Kilo__Laguna__M__1__Free__1 ModelID = "poolside/laguna-m.1:free" Model__Kilo__Laguna__Xs__2__Free__2 ModelID = "poolside/laguna-xs.2:free" Model__Kilo__Lfm__2__24b__A2b__2 ModelID = "liquid/lfm-2-24b-a2b" Model__Kilo__Ling__2__6__1t__2_6 ModelID = "inclusionai/ling-2.6-1t" Model__Kilo__Ling__2__6__Flash__2_6 ModelID = "inclusionai/ling-2.6-flash" Model__Kilo__Llama__3__1__70b__3_1__Instruct ModelID = "meta-llama/llama-3.1-70b-instruct" Model__Kilo__Llama__3__1__8b__3_1__Instruct ModelID = "meta-llama/llama-3.1-8b-instruct" Model__Kilo__Llama__3__2__11b__3_2__VisionInstruct ModelID = "meta-llama/llama-3.2-11b-vision-instruct" Model__Kilo__Llama__3__2__1b__3_2__Instruct ModelID = "meta-llama/llama-3.2-1b-instruct" Model__Kilo__Llama__3__2__3b__3_2__Instruct ModelID = "meta-llama/llama-3.2-3b-instruct" Model__Kilo__Llama__3__3__70b__3_3__Instruct ModelID = "meta-llama/llama-3.3-70b-instruct" Model__Kilo__Llama__3__3__Nemotron__Super__49b__V1__5__3_3 ModelID = "nvidia/llama-3.3-nemotron-super-49b-v1.5" Model__Kilo__Llama__3__70b__3__Instruct ModelID = "meta-llama/llama-3-70b-instruct" Model__Kilo__Llama__3__8b__3__Instruct ModelID = "meta-llama/llama-3-8b-instruct" Model__Kilo__Llama__4__Maverick__4 ModelID = "meta-llama/llama-4-maverick" Model__Kilo__Llama__4__Scout__4 ModelID = "meta-llama/llama-4-scout" Model__Kilo__Llama__Guard__3__8b__3 ModelID = "meta-llama/llama-guard-3-8b" Model__Kilo__Llama__Guard__4__12b__4 ModelID = "meta-llama/llama-guard-4-12b" Model__Kilo__Lyria__3__Clip__3__Preview ModelID = "google/lyria-3-clip-preview" Model__Kilo__Lyria__3__Pro__3__Preview ModelID = "google/lyria-3-pro-preview" Model__Kilo__Maestro__Reasoning ModelID = "arcee-ai/maestro-reasoning" Model__Kilo__Magnum__V4__72b ModelID = "anthracite-org/magnum-v4-72b" Model__Kilo__Mercury__2 ModelID = "inception/mercury-2" Model__Kilo__Mimo__V2__2__Omni ModelID = "xiaomi/mimo-v2-omni" Model__Kilo__Mimo__V2__2__Pro ModelID = "xiaomi/mimo-v2-pro" Model__Kilo__Mimo__V2__5__2_5 ModelID = "xiaomi/mimo-v2.5" Model__Kilo__Mimo__V2__5__2_5__Pro ModelID = "xiaomi/mimo-v2.5-pro" Model__Kilo__Mimo__V2__Flash ModelID = "xiaomi/mimo-v2-flash" Model__Kilo__MiniMax__01 ModelID = "minimax/minimax-01" Model__Kilo__MiniMax__M1__1 ModelID = "minimax/minimax-m1" Model__Kilo__MiniMax__M2__1__2_1 ModelID = "minimax/minimax-m2.1" Model__Kilo__MiniMax__M2__2 ModelID = "minimax/minimax-m2" Model__Kilo__MiniMax__M2__5__2_5 ModelID = "minimax/minimax-m2.5" Model__Kilo__MiniMax__M2__7__2_7 ModelID = "minimax/minimax-m2.7" Model__Kilo__MiniMax__M2__Her ModelID = "minimax/minimax-m2-her" Model__Kilo__MiniMax__M3__3 ModelID = "minimax/minimax-m3" Model__Kilo__Ministral__14b__2512 ModelID = "mistralai/ministral-14b-2512" Model__Kilo__Ministral__3b__2512 ModelID = "mistralai/ministral-3b-2512" Model__Kilo__Ministral__8b__2512 ModelID = "mistralai/ministral-8b-2512" Model__Kilo__Mistral__7b__Instruct__V0__1__0_1__Instruct ModelID = "mistralai/mistral-7b-instruct-v0.1" Model__Kilo__Mistral__Large ModelID = "mistralai/mistral-large" Model__Kilo__Mistral__Large__2407 ModelID = "mistralai/mistral-large-2407" Model__Kilo__Mistral__Large__2411 ModelID = "mistralai/mistral-large-2411" Model__Kilo__Mistral__Large__2512 ModelID = "mistralai/mistral-large-2512" Model__Kilo__Mistral__Medium__3 ModelID = "mistralai/mistral-medium-3" Model__Kilo__Mistral__Medium__3_1 ModelID = "mistralai/mistral-medium-3.1" Model__Kilo__Mistral__Medium__3_5 ModelID = "mistralai/mistral-medium-3-5" Model__Kilo__Mistral__Nemo ModelID = "mistralai/mistral-nemo" Model__Kilo__Mistral__Saba ModelID = "mistralai/mistral-saba" Model__Kilo__Mistral__Small__24b__Instruct__2501__Instruct ModelID = "mistralai/mistral-small-24b-instruct-2501" Model__Kilo__Mistral__Small__2603 ModelID = "mistralai/mistral-small-2603" Model__Kilo__Mistral__Small__3__1__24b__3_1__Instruct ModelID = "mistralai/mistral-small-3.1-24b-instruct" Model__Kilo__Mistral__Small__3__2__24b__3_2__Instruct ModelID = "mistralai/mistral-small-3.2-24b-instruct" Model__Kilo__Mixtral__8x22b__Instruct ModelID = "mistralai/mixtral-8x22b-instruct" Model__Kilo__Morph__V3__Fast ModelID = "morph/morph-v3-fast" Model__Kilo__Morph__V3__Large ModelID = "morph/morph-v3-large" Model__Kilo__Mythomax__L2__13b ModelID = "gryphe/mythomax-l2-13b" Model__Kilo__Nemotron__3__Nano__30b__A3b__3 ModelID = "nvidia/nemotron-3-nano-30b-a3b" Model__Kilo__Nemotron__3__Nano__Omni__30b__A3b__Reasoning__Free__3__ReasoningOmni ModelID = "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free" Model__Kilo__Nemotron__3__Super__120b__A12b__3 ModelID = "nvidia/nemotron-3-super-120b-a12b" Model__Kilo__Nemotron__3__Super__120b__A12b__Free__3 ModelID = "nvidia/nemotron-3-super-120b-a12b:free" Model__Kilo__Nemotron__Nano__9b__V2 ModelID = "nvidia/nemotron-nano-9b-v2" Model__Kilo__Nova__2__Lite__V1__2 ModelID = "amazon/nova-2-lite-v1" Model__Kilo__Nova__Lite__V1 ModelID = "amazon/nova-lite-v1" Model__Kilo__Nova__Micro__V1 ModelID = "amazon/nova-micro-v1" Model__Kilo__Nova__Premier__V1 ModelID = "amazon/nova-premier-v1" Model__Kilo__Nova__Pro__V1 ModelID = "amazon/nova-pro-v1" Model__Kilo__O1__1 ModelID = "openai/o1" Model__Kilo__O1__1__Pro ModelID = "openai/o1-pro" Model__Kilo__O3__3 ModelID = "openai/o3" Model__Kilo__O3__3__Mini ModelID = "openai/o3-mini" Model__Kilo__O3__3__Pro ModelID = "openai/o3-pro" Model__Kilo__O3__Deep__Research__3__Deep_Research ModelID = "openai/o3-deep-research" Model__Kilo__O3__Mini__High__3__Mini ModelID = "openai/o3-mini-high" Model__Kilo__O4__4__Mini ModelID = "openai/o4-mini" Model__Kilo__O4__Mini__Deep__Research__4__Mini ModelID = "openai/o4-mini-deep-research" Model__Kilo__O4__Mini__High__4__Mini ModelID = "openai/o4-mini-high" Model__Kilo__OLMo__3__32b__3__Think ModelID = "allenai/olmo-3-32b-think" Model__Kilo__Owl__Alpha ModelID = "openrouter/owl-alpha" Model__Kilo__Palmyra__X5 ModelID = "writer/palmyra-x5" Model__Kilo__Pareto__Code ModelID = "openrouter/pareto-code" Model__Kilo__Perceptron__Mk1 ModelID = "perceptron/perceptron-mk1" Model__Kilo__Phi__4 ModelID = "microsoft/phi-4" Model__Kilo__Phi__4__Mini__4__Instruct ModelID = "microsoft/phi-4-mini-instruct" Model__Kilo__Pixtral__Large__2411 ModelID = "mistralai/pixtral-large-2411" Model__Kilo__Qianfan__Ocr__Fast ModelID = "baidu/qianfan-ocr-fast" Model__Kilo__Qwen2__5__Vl__72b__2_5__Instruct ModelID = "qwen/qwen2.5-vl-72b-instruct" Model__Kilo__Qwen3__14b__3 ModelID = "qwen/qwen3-14b" Model__Kilo__Qwen3__235b__A22b__2507__3 ModelID = "qwen/qwen3-235b-a22b-2507" Model__Kilo__Qwen3__235b__A22b__3 ModelID = "qwen/qwen3-235b-a22b" Model__Kilo__Qwen3__235b__A22b__Thinking__2507__3__Thinking ModelID = "qwen/qwen3-235b-a22b-thinking-2507" Model__Kilo__Qwen3__30b__A3b__3 ModelID = "qwen/qwen3-30b-a3b" Model__Kilo__Qwen3__30b__A3b__Instruct__2507__3__Instruct ModelID = "qwen/qwen3-30b-a3b-instruct-2507" Model__Kilo__Qwen3__30b__A3b__Thinking__2507__3__Thinking ModelID = "qwen/qwen3-30b-a3b-thinking-2507" Model__Kilo__Qwen3__32b__3 ModelID = "qwen/qwen3-32b" Model__Kilo__Qwen3__5__122b__A10b__3_5 ModelID = "qwen/qwen3.5-122b-a10b" Model__Kilo__Qwen3__5__27b__3_5 ModelID = "qwen/qwen3.5-27b" Model__Kilo__Qwen3__5__35b__A3b__3_5 ModelID = "qwen/qwen3.5-35b-a3b" Model__Kilo__Qwen3__5__397b__A17b__3_5 ModelID = "qwen/qwen3.5-397b-a17b" Model__Kilo__Qwen3__5__9b__3_5 ModelID = "qwen/qwen3.5-9b" Model__Kilo__Qwen3__5__Flash__02__23__3_5 ModelID = "qwen/qwen3.5-flash-02-23" Model__Kilo__Qwen3__5__Plus__3_5__20260215 ModelID = "qwen/qwen3.5-plus-02-15" Model__Kilo__Qwen3__5__Plus__3_5__20260420 ModelID = "qwen/qwen3.5-plus-20260420" Model__Kilo__Qwen3__6__27b__3_6 ModelID = "qwen/qwen3.6-27b" Model__Kilo__Qwen3__6__35b__A3b__3_6 ModelID = "qwen/qwen3.6-35b-a3b" Model__Kilo__Qwen3__6__Flash__3_6 ModelID = "qwen/qwen3.6-flash" Model__Kilo__Qwen3__6__Max__3_6__Preview ModelID = "qwen/qwen3.6-max-preview" Model__Kilo__Qwen3__6__Plus__3_6 ModelID = "qwen/qwen3.6-plus" Model__Kilo__Qwen3__7__Max__3_7 ModelID = "qwen/qwen3.7-max" Model__Kilo__Qwen3__8b__3 ModelID = "qwen/qwen3-8b" Model__Kilo__Qwen3__Coder__3 ModelID = "qwen/qwen3-coder" Model__Kilo__Qwen3__Coder__30b__A3b__3__Instruct ModelID = "qwen/qwen3-coder-30b-a3b-instruct" Model__Kilo__Qwen3__Coder__Flash__3 ModelID = "qwen/qwen3-coder-flash" Model__Kilo__Qwen3__Coder__Next__3 ModelID = "qwen/qwen3-coder-next" Model__Kilo__Qwen3__Coder__Plus__3 ModelID = "qwen/qwen3-coder-plus" Model__Kilo__Qwen3__Max__3 ModelID = "qwen/qwen3-max" Model__Kilo__Qwen3__Max__3__Thinking ModelID = "qwen/qwen3-max-thinking" Model__Kilo__Qwen3__Next__80b__A3b__3__Instruct ModelID = "qwen/qwen3-next-80b-a3b-instruct" Model__Kilo__Qwen3__Next__80b__A3b__3__Thinking ModelID = "qwen/qwen3-next-80b-a3b-thinking" Model__Kilo__Qwen3__Vl__235b__A22b__3__Instruct ModelID = "qwen/qwen3-vl-235b-a22b-instruct" Model__Kilo__Qwen3__Vl__235b__A22b__3__Thinking ModelID = "qwen/qwen3-vl-235b-a22b-thinking" Model__Kilo__Qwen3__Vl__30b__A3b__3__Instruct ModelID = "qwen/qwen3-vl-30b-a3b-instruct" Model__Kilo__Qwen3__Vl__30b__A3b__3__Thinking ModelID = "qwen/qwen3-vl-30b-a3b-thinking" Model__Kilo__Qwen3__Vl__32b__3__Instruct ModelID = "qwen/qwen3-vl-32b-instruct" Model__Kilo__Qwen3__Vl__8b__3__Instruct ModelID = "qwen/qwen3-vl-8b-instruct" Model__Kilo__Qwen3__Vl__8b__3__Thinking ModelID = "qwen/qwen3-vl-8b-thinking" Model__Kilo__Qwen__2__5__72b__2_5__Instruct ModelID = "qwen/qwen-2.5-72b-instruct" Model__Kilo__Qwen__2__5__7b__2_5__Instruct ModelID = "qwen/qwen-2.5-7b-instruct" Model__Kilo__Qwen__2__5__Coder__32b__2_5__Instruct ModelID = "qwen/qwen-2.5-coder-32b-instruct" Model__Kilo__Qwen__Plus ModelID = "qwen/qwen-plus" Model__Kilo__Qwen__Plus__20250728 ModelID = "qwen/qwen-plus-2025-07-28" Model__Kilo__Qwen__Plus__2025__07__28__Thinking ModelID = "qwen/qwen-plus-2025-07-28:thinking" Model__Kilo__Reka__Edge ModelID = "rekaai/reka-edge" Model__Kilo__Reka__Flash__3 ModelID = "rekaai/reka-flash-3" Model__Kilo__Relace__Apply__3 ModelID = "relace/relace-apply-3" Model__Kilo__Relace__Search ModelID = "relace/relace-search" Model__Kilo__Remm__Slerp__L2__13b ModelID = "undi95/remm-slerp-l2-13b" Model__Kilo__Ring__2__6__1t__2_6 ModelID = "inclusionai/ring-2.6-1t" Model__Kilo__Rnj__1__Instruct ModelID = "essentialai/rnj-1-instruct" Model__Kilo__Rocinante__12b ModelID = "thedrummer/rocinante-12b" Model__Kilo__Router ModelID = "switchpoint/router" Model__Kilo__Seed__1_6 ModelID = "bytedance-seed/seed-1.6" Model__Kilo__Seed__1__6__Flash__1_6 ModelID = "bytedance-seed/seed-1.6-flash" Model__Kilo__Seed__2__0__Lite__2_0 ModelID = "bytedance-seed/seed-2.0-lite" Model__Kilo__Seed__2__0__Mini__2_0 ModelID = "bytedance-seed/seed-2.0-mini" Model__Kilo__Skyfall__36b__V2 ModelID = "thedrummer/skyfall-36b-v2" Model__Kilo__Small ModelID = "kilo-auto/small" Model__Kilo__Solar__Pro__3 ModelID = "upstage/solar-pro-3" Model__Kilo__Sonar ModelID = "perplexity/sonar" Model__Kilo__Sonar__Deep__Research ModelID = "perplexity/sonar-deep-research" Model__Kilo__Sonar__Pro ModelID = "perplexity/sonar-pro" Model__Kilo__Sonar__Pro__Search ModelID = "perplexity/sonar-pro-search" Model__Kilo__Sonar__Reasoning__Pro ModelID = "perplexity/sonar-reasoning-pro" Model__Kilo__Spotlight ModelID = "arcee-ai/spotlight" Model__Kilo__Step__3__5__Flash__3_5 ModelID = "stepfun/step-3.5-flash" Model__Kilo__Trinity__Large__Thinking ModelID = "arcee-ai/trinity-large-thinking" Model__Kilo__Trinity__Mini ModelID = "arcee-ai/trinity-mini" Model__Kilo__Ui__Tars__1__5__7b ModelID = "bytedance/ui-tars-1.5-7b" Model__Kilo__Unslopnemo__12b ModelID = "thedrummer/unslopnemo-12b" Model__Kilo__Virtuoso__Large ModelID = "arcee-ai/virtuoso-large" Model__Kilo__Voxtral__Small__24b__2507 ModelID = "mistralai/voxtral-small-24b-2507" Model__Kilo__Weaver ModelID = "mancer/weaver" Model__Kilo__WizardLM__2__8x22b__2 ModelID = "microsoft/wizardlm-2-8x22b" Model__KimiForCoding__K2p5__2_5__Thinking ModelID = "k2p5" Model__KimiForCoding__K2p6__2_6__Thinking ModelID = "k2p6" Model__KimiForCoding__K2p7 ModelID = "k2p7" Model__KimiForCoding__Kimi__K2__2__Thinking ModelID = "kimi-k2-thinking" Model__LLMTR__Gemma__4 ModelID = "gemma-4" Model__LLMTR__Magibu__11b__V8 ModelID = "magibu-11b-v8" Model__LLMTR__Medgemma__4b ModelID = "medgemma-4b" Model__LLMTR__Qwen3__6__35b__3 ModelID = "qwen3-6-35b" Model__LLMTR__Sincap ModelID = "sincap" Model__LLMTR__Trendyol__7b ModelID = "trendyol-7b" Model__LMStudio__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__LMStudio__Qwen3__30b__A3b__2507__3 ModelID = "qwen/qwen3-30b-a3b-2507" Model__LMStudio__Qwen3__Coder__30b__3 ModelID = "qwen/qwen3-coder-30b" Model__Lilac__GLM__5_2 ModelID = "zai-org/glm-5.2" Model__Lilac__Gemma__4__31b__It__4 ModelID = "google/gemma-4-31b-it" Model__Lilac__Kimi__K2__6__2_6 ModelID = "moonshotai/kimi-k2.6" Model__Lilac__MiniMax__M3__3 ModelID = "minimaxai/minimax-m3" Model__Llama__Cerebras__Llama__4__Maverick__17b__128e__4__Instruct ModelID = "cerebras-llama-4-maverick-17b-128e-instruct" Model__Llama__Cerebras__Llama__4__Scout__17b__16e__4__Instruct ModelID = "cerebras-llama-4-scout-17b-16e-instruct" Model__Llama__Groq__Llama__4__Maverick__17b__128e__4__Instruct ModelID = "groq-llama-4-maverick-17b-128e-instruct" Model__Llama__Llama__3__3__70b__3_3__Instruct ModelID = "llama-3.3-70b-instruct" Model__Llama__Llama__3__3__8b__3_3__Instruct ModelID = "llama-3.3-8b-instruct" Model__Llama__Llama__4__Maverick__17b__128e__Instruct__Fp8__4__Instruct ModelID = "llama-4-maverick-17b-128e-instruct-fp8" Model__Llama__Llama__4__Scout__17b__16e__Instruct__Fp8__4__Instruct ModelID = "llama-4-scout-17b-16e-instruct-fp8" Model__LlmGateway__Auto ModelID = "auto" Model__LlmGateway__Claude__3__Opus__3 ModelID = "claude-3-opus" Model__LlmGateway__Claude__Fable__5 ModelID = "claude-fable-5" Model__LlmGateway__Claude__Haiku__4_5 ModelID = "claude-haiku-4-5" Model__LlmGateway__Claude__Haiku__4_5__20251001 ModelID = "claude-haiku-4-5-20251001" Model__LlmGateway__Claude__Haiku__4__5__Free ModelID = "claude-haiku-4-5-free" Model__LlmGateway__Claude__Opus__4_1__20250805 ModelID = "claude-opus-4-1-20250805" Model__LlmGateway__Claude__Opus__4_5__20251101 ModelID = "claude-opus-4-5-20251101" Model__LlmGateway__Claude__Opus__4_6 ModelID = "claude-opus-4-6" Model__LlmGateway__Claude__Opus__4_7 ModelID = "claude-opus-4-7" Model__LlmGateway__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__LlmGateway__Claude__Sonnet__4_5 ModelID = "claude-sonnet-4-5" Model__LlmGateway__Claude__Sonnet__4_5__20250929 ModelID = "claude-sonnet-4-5-20250929" Model__LlmGateway__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__LlmGateway__Claude__Sonnet__5 ModelID = "claude-sonnet-5" Model__LlmGateway__Codestral__2508 ModelID = "codestral-2508" Model__LlmGateway__Custom ModelID = "custom" Model__LlmGateway__DeepSeek__V3__1 ModelID = "deepseek-v3.1" Model__LlmGateway__DeepSeek__V3__2 ModelID = "deepseek-v3.2" Model__LlmGateway__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__LlmGateway__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__LlmGateway__Devstral__2512 ModelID = "devstral-2512" Model__LlmGateway__Devstral__Small__2507 ModelID = "devstral-small-2507" Model__LlmGateway__Fugu__Ultra ModelID = "fugu-ultra" Model__LlmGateway__GLM__4_5 ModelID = "glm-4.5" Model__LlmGateway__GLM__4_6 ModelID = "glm-4.6" Model__LlmGateway__GLM__4_7 ModelID = "glm-4.7" Model__LlmGateway__GLM__4__32b__0414__128k__4 ModelID = "glm-4-32b-0414-128k" Model__LlmGateway__GLM__4__5__Air__4_5 ModelID = "glm-4.5-air" Model__LlmGateway__GLM__4__5__Airx__4_5 ModelID = "glm-4.5-airx" Model__LlmGateway__GLM__4__5__X__4_5 ModelID = "glm-4.5-x" Model__LlmGateway__GLM__4__5v__4_5 ModelID = "glm-4.5v" Model__LlmGateway__GLM__4__6v__4_6 ModelID = "glm-4.6v" Model__LlmGateway__GLM__4__6v__Flashx__4_6 ModelID = "glm-4.6v-flashx" Model__LlmGateway__GLM__4__7__Flash__4_7 ModelID = "glm-4.7-flash" Model__LlmGateway__GLM__4__7__Flashx__4_7 ModelID = "glm-4.7-flashx" Model__LlmGateway__GLM__5 ModelID = "glm-5" Model__LlmGateway__GLM__5_1 ModelID = "glm-5.1" Model__LlmGateway__GLM__5_2 ModelID = "glm-5.2" Model__LlmGateway__GPT__3_5__Turbo ModelID = "gpt-3.5-turbo" Model__LlmGateway__GPT__4 ModelID = "gpt-4" Model__LlmGateway__GPT__4_1 ModelID = "gpt-4.1" Model__LlmGateway__GPT__4__1__Mini__4_1 ModelID = "gpt-4.1-mini" Model__LlmGateway__GPT__4__1__Nano__4_1 ModelID = "gpt-4.1-nano" Model__LlmGateway__GPT__4__Turbo ModelID = "gpt-4-turbo" Model__LlmGateway__GPT__4o ModelID = "gpt-4o" Model__LlmGateway__GPT__4o__Mini ModelID = "gpt-4o-mini" Model__LlmGateway__GPT__4o__Mini__Search__PreviewMini ModelID = "gpt-4o-mini-search-preview" Model__LlmGateway__GPT__4o__Search__Preview ModelID = "gpt-4o-search-preview" Model__LlmGateway__GPT__5 ModelID = "gpt-5" Model__LlmGateway__GPT__5_1 ModelID = "gpt-5.1" Model__LlmGateway__GPT__5_2 ModelID = "gpt-5.2" Model__LlmGateway__GPT__5_2__ChatLatest ModelID = "gpt-5.2-chat-latest" Model__LlmGateway__GPT__5_3__ChatLatest ModelID = "gpt-5.3-chat-latest" Model__LlmGateway__GPT__5_4 ModelID = "gpt-5.4" Model__LlmGateway__GPT__5_5 ModelID = "gpt-5.5" Model__LlmGateway__GPT__5__1__Codex__5_1 ModelID = "gpt-5.1-codex" Model__LlmGateway__GPT__5__1__Codex__Mini__5_1 ModelID = "gpt-5.1-codex-mini" Model__LlmGateway__GPT__5__2__Codex__5_2 ModelID = "gpt-5.2-codex" Model__LlmGateway__GPT__5__2__Pro__5_2 ModelID = "gpt-5.2-pro" Model__LlmGateway__GPT__5__3__Codex__5_3 ModelID = "gpt-5.3-codex" Model__LlmGateway__GPT__5__4__Mini__5_4 ModelID = "gpt-5.4-mini" Model__LlmGateway__GPT__5__4__Nano__5_4 ModelID = "gpt-5.4-nano" Model__LlmGateway__GPT__5__4__Pro__5_4 ModelID = "gpt-5.4-pro" Model__LlmGateway__GPT__5__5__Pro__5_5 ModelID = "gpt-5.5-pro" Model__LlmGateway__GPT__5__6__Luna__5_6 ModelID = "gpt-5.6-luna" Model__LlmGateway__GPT__5__6__Sol__5_6 ModelID = "gpt-5.6-sol" Model__LlmGateway__GPT__5__6__Terra__5_6 ModelID = "gpt-5.6-terra" Model__LlmGateway__GPT__5__ChatLatest ModelID = "gpt-5-chat-latest" Model__LlmGateway__GPT__5__Mini__5 ModelID = "gpt-5-mini" Model__LlmGateway__GPT__5__Nano__5 ModelID = "gpt-5-nano" Model__LlmGateway__GPT__5__Pro__5 ModelID = "gpt-5-pro" Model__LlmGateway__GPT__Oss__120b ModelID = "gpt-oss-120b" Model__LlmGateway__GPT__Oss__20b ModelID = "gpt-oss-20b" Model__LlmGateway__Gemini__2__5__Flash__2_5 ModelID = "gemini-2.5-flash" Model__LlmGateway__Gemini__2__5__Flash__Lite__2_5 ModelID = "gemini-2.5-flash-lite" Model__LlmGateway__Gemini__2__5__Pro__2_5 ModelID = "gemini-2.5-pro" Model__LlmGateway__Gemini__3__1__Flash__Lite__3_1 ModelID = "gemini-3.1-flash-lite" Model__LlmGateway__Gemini__3__1__Pro__3_1__Preview ModelID = "gemini-3.1-pro-preview" Model__LlmGateway__Gemini__3__5__Flash__3_5 ModelID = "gemini-3.5-flash" Model__LlmGateway__Gemini__3__Flash__3__Preview ModelID = "gemini-3-flash-preview" Model__LlmGateway__Gemini__Pro__Latest ModelID = "gemini-pro-latest" Model__LlmGateway__Gemma__4__26b__A4b__It__4 ModelID = "gemma-4-26b-a4b-it" Model__LlmGateway__Gemma__4__31b__It__4 ModelID = "gemma-4-31b-it" Model__LlmGateway__Grok__4 ModelID = "grok-4" Model__LlmGateway__Grok__4_1__ReasoningFast ModelID = "grok-4-1-fast-reasoning" Model__LlmGateway__Grok__4_20__Reasoning ModelID = "grok-4-20-reasoning" Model__LlmGateway__Grok__4_3 ModelID = "grok-4-3" Model__LlmGateway__Grok__4_5 ModelID = "grok-4-5" Model__LlmGateway__Grok__4__1__Fast__Non__Reasoning__4_1__Non_Reasoning ModelID = "grok-4-1-fast-non-reasoning" Model__LlmGateway__Grok__4__20__Beta__0309__4_20__Reasoning ModelID = "grok-4-20-beta-0309-reasoning" Model__LlmGateway__Grok__4__20__Beta__0309__Non__Reasoning__4_20__Non_Reasoning ModelID = "grok-4-20-beta-0309-non-reasoning" Model__LlmGateway__Grok__4__20__Non__Reasoning__4_20__Non_Reasoning ModelID = "grok-4-20-non-reasoning" Model__LlmGateway__Grok__Build__0_1 ModelID = "grok-build-0-1" Model__LlmGateway__Kimi__K2__2 ModelID = "kimi-k2" Model__LlmGateway__Kimi__K2__2__Thinking ModelID = "kimi-k2-thinking" Model__LlmGateway__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__LlmGateway__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__LlmGateway__Kimi__K2__7__2_7__Code ModelID = "kimi-k2.7-code" Model__LlmGateway__Kimi__K2__7__Code__Highspeed__2_7 ModelID = "kimi-k2.7-code-highspeed" Model__LlmGateway__Llama__3__1__70b__3_1__Instruct ModelID = "llama-3.1-70b-instruct" Model__LlmGateway__Llama__3__1__Nemotron__Ultra__253b ModelID = "llama-3.1-nemotron-ultra-253b" Model__LlmGateway__Llama__3__2__11b__3_2__Instruct ModelID = "llama-3.2-11b-instruct" Model__LlmGateway__Llama__3__2__3b__3_2__Instruct ModelID = "llama-3.2-3b-instruct" Model__LlmGateway__Llama__3__3__70b__3_3__Instruct ModelID = "llama-3.3-70b-instruct" Model__LlmGateway__Llama__3__70b__3__Instruct ModelID = "llama-3-70b-instruct" Model__LlmGateway__Llama__3__8b__3__Instruct ModelID = "llama-3-8b-instruct" Model__LlmGateway__Llama__4__Maverick__17b__4__Instruct ModelID = "llama-4-maverick-17b-instruct" Model__LlmGateway__Llama__4__Scout__17b__4__Instruct ModelID = "llama-4-scout-17b-instruct" Model__LlmGateway__Mimo__V2__5__2_5 ModelID = "mimo-v2.5" Model__LlmGateway__Mimo__V2__5__2_5__Pro ModelID = "mimo-v2.5-pro" Model__LlmGateway__MiniMax__M2__1__2_1 ModelID = "minimax-m2.1" Model__LlmGateway__MiniMax__M2__1__2_1__Lightning ModelID = "minimax-m2.1-lightning" Model__LlmGateway__MiniMax__M2__2 ModelID = "minimax-m2" Model__LlmGateway__MiniMax__M2__5__2_5 ModelID = "minimax-m2.5" Model__LlmGateway__MiniMax__M2__5__2_5__Highspeed ModelID = "minimax-m2.5-highspeed" Model__LlmGateway__MiniMax__M2__7__2_7 ModelID = "minimax-m2.7" Model__LlmGateway__MiniMax__M2__7__2_7__Highspeed ModelID = "minimax-m2.7-highspeed" Model__LlmGateway__MiniMax__M3__3 ModelID = "minimax-m3" Model__LlmGateway__MiniMax__Text__01 ModelID = "minimax-text-01" Model__LlmGateway__Ministral__14b__2512 ModelID = "ministral-14b-2512" Model__LlmGateway__Ministral__3b__2512 ModelID = "ministral-3b-2512" Model__LlmGateway__Ministral__8b__2512 ModelID = "ministral-8b-2512" Model__LlmGateway__Mistral__Large__2512 ModelID = "mistral-large-2512" Model__LlmGateway__Mistral__Large__Latest ModelID = "mistral-large-latest" Model__LlmGateway__Mistral__Small__2506 ModelID = "mistral-small-2506" Model__LlmGateway__Muse__Spark__1_1 ModelID = "muse-spark-1.1" Model__LlmGateway__Nemotron__3__Ultra__550b__3 ModelID = "nemotron-3-ultra-550b" Model__LlmGateway__O1__1 ModelID = "o1" Model__LlmGateway__O3__3 ModelID = "o3" Model__LlmGateway__O3__3__Mini ModelID = "o3-mini" Model__LlmGateway__O4__4__Mini ModelID = "o4-mini" Model__LlmGateway__Pixtral__Large__Latest ModelID = "pixtral-large-latest" Model__LlmGateway__Qwen2__5__Vl__32b__2__Instruct ModelID = "qwen2-5-vl-32b-instruct" Model__LlmGateway__Qwen2__5__Vl__72b__2__Instruct ModelID = "qwen2-5-vl-72b-instruct" Model__LlmGateway__Qwen35__397b__A17b__35 ModelID = "qwen35-397b-a17b" Model__LlmGateway__Qwen3__235b__A22b__Fp8__3 ModelID = "qwen3-235b-a22b-fp8" Model__LlmGateway__Qwen3__235b__A22b__Instruct__2507__3__Instruct ModelID = "qwen3-235b-a22b-instruct-2507" Model__LlmGateway__Qwen3__235b__A22b__Thinking__2507__3__Thinking ModelID = "qwen3-235b-a22b-thinking-2507" Model__LlmGateway__Qwen3__30b__A3b__Instruct__2507__3__Instruct ModelID = "qwen3-30b-a3b-instruct-2507" Model__LlmGateway__Qwen3__32b__3 ModelID = "qwen3-32b" Model__LlmGateway__Qwen3__4b__Fp8__3 ModelID = "qwen3-4b-fp8" Model__LlmGateway__Qwen3__5__9b__3_5 ModelID = "qwen3.5-9b" Model__LlmGateway__Qwen3__6__35b__A3b__3_6 ModelID = "qwen3.6-35b-a3b" Model__LlmGateway__Qwen3__6__Flash__3_6 ModelID = "qwen3.6-flash" Model__LlmGateway__Qwen3__6__Max__3_6__Preview ModelID = "qwen3.6-max-preview" Model__LlmGateway__Qwen3__6__Plus__3_6 ModelID = "qwen3.6-plus" Model__LlmGateway__Qwen3__7__Max__3_7 ModelID = "qwen3.7-max" Model__LlmGateway__Qwen3__7__Plus__3_7 ModelID = "qwen3.7-plus" Model__LlmGateway__Qwen3__Coder__30b__A3b__3__Instruct ModelID = "qwen3-coder-30b-a3b-instruct" Model__LlmGateway__Qwen3__Coder__480b__A35b__3__Instruct ModelID = "qwen3-coder-480b-a35b-instruct" Model__LlmGateway__Qwen3__Coder__Flash__3 ModelID = "qwen3-coder-flash" Model__LlmGateway__Qwen3__Coder__Next__3 ModelID = "qwen3-coder-next" Model__LlmGateway__Qwen3__Coder__Plus__3 ModelID = "qwen3-coder-plus" Model__LlmGateway__Qwen3__Max__3 ModelID = "qwen3-max" Model__LlmGateway__Qwen3__Next__80b__A3b__3__Instruct ModelID = "qwen3-next-80b-a3b-instruct" Model__LlmGateway__Qwen3__Next__80b__A3b__3__Thinking ModelID = "qwen3-next-80b-a3b-thinking" Model__LlmGateway__Qwen3__Vl__235b__A22b__3__Instruct ModelID = "qwen3-vl-235b-a22b-instruct" Model__LlmGateway__Qwen3__Vl__235b__A22b__3__Thinking ModelID = "qwen3-vl-235b-a22b-thinking" Model__LlmGateway__Qwen3__Vl__30b__A3b__3__Instruct ModelID = "qwen3-vl-30b-a3b-instruct" Model__LlmGateway__Qwen3__Vl__30b__A3b__3__Thinking ModelID = "qwen3-vl-30b-a3b-thinking" Model__LlmGateway__Qwen3__Vl__8b__3__Instruct ModelID = "qwen3-vl-8b-instruct" Model__LlmGateway__Qwen3__Vl__Flash__3 ModelID = "qwen3-vl-flash" Model__LlmGateway__Qwen3__Vl__Plus__3 ModelID = "qwen3-vl-plus" Model__LlmGateway__Qwen__Coder__Plus ModelID = "qwen-coder-plus" Model__LlmGateway__Qwen__Flash ModelID = "qwen-flash" Model__LlmGateway__Qwen__Max ModelID = "qwen-max" Model__LlmGateway__Qwen__Max__Latest ModelID = "qwen-max-latest" Model__LlmGateway__Qwen__Omni__Turbo__Omni ModelID = "qwen-omni-turbo" Model__LlmGateway__Qwen__Plus ModelID = "qwen-plus" Model__LlmGateway__Qwen__Plus__Latest ModelID = "qwen-plus-latest" Model__LlmGateway__Qwen__Turbo ModelID = "qwen-turbo" Model__LlmGateway__Qwen__Vl__Max ModelID = "qwen-vl-max" Model__LlmGateway__Qwen__Vl__Plus ModelID = "qwen-vl-plus" Model__LlmGateway__Qwq__Plus ModelID = "qwq-plus" Model__LlmGateway__Seed__1__6__250615__1_6 ModelID = "seed-1-6-250615" Model__LlmGateway__Seed__1__6__250915__1_6 ModelID = "seed-1-6-250915" Model__LlmGateway__Seed__1__6__Flash__250715__1_6 ModelID = "seed-1-6-flash-250715" Model__LlmGateway__Seed__1__8__251228__1_8 ModelID = "seed-1-8-251228" Model__LlmGateway__Sonar ModelID = "sonar" Model__LlmGateway__Sonar__Pro ModelID = "sonar-pro" Model__LlmGateway__Sonar__Reasoning__Pro ModelID = "sonar-reasoning-pro" Model__LongCat__Longcat__2_0 ModelID = "LongCat-2.0" Model__LucidQuery__Lucidnova__Rf1__100b ModelID = "lucidnova-rf1-100b" Model__LucidQuery__Lucidquery__Agi__01__Frontier ModelID = "lucidquery-agi-01-frontier" Model__LucidQuery__Lucidquery__Agi__01__Swift ModelID = "lucidquery-agi-01-swift" Model__LucidQuery__Lucidquery__Nexus__Coder ModelID = "lucidquery-nexus-coder" Model__Meganova__DeepSeek__R1__0528__Thinking ModelID = "deepseek-ai/DeepSeek-R1-0528" Model__Meganova__DeepSeek__V3__0324 ModelID = "deepseek-ai/DeepSeek-V3-0324" Model__Meganova__DeepSeek__V3__1 ModelID = "deepseek-ai/DeepSeek-V3.1" Model__Meganova__DeepSeek__V3__2 ModelID = "deepseek-ai/DeepSeek-V3.2" Model__Meganova__DeepSeek__V3__2__Exp ModelID = "deepseek-ai/DeepSeek-V3.2-Exp" Model__Meganova__GLM__4_6 ModelID = "zai-org/GLM-4.6" Model__Meganova__GLM__4_7 ModelID = "zai-org/GLM-4.7" Model__Meganova__GLM__5 ModelID = "zai-org/GLM-5" Model__Meganova__Kimi__K2__2__Thinking ModelID = "moonshotai/Kimi-K2-Thinking" Model__Meganova__Kimi__K2__5__2_5 ModelID = "moonshotai/Kimi-K2.5" Model__Meganova__Llama__3__3__70B__3_3__Instruct ModelID = "meta-llama/Llama-3.3-70B-Instruct" Model__Meganova__Mimo__V2__Flash ModelID = "XiaomiMiMo/MiMo-V2-Flash" Model__Meganova__MiniMax__M2__1__2_1 ModelID = "MiniMaxAI/MiniMax-M2.1" Model__Meganova__MiniMax__M2__5__2_5 ModelID = "MiniMaxAI/MiniMax-M2.5" Model__Meganova__Mistral__Nemo__Instruct__2407__Instruct ModelID = "mistralai/Mistral-Nemo-Instruct-2407" Model__Meganova__Mistral__Small__3__2__24B__Instruct__2506__3_2__Instruct ModelID = "mistralai/Mistral-Small-3.2-24B-Instruct-2506" Model__Meganova__Qwen2__5__Vl__32B__2_5__Instruct ModelID = "Qwen/Qwen2.5-VL-32B-Instruct" Model__Meganova__Qwen3__235B__A22b__Instruct__2507__3__Instruct ModelID = "Qwen/Qwen3-235B-A22B-Instruct-2507" Model__Meganova__Qwen3__5__Plus__3_5 ModelID = "Qwen/Qwen3.5-Plus" Model__MergeGateway__Claude__Haiku__4_5__20251001 ModelID = "anthropic/claude-haiku-4-5-20251001" Model__MergeGateway__Claude__Opus__4_1__20250805 ModelID = "anthropic/claude-opus-4-1-20250805" Model__MergeGateway__Claude__Opus__4_5__20251101 ModelID = "anthropic/claude-opus-4-5-20251101" Model__MergeGateway__Claude__Opus__4_6 ModelID = "anthropic/claude-opus-4-6" Model__MergeGateway__Claude__Opus__4_7 ModelID = "anthropic/claude-opus-4-7" Model__MergeGateway__Claude__Opus__4_8 ModelID = "anthropic/claude-opus-4-8" Model__MergeGateway__Claude__Opus__4__20250514 ModelID = "anthropic/claude-opus-4-20250514" Model__MergeGateway__Claude__Sonnet__4_5__20250929 ModelID = "anthropic/claude-sonnet-4-5-20250929" Model__MergeGateway__Claude__Sonnet__4_6 ModelID = "anthropic/claude-sonnet-4-6" Model__MergeGateway__Claude__Sonnet__4__20250514 ModelID = "anthropic/claude-sonnet-4-20250514" Model__MergeGateway__Codestral__Latest ModelID = "mistral/codestral-latest" Model__MergeGateway__Command__A__20250313 ModelID = "cohere/command-a-03-2025" Model__MergeGateway__Command__R7b__12__20241202 ModelID = "cohere/command-r7b-12-2024" Model__MergeGateway__Command__R__20240830 ModelID = "cohere/command-r-08-2024" Model__MergeGateway__Command__R__Plus__20240830 ModelID = "cohere/command-r-plus-08-2024" Model__MergeGateway__DeepSeek__V4__Flash ModelID = "deepseek/deepseek-v4-flash" Model__MergeGateway__DeepSeek__V4__Pro__Thinking ModelID = "deepseek/deepseek-v4-pro" Model__MergeGateway__Devstral__2512 ModelID = "mistral/devstral-2512" Model__MergeGateway__Devstral__Medium__2507 ModelID = "mistral/devstral-medium-2507" Model__MergeGateway__Devstral__Medium__Latest ModelID = "mistral/devstral-medium-latest" Model__MergeGateway__Devstral__Small__2507 ModelID = "mistral/devstral-small-2507" Model__MergeGateway__GLM__4_5 ModelID = "zai/glm-4.5" Model__MergeGateway__GLM__4_6 ModelID = "zai/glm-4.6" Model__MergeGateway__GLM__4_7 ModelID = "zai/glm-4.7" Model__MergeGateway__GLM__4__5__Air__4_5 ModelID = "zai/glm-4.5-air" Model__MergeGateway__GLM__4__7__Flashx__4_7 ModelID = "zai/glm-4.7-flashx" Model__MergeGateway__GLM__5 ModelID = "zai/glm-5" Model__MergeGateway__GLM__5_1 ModelID = "zai/glm-5.1" Model__MergeGateway__GLM__5_2 ModelID = "zai/glm-5.2" Model__MergeGateway__GLM__5__Turbo ModelID = "zai/glm-5-turbo" Model__MergeGateway__GPT__4_1 ModelID = "openai/gpt-4.1" Model__MergeGateway__GPT__4__1__Mini__4_1 ModelID = "openai/gpt-4.1-mini" Model__MergeGateway__GPT__4__1__Nano__4_1 ModelID = "openai/gpt-4.1-nano" Model__MergeGateway__GPT__4o ModelID = "openai/gpt-4o" Model__MergeGateway__GPT__4o__20240513 ModelID = "openai/gpt-4o-2024-05-13" Model__MergeGateway__GPT__4o__20240806 ModelID = "openai/gpt-4o-2024-08-06" Model__MergeGateway__GPT__4o__20241120 ModelID = "openai/gpt-4o-2024-11-20" Model__MergeGateway__GPT__4o__Mini ModelID = "openai/gpt-4o-mini" Model__MergeGateway__GPT__5 ModelID = "openai/gpt-5" Model__MergeGateway__GPT__5_1 ModelID = "openai/gpt-5.1" Model__MergeGateway__GPT__5_1__ChatLatest ModelID = "openai/gpt-5.1-chat-latest" Model__MergeGateway__GPT__5_2 ModelID = "openai/gpt-5.2" Model__MergeGateway__GPT__5_2__ChatLatest ModelID = "openai/gpt-5.2-chat-latest" Model__MergeGateway__GPT__5_3__ChatLatest ModelID = "openai/gpt-5.3-chat-latest" Model__MergeGateway__GPT__5_4 ModelID = "openai/gpt-5.4" Model__MergeGateway__GPT__5_5 ModelID = "openai/gpt-5.5" Model__MergeGateway__GPT__5__4__Mini__5_4 ModelID = "openai/gpt-5.4-mini" Model__MergeGateway__GPT__5__4__Nano__5_4 ModelID = "openai/gpt-5.4-nano" Model__MergeGateway__GPT__5__ChatLatest ModelID = "openai/gpt-5-chat-latest" Model__MergeGateway__GPT__5__Mini__5 ModelID = "openai/gpt-5-mini" Model__MergeGateway__GPT__5__Nano__5 ModelID = "openai/gpt-5-nano" Model__MergeGateway__Gemini__2__5__Flash__2_5 ModelID = "google/gemini-2.5-flash" Model__MergeGateway__Gemini__2__5__Flash__Lite__2_5 ModelID = "google/gemini-2.5-flash-lite" Model__MergeGateway__Gemini__2__5__Pro__2_5 ModelID = "google/gemini-2.5-pro" Model__MergeGateway__Gemini__3__1__Flash__Lite__3_1 ModelID = "google/gemini-3.1-flash-lite" Model__MergeGateway__Gemini__3__1__Flash__Lite__3_1__Preview ModelID = "google/gemini-3.1-flash-lite-preview" Model__MergeGateway__Gemini__3__1__Pro__3_1__Preview ModelID = "google/gemini-3.1-pro-preview" Model__MergeGateway__Gemini__3__1__Pro__Preview__Customtools__3_1 ModelID = "google/gemini-3.1-pro-preview-customtools" Model__MergeGateway__Gemini__3__5__Flash__3_5 ModelID = "google/gemini-3.5-flash" Model__MergeGateway__Gemini__3__Flash__3__Preview ModelID = "google/gemini-3-flash-preview" Model__MergeGateway__Gemini__3__Pro__3__Preview ModelID = "google/gemini-3-pro-preview" Model__MergeGateway__Gemini__Flash__Latest ModelID = "google/gemini-flash-latest" Model__MergeGateway__Gemini__Flash__Lite__Latest ModelID = "google/gemini-flash-lite-latest" Model__MergeGateway__Gemma__4__26b__A4b__It__4 ModelID = "google/gemma-4-26b-a4b-it" Model__MergeGateway__Gemma__4__31b__It__4 ModelID = "google/gemma-4-31b-it" Model__MergeGateway__Grok__4_3 ModelID = "xai/grok-4.3" Model__MergeGateway__Grok__4__20__0309__4_20__Reasoning ModelID = "xai/grok-4.20-0309-reasoning" Model__MergeGateway__Kimi__K2__2__Thinking ModelID = "moonshotai/kimi-k2-thinking" Model__MergeGateway__Kimi__K2__5__2_5 ModelID = "moonshotai/kimi-k2.5" Model__MergeGateway__Kimi__K2__6__2_6 ModelID = "moonshotai/kimi-k2.6" Model__MergeGateway__Kimi__K2__7__2_7__Code ModelID = "moonshotai/kimi-k2.7-code" Model__MergeGateway__Kimi__K2__7__Code__Highspeed__2_7 ModelID = "moonshotai/kimi-k2.7-code-highspeed" Model__MergeGateway__Magistral__Medium__Latest ModelID = "mistral/magistral-medium-latest" Model__MergeGateway__MiniMax__M2__1__2_1 ModelID = "minimax/minimax-m2.1" Model__MergeGateway__MiniMax__M2__2 ModelID = "minimax/minimax-m2" Model__MergeGateway__MiniMax__M2__5__2_5 ModelID = "minimax/minimax-m2.5" Model__MergeGateway__MiniMax__M2__5__2_5__Highspeed ModelID = "minimax/minimax-m2.5-highspeed" Model__MergeGateway__MiniMax__M2__7__2_7 ModelID = "minimax/minimax-m2.7" Model__MergeGateway__MiniMax__M2__7__2_7__Highspeed ModelID = "minimax/minimax-m2.7-highspeed" Model__MergeGateway__MiniMax__M3__3 ModelID = "minimax/minimax-m3" Model__MergeGateway__Mistral__Large__2411 ModelID = "mistral/mistral-large-2411" Model__MergeGateway__Mistral__Large__2512 ModelID = "mistral/mistral-large-2512" Model__MergeGateway__Mistral__Large__Latest ModelID = "mistral/mistral-large-latest" Model__MergeGateway__Mistral__Medium__2505 ModelID = "mistral/mistral-medium-2505" Model__MergeGateway__Mistral__Medium__Latest ModelID = "mistral/mistral-medium-latest" Model__MergeGateway__Mistral__Small__Latest ModelID = "mistral/mistral-small-latest" Model__MergeGateway__O1__1 ModelID = "openai/o1" Model__MergeGateway__O3__3 ModelID = "openai/o3" Model__MergeGateway__O3__3__Mini ModelID = "openai/o3-mini" Model__MergeGateway__O4__4__Mini ModelID = "openai/o4-mini" Model__MergeGateway__Pixtral__Large__Latest ModelID = "mistral/pixtral-large-latest" Model__MergeGateway__Qwen3__6__Plus__3_6 ModelID = "alibaba/qwen3.6-plus" Model__MergeGateway__Qwen3__7__Max__3_7 ModelID = "alibaba/qwen3.7-max" Model__Meta__Muse__Spark__1_1 ModelID = "muse-spark-1.1" Model__MiniMaxCNCodingPlan__MiniMax__M2__1__2_1 ModelID = "MiniMax-M2.1" Model__MiniMaxCNCodingPlan__MiniMax__M2__2 ModelID = "MiniMax-M2" Model__MiniMaxCNCodingPlan__MiniMax__M2__5__2_5 ModelID = "MiniMax-M2.5" Model__MiniMaxCNCodingPlan__MiniMax__M2__5__2_5__Highspeed ModelID = "MiniMax-M2.5-highspeed" Model__MiniMaxCNCodingPlan__MiniMax__M2__7__2_7 ModelID = "MiniMax-M2.7" Model__MiniMaxCNCodingPlan__MiniMax__M2__7__2_7__Highspeed ModelID = "MiniMax-M2.7-highspeed" Model__MiniMaxCNCodingPlan__MiniMax__M3__3 ModelID = "MiniMax-M3" Model__MiniMaxCN__MiniMax__M2__1__2_1 ModelID = "MiniMax-M2.1" Model__MiniMaxCN__MiniMax__M2__2 ModelID = "MiniMax-M2" Model__MiniMaxCN__MiniMax__M2__5__2_5 ModelID = "MiniMax-M2.5" Model__MiniMaxCN__MiniMax__M2__5__2_5__Highspeed ModelID = "MiniMax-M2.5-highspeed" Model__MiniMaxCN__MiniMax__M2__7__2_7 ModelID = "MiniMax-M2.7" Model__MiniMaxCN__MiniMax__M2__7__2_7__Highspeed ModelID = "MiniMax-M2.7-highspeed" Model__MiniMaxCN__MiniMax__M3__3 ModelID = "MiniMax-M3" Model__MiniMaxCodingPlan__MiniMax__M2__1__2_1 ModelID = "MiniMax-M2.1" Model__MiniMaxCodingPlan__MiniMax__M2__2 ModelID = "MiniMax-M2" Model__MiniMaxCodingPlan__MiniMax__M2__5__2_5 ModelID = "MiniMax-M2.5" Model__MiniMaxCodingPlan__MiniMax__M2__5__2_5__Highspeed ModelID = "MiniMax-M2.5-highspeed" Model__MiniMaxCodingPlan__MiniMax__M2__7__2_7 ModelID = "MiniMax-M2.7" Model__MiniMaxCodingPlan__MiniMax__M2__7__2_7__Highspeed ModelID = "MiniMax-M2.7-highspeed" Model__MiniMaxCodingPlan__MiniMax__M3__3 ModelID = "MiniMax-M3" Model__MiniMax__MiniMax__M2__1__2_1 ModelID = "MiniMax-M2.1" Model__MiniMax__MiniMax__M2__2 ModelID = "MiniMax-M2" Model__MiniMax__MiniMax__M2__5__2_5 ModelID = "MiniMax-M2.5" Model__MiniMax__MiniMax__M2__5__2_5__Highspeed ModelID = "MiniMax-M2.5-highspeed" Model__MiniMax__MiniMax__M2__7__2_7 ModelID = "MiniMax-M2.7" Model__MiniMax__MiniMax__M2__7__2_7__Highspeed ModelID = "MiniMax-M2.7-highspeed" Model__MiniMax__MiniMax__M3__3 ModelID = "MiniMax-M3" Model__Mistral__Codestral__Latest ModelID = "codestral-latest" Model__Mistral__Devstral__2512 ModelID = "devstral-2512" Model__Mistral__Devstral__Latest ModelID = "devstral-latest" Model__Mistral__Devstral__Medium__2507 ModelID = "devstral-medium-2507" Model__Mistral__Devstral__Medium__Latest ModelID = "devstral-medium-latest" Model__Mistral__Devstral__Small__2505 ModelID = "devstral-small-2505" Model__Mistral__Devstral__Small__2507 ModelID = "devstral-small-2507" Model__Mistral__Labs__Devstral__Small__2512 ModelID = "labs-devstral-small-2512" Model__Mistral__Magistral__Medium__Latest ModelID = "magistral-medium-latest" Model__Mistral__Magistral__Small ModelID = "magistral-small" Model__Mistral__Ministral__3b__Latest ModelID = "ministral-3b-latest" Model__Mistral__Ministral__8b__Latest ModelID = "ministral-8b-latest" Model__Mistral__Mistral__Embed ModelID = "mistral-embed" Model__Mistral__Mistral__Large__2411 ModelID = "mistral-large-2411" Model__Mistral__Mistral__Large__2512 ModelID = "mistral-large-2512" Model__Mistral__Mistral__Large__Latest ModelID = "mistral-large-latest" Model__Mistral__Mistral__Medium__2505 ModelID = "mistral-medium-2505" Model__Mistral__Mistral__Medium__2508 ModelID = "mistral-medium-2508" Model__Mistral__Mistral__Medium__2604 ModelID = "mistral-medium-2604" Model__Mistral__Mistral__Medium__Latest ModelID = "mistral-medium-latest" Model__Mistral__Mistral__Nemo ModelID = "mistral-nemo" Model__Mistral__Mistral__Small__2506 ModelID = "mistral-small-2506" Model__Mistral__Mistral__Small__2603 ModelID = "mistral-small-2603" Model__Mistral__Mistral__Small__Latest ModelID = "mistral-small-latest" Model__Mistral__Open__Mistral__7b ModelID = "open-mistral-7b" Model__Mistral__Open__Mistral__Nemo ModelID = "open-mistral-nemo" Model__Mistral__Open__Mixtral__8x22b ModelID = "open-mixtral-8x22b" Model__Mistral__Open__Mixtral__8x7b ModelID = "open-mixtral-8x7b" Model__Mistral__Pixtral__12b ModelID = "pixtral-12b" Model__Mistral__Pixtral__Large__Latest ModelID = "pixtral-large-latest" Model__Mixlayer__Qwen3__5__122b__A10b__3_5 ModelID = "qwen/qwen3.5-122b-a10b" Model__Mixlayer__Qwen3__5__27b__3_5 ModelID = "qwen/qwen3.5-27b" Model__Mixlayer__Qwen3__5__35b__A3b__3_5 ModelID = "qwen/qwen3.5-35b-a3b" Model__Mixlayer__Qwen3__5__397b__A17b__3_5 ModelID = "qwen/qwen3.5-397b-a17b" Model__Mixlayer__Qwen3__5__9b__3_5 ModelID = "qwen/qwen3.5-9b" Model__Moark__GLM__4_7 ModelID = "GLM-4.7" Model__Moark__MiniMax__M2__1__2_1 ModelID = "MiniMax-M2.1" Model__ModelOracleAI__Auto ModelID = "auto" Model__ModelOracleAI__Claude__Fable__5 ModelID = "claude-fable-5" Model__ModelOracleAI__Claude__Haiku__4_5 ModelID = "claude-haiku-4.5" Model__ModelOracleAI__Claude__Opus__4_8 ModelID = "claude-opus-4.8" Model__ModelOracleAI__Claude__Sonnet__5 ModelID = "claude-sonnet-5" Model__ModelOracleAI__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__ModelOracleAI__GLM__5_2 ModelID = "glm-5.2" Model__ModelOracleAI__GPT__4_1 ModelID = "gpt-4.1" Model__ModelOracleAI__GPT__4__1__Mini__4_1 ModelID = "gpt-4.1-mini" Model__ModelOracleAI__GPT__5 ModelID = "gpt-5" Model__ModelOracleAI__GPT__5_4 ModelID = "gpt-5.4" Model__ModelOracleAI__GPT__5_5 ModelID = "gpt-5.5" Model__ModelOracleAI__GPT__5__4__Mini__5_4 ModelID = "gpt-5.4-mini" Model__ModelOracleAI__GPT__5__4__Nano__5_4 ModelID = "gpt-5.4-nano" Model__ModelOracleAI__O4__4__Mini ModelID = "o4-mini" Model__ModelScope__GLM__4_5 ModelID = "ZhipuAI/GLM-4.5" Model__ModelScope__GLM__4_6 ModelID = "ZhipuAI/GLM-4.6" Model__ModelScope__Qwen3__235B__A22b__Instruct__2507__3__Instruct ModelID = "Qwen/Qwen3-235B-A22B-Instruct-2507" Model__ModelScope__Qwen3__235B__A22b__Thinking__2507__3__Thinking ModelID = "Qwen/Qwen3-235B-A22B-Thinking-2507" Model__ModelScope__Qwen3__30B__A3b__Instruct__2507__3__Instruct ModelID = "Qwen/Qwen3-30B-A3B-Instruct-2507" Model__ModelScope__Qwen3__30B__A3b__Thinking__2507__3__Thinking ModelID = "Qwen/Qwen3-30B-A3B-Thinking-2507" Model__ModelScope__Qwen3__Coder__30B__A3b__3__Instruct ModelID = "Qwen/Qwen3-Coder-30B-A3B-Instruct" Model__MoonshotAICN__Kimi__K2__0711__2__Preview ModelID = "kimi-k2-0711-preview" Model__MoonshotAICN__Kimi__K2__0905__2__Preview ModelID = "kimi-k2-0905-preview" Model__MoonshotAICN__Kimi__K2__2__Thinking ModelID = "kimi-k2-thinking" Model__MoonshotAICN__Kimi__K2__2__ThinkingTurbo ModelID = "kimi-k2-thinking-turbo" Model__MoonshotAICN__Kimi__K2__2__TurboPreview ModelID = "kimi-k2-turbo-preview" Model__MoonshotAICN__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__MoonshotAICN__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__MoonshotAICN__Kimi__K2__7__2_7__Code ModelID = "kimi-k2.7-code" Model__MoonshotAICN__Kimi__K2__7__Code__Highspeed__2_7 ModelID = "kimi-k2.7-code-highspeed" Model__MoonshotAI__Kimi__K2__0711__2__Preview ModelID = "kimi-k2-0711-preview" Model__MoonshotAI__Kimi__K2__0905__2__Preview ModelID = "kimi-k2-0905-preview" Model__MoonshotAI__Kimi__K2__2__Thinking ModelID = "kimi-k2-thinking" Model__MoonshotAI__Kimi__K2__2__ThinkingTurbo ModelID = "kimi-k2-thinking-turbo" Model__MoonshotAI__Kimi__K2__2__TurboPreview ModelID = "kimi-k2-turbo-preview" Model__MoonshotAI__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__MoonshotAI__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__MoonshotAI__Kimi__K2__7__2_7__Code ModelID = "kimi-k2.7-code" Model__MoonshotAI__Kimi__K2__7__Code__Highspeed__2_7 ModelID = "kimi-k2.7-code-highspeed" Model__Morph__Auto ModelID = "auto" Model__Morph__Morph__V3__Fast ModelID = "morph-v3-fast" Model__Morph__Morph__V3__Large ModelID = "morph-v3-large" Model__NanoGPT__Aion__1_0 ModelID = "aion-labs/aion-1.0" Model__NanoGPT__Aion__1__0__Mini__1_0 ModelID = "aion-labs/aion-1.0-mini" Model__NanoGPT__Aion__2_0 ModelID = "aion-labs/aion-2.0" Model__NanoGPT__Aion__2_5 ModelID = "aion-labs/aion-2.5" Model__NanoGPT__Aion__Rp__Llama__3__1__8b ModelID = "aion-labs/aion-rp-llama-3.1-8b" Model__NanoGPT__Amoral__Gemma3__27B__V2 ModelID = "soob3123/amoral-gemma3-27B-v2" Model__NanoGPT__Anubis__70B__V1 ModelID = "TheDrummer/Anubis-70B-v1" Model__NanoGPT__Anubis__70B__V1__1 ModelID = "TheDrummer/Anubis-70B-v1.1" Model__NanoGPT__Asi1__Mini ModelID = "asi1-mini" Model__NanoGPT__Auto__Model ModelID = "auto-model" Model__NanoGPT__Auto__Model__Basic ModelID = "auto-model-basic" Model__NanoGPT__Auto__Model__Premium ModelID = "auto-model-premium" Model__NanoGPT__Auto__Model__Standard ModelID = "auto-model-standard" Model__NanoGPT__Azure__GPT__4__Turbo ModelID = "azure-gpt-4-turbo" Model__NanoGPT__Azure__GPT__4o ModelID = "azure-gpt-4o" Model__NanoGPT__Azure__GPT__4o__Mini ModelID = "azure-gpt-4o-mini" Model__NanoGPT__Azure__O1__1 ModelID = "azure-o1" Model__NanoGPT__Azure__O3__3__Mini ModelID = "azure-o3-mini" Model__NanoGPT__Baichuan4__Air ModelID = "Baichuan4-Air" Model__NanoGPT__Baichuan4__Turbo ModelID = "Baichuan4-Turbo" Model__NanoGPT__Baichuan__M2 ModelID = "Baichuan-M2" Model__NanoGPT__Brave ModelID = "brave" Model__NanoGPT__Brave__Pro ModelID = "brave-pro" Model__NanoGPT__Brave__Research ModelID = "brave-research" Model__NanoGPT__Claude__3__5__Haiku__3_5__20241022 ModelID = "claude-3-5-haiku-20241022" Model__NanoGPT__Claude__Haiku__4_5__20251001 ModelID = "claude-haiku-4-5-20251001" Model__NanoGPT__Claude__Haiku__4_5__Thinking__20251001 ModelID = "claude-haiku-4-5-20251001-thinking" Model__NanoGPT__Claude__Haiku__Latest ModelID = "anthropic/claude-haiku-latest" Model__NanoGPT__Claude__Opus__4_1__20250805 ModelID = "claude-opus-4-1-20250805" Model__NanoGPT__Claude__Opus__4_1__Thinking ModelID = "claude-opus-4-1-thinking" Model__NanoGPT__Claude__Opus__4_5__20251101 ModelID = "claude-opus-4-5-20251101" Model__NanoGPT__Claude__Opus__4_6 ModelID = "anthropic/claude-opus-4.6" Model__NanoGPT__Claude__Opus__4_7 ModelID = "anthropic/claude-opus-4.7" Model__NanoGPT__Claude__Opus__4_8 ModelID = "anthropic/claude-opus-4.8" Model__NanoGPT__Claude__Opus__4__1__Thinking__1024__4_1__Thinking ModelID = "claude-opus-4-1-thinking:1024" Model__NanoGPT__Claude__Opus__4__1__Thinking__32000__4_1__Thinking ModelID = "claude-opus-4-1-thinking:32000" Model__NanoGPT__Claude__Opus__4__1__Thinking__32768__4_1__Thinking ModelID = "claude-opus-4-1-thinking:32768" Model__NanoGPT__Claude__Opus__4__1__Thinking__8192__4_1__Thinking ModelID = "claude-opus-4-1-thinking:8192" Model__NanoGPT__Claude__Opus__4__20250514 ModelID = "claude-opus-4-20250514" Model__NanoGPT__Claude__Opus__4__5__20251101__Thinking__4_5 ModelID = "claude-opus-4-5-20251101:thinking" Model__NanoGPT__Claude__Opus__4__6__Thinking ModelID = "anthropic/claude-opus-4.6:thinking" Model__NanoGPT__Claude__Opus__4__6__Thinking__Low ModelID = "anthropic/claude-opus-4.6:thinking:low" Model__NanoGPT__Claude__Opus__4__6__Thinking__Max ModelID = "anthropic/claude-opus-4.6:thinking:max" Model__NanoGPT__Claude__Opus__4__6__Thinking__Medium ModelID = "anthropic/claude-opus-4.6:thinking:medium" Model__NanoGPT__Claude__Opus__4__7__Thinking ModelID = "anthropic/claude-opus-4.7:thinking" Model__NanoGPT__Claude__Opus__4__8__Thinking ModelID = "anthropic/claude-opus-4.8:thinking" Model__NanoGPT__Claude__Opus__4__Thinking ModelID = "claude-opus-4-thinking" Model__NanoGPT__Claude__Opus__4__Thinking__1024__4__Thinking ModelID = "claude-opus-4-thinking:1024" Model__NanoGPT__Claude__Opus__4__Thinking__32000__4__Thinking ModelID = "claude-opus-4-thinking:32000" Model__NanoGPT__Claude__Opus__4__Thinking__32768__4__Thinking ModelID = "claude-opus-4-thinking:32768" Model__NanoGPT__Claude__Opus__4__Thinking__8192__4__Thinking ModelID = "claude-opus-4-thinking:8192" Model__NanoGPT__Claude__Opus__Latest ModelID = "anthropic/claude-opus-latest" Model__NanoGPT__Claude__Sonnet__4_5__20250929 ModelID = "claude-sonnet-4-5-20250929" Model__NanoGPT__Claude__Sonnet__4_5__Thinking__20250929 ModelID = "claude-sonnet-4-5-20250929-thinking" Model__NanoGPT__Claude__Sonnet__4_6 ModelID = "anthropic/claude-sonnet-4.6" Model__NanoGPT__Claude__Sonnet__4__20250514 ModelID = "claude-sonnet-4-20250514" Model__NanoGPT__Claude__Sonnet__4__6__Thinking ModelID = "anthropic/claude-sonnet-4.6:thinking" Model__NanoGPT__Claude__Sonnet__4__Thinking ModelID = "claude-sonnet-4-thinking" Model__NanoGPT__Claude__Sonnet__4__Thinking__1024__4__Thinking ModelID = "claude-sonnet-4-thinking:1024" Model__NanoGPT__Claude__Sonnet__4__Thinking__32768__4__Thinking ModelID = "claude-sonnet-4-thinking:32768" Model__NanoGPT__Claude__Sonnet__4__Thinking__64000__4__Thinking ModelID = "claude-sonnet-4-thinking:64000" Model__NanoGPT__Claude__Sonnet__4__Thinking__8192__4__Thinking ModelID = "claude-sonnet-4-thinking:8192" Model__NanoGPT__Claude__Sonnet__Latest ModelID = "anthropic/claude-sonnet-latest" Model__NanoGPT__Claw__High ModelID = "claw-high" Model__NanoGPT__Claw__Low ModelID = "claw-low" Model__NanoGPT__Claw__Medium ModelID = "claw-medium" Model__NanoGPT__Codestral__2508 ModelID = "mistralai/codestral-2508" Model__NanoGPT__Coding__Router ModelID = "nanogpt/coding-router" Model__NanoGPT__Coding__Router__High ModelID = "nanogpt/coding-router:high" Model__NanoGPT__Coding__Router__Low ModelID = "nanogpt/coding-router:low" Model__NanoGPT__Coding__Router__Max ModelID = "nanogpt/coding-router:max" Model__NanoGPT__Coding__Router__Medium ModelID = "nanogpt/coding-router:medium" Model__NanoGPT__Cogito__V1__Preview__Qwen__32B ModelID = "deepcogito/cogito-v1-preview-qwen-32B" Model__NanoGPT__Command__A__Plus__05__20260522 ModelID = "command-a-plus-05-2026" Model__NanoGPT__Command__A__Reasoning__Reasoning__20250822 ModelID = "command-a-reasoning-08-2025" Model__NanoGPT__Command__R ModelID = "cohere/command-r" Model__NanoGPT__Command__R__Plus__20240830 ModelID = "cohere/command-r-plus-08-2024" Model__NanoGPT__Cydonia__24B__V2 ModelID = "TheDrummer/Cydonia-24B-v2" Model__NanoGPT__Cydonia__24B__V4 ModelID = "TheDrummer/Cydonia-24B-v4" Model__NanoGPT__Cydonia__24B__V4__1 ModelID = "TheDrummer/Cydonia-24B-v4.1" Model__NanoGPT__Cydonia__24B__V4__3 ModelID = "TheDrummer/Cydonia-24B-v4.3" Model__NanoGPT__DeepSeek__Chat ModelID = "deepseek-chat" Model__NanoGPT__DeepSeek__Chat__Cheaper ModelID = "deepseek-chat-cheaper" Model__NanoGPT__DeepSeek__Latest ModelID = "deepseek/deepseek-latest" Model__NanoGPT__DeepSeek__Math__V2 ModelID = "deepseek-math-v2" Model__NanoGPT__DeepSeek__Prover__V2__671b ModelID = "deepseek/deepseek-prover-v2-671b" Model__NanoGPT__DeepSeek__R1 ModelID = "deepseek-r1" Model__NanoGPT__DeepSeek__R1__0528 ModelID = "deepseek-ai/DeepSeek-R1-0528" Model__NanoGPT__DeepSeek__R1__Distill__Llama__70B__Abliterated ModelID = "huihui-ai/DeepSeek-R1-Distill-Llama-70B-abliterated" Model__NanoGPT__DeepSeek__R1__Distill__Qwen__32B__Abliterated ModelID = "huihui-ai/DeepSeek-R1-Distill-Qwen-32B-abliterated" Model__NanoGPT__DeepSeek__R1__Sambanova ModelID = "deepseek-r1-sambanova" Model__NanoGPT__DeepSeek__Reasoner ModelID = "deepseek-reasoner" Model__NanoGPT__DeepSeek__Reasoner__Cheaper ModelID = "deepseek-reasoner-cheaper" Model__NanoGPT__DeepSeek__V3__0324 ModelID = "deepseek-v3-0324" Model__NanoGPT__DeepSeek__V3__1__DeepSeekAI ModelID = "deepseek-ai/DeepSeek-V3.1" Model__NanoGPT__DeepSeek__V3__1__Nex__N1 ModelID = "nex-agi/deepseek-v3.1-nex-n1" Model__NanoGPT__DeepSeek__V3__1__Tee ModelID = "TEE/deepseek-v3.1" Model__NanoGPT__DeepSeek__V3__1__Terminus ModelID = "deepseek-ai/DeepSeek-V3.1-Terminus" Model__NanoGPT__DeepSeek__V3__1__Terminus__Thinking__Thinking ModelID = "deepseek-ai/DeepSeek-V3.1-Terminus:thinking" Model__NanoGPT__DeepSeek__V3__1__Thinking__Thinking ModelID = "deepseek-ai/DeepSeek-V3.1:thinking" Model__NanoGPT__DeepSeek__V3__2__DeepSeek ModelID = "deepseek/deepseek-v3.2" Model__NanoGPT__DeepSeek__V3__2__Exp ModelID = "deepseek-ai/deepseek-v3.2-exp" Model__NanoGPT__DeepSeek__V3__2__Exp__Thinking ModelID = "deepseek-ai/deepseek-v3.2-exp-thinking" Model__NanoGPT__DeepSeek__V3__2__Speciale ModelID = "deepseek/deepseek-v3.2-speciale" Model__NanoGPT__DeepSeek__V3__2__Tee ModelID = "TEE/deepseek-v3.2" Model__NanoGPT__DeepSeek__V3__2__Thinking ModelID = "deepseek/deepseek-v3.2:thinking" Model__NanoGPT__DeepSeek__V4__Flash ModelID = "deepseek/deepseek-v4-flash" Model__NanoGPT__DeepSeek__V4__Flash__Thinking ModelID = "deepseek/deepseek-v4-flash:thinking" Model__NanoGPT__DeepSeek__V4__Pro__Cheaper ModelID = "deepseek/deepseek-v4-pro-cheaper" Model__NanoGPT__DeepSeek__V4__Pro__Cheaper__Thinking ModelID = "deepseek/deepseek-v4-pro-cheaper:thinking" Model__NanoGPT__DeepSeek__V4__Pro__DeepSeek ModelID = "deepseek/deepseek-v4-pro" Model__NanoGPT__DeepSeek__V4__Pro__Tee ModelID = "TEE/deepseek-v4-pro" Model__NanoGPT__DeepSeek__V4__Pro__Thinking__DeepSeek ModelID = "deepseek/deepseek-v4-pro:thinking" Model__NanoGPT__DeepSeek__V4__Pro__Thinking__Tee ModelID = "TEE/deepseek-v4-pro:thinking" Model__NanoGPT__Deepclaude ModelID = "deepclaude" Model__NanoGPT__Deephermes__3__Mistral__24B__3__Preview ModelID = "NousResearch/DeepHermes-3-Mistral-24B-Preview" Model__NanoGPT__Devstral__2__123b__Instruct__2512__2__Instruct ModelID = "mistralai/devstral-2-123b-instruct-2512" Model__NanoGPT__Devstral__Small__2505 ModelID = "mistralai/Devstral-Small-2505" Model__NanoGPT__Dmind__1 ModelID = "dmind/dmind-1" Model__NanoGPT__Dmind__1__Mini ModelID = "dmind/dmind-1-mini" Model__NanoGPT__Dolphin__2__9__2__Qwen2__72b ModelID = "cognitivecomputations/dolphin-2.9.2-qwen2-72b" Model__NanoGPT__Doubao__1__5__Pro__256k__1_5 ModelID = "doubao-1.5-pro-256k" Model__NanoGPT__Doubao__1__5__Pro__32k__1_5 ModelID = "doubao-1.5-pro-32k" Model__NanoGPT__Doubao__1__5__Thinking__Pro__250415__1_5 ModelID = "doubao-1-5-thinking-pro-250415" Model__NanoGPT__Doubao__1__5__Thinking__Pro__Vision__250415__1_5__Vision ModelID = "doubao-1-5-thinking-pro-vision-250415" Model__NanoGPT__Doubao__1__5__Thinking__Vision__Pro__250428__1_5 ModelID = "doubao-1-5-thinking-vision-pro-250428" Model__NanoGPT__Doubao__1__5__Vision__Pro__32k__1_5 ModelID = "doubao-1.5-vision-pro-32k" Model__NanoGPT__Doubao__Seed__1__6__250615__1_6 ModelID = "doubao-seed-1-6-250615" Model__NanoGPT__Doubao__Seed__1__6__Flash__250615__1_6 ModelID = "doubao-seed-1-6-flash-250615" Model__NanoGPT__Doubao__Seed__1__6__Thinking__250615__1_6__Thinking ModelID = "doubao-seed-1-6-thinking-250615" Model__NanoGPT__Doubao__Seed__1__8__251215__1_8 ModelID = "doubao-seed-1-8-251215" Model__NanoGPT__Doubao__Seed__2__0__Code__Preview__260215__2_0__PreviewCode ModelID = "doubao-seed-2-0-code-preview-260215" Model__NanoGPT__Doubao__Seed__2__0__Lite__260215__2_0 ModelID = "doubao-seed-2-0-lite-260215" Model__NanoGPT__Doubao__Seed__2__0__Mini__260215__2_0 ModelID = "doubao-seed-2-0-mini-260215" Model__NanoGPT__Doubao__Seed__2__0__Pro__260215__2_0 ModelID = "doubao-seed-2-0-pro-260215" Model__NanoGPT__Dracarys__72B__Instruct ModelID = "abacusai/Dracarys-72B-Instruct" Model__NanoGPT__Ernie__4__5__8k__4_5__Preview ModelID = "ernie-4.5-8k-preview" Model__NanoGPT__Ernie__4__5__Turbo__128k__4_5__Turbo ModelID = "ernie-4.5-turbo-128k" Model__NanoGPT__Ernie__4__5__Turbo__Vl__32k__4_5 ModelID = "ernie-4.5-turbo-vl-32k" Model__NanoGPT__Ernie__4__5__Vl__28b__A3b__4_5 ModelID = "baidu/ernie-4.5-vl-28b-a3b" Model__NanoGPT__Ernie__5_0__ThinkingPreview ModelID = "ernie-5.0-thinking-preview" Model__NanoGPT__Ernie__5_1 ModelID = "ernie-5.1" Model__NanoGPT__Ernie__5__1__Thinking ModelID = "ernie-5.1:thinking" Model__NanoGPT__Ernie__X1__1__Preview ModelID = "ernie-x1.1-preview" Model__NanoGPT__Ernie__X1__32k ModelID = "ernie-x1-32k" Model__NanoGPT__Ernie__X1__32k__Preview ModelID = "ernie-x1-32k-preview" Model__NanoGPT__Ernie__X1__Turbo__32k__Turbo ModelID = "ernie-x1-turbo-32k" Model__NanoGPT__Eva__Llama__3__33__70B__V0__0 ModelID = "EVA-UNIT-01/EVA-LLaMA-3.33-70B-v0.0" Model__NanoGPT__Eva__Llama__3__33__70B__V0__1 ModelID = "EVA-UNIT-01/EVA-LLaMA-3.33-70B-v0.1" Model__NanoGPT__Eva__Qwen2__5__32B__V0__2 ModelID = "EVA-UNIT-01/EVA-Qwen2.5-32B-v0.2" Model__NanoGPT__Eva__Qwen2__5__72B__V0__2 ModelID = "EVA-UNIT-01/EVA-Qwen2.5-72B-v0.2" Model__NanoGPT__Exa__Answer ModelID = "exa-answer" Model__NanoGPT__Exa__Research ModelID = "exa-research" Model__NanoGPT__Exa__Research__Pro ModelID = "exa-research-pro" Model__NanoGPT__Fastgpt ModelID = "fastgpt" Model__NanoGPT__GLM__4 ModelID = "glm-4" Model__NanoGPT__GLM__4_5 ModelID = "zai-org/glm-4.5" Model__NanoGPT__GLM__4_6 ModelID = "z-ai/glm-4.6" Model__NanoGPT__GLM__4_6__Original ModelID = "zai-org/glm-4.6-original" Model__NanoGPT__GLM__4_6__Turbo ModelID = "zai-org/GLM-4.6-turbo" Model__NanoGPT__GLM__4_7__Original ModelID = "zai-org/glm-4.7-original" Model__NanoGPT__GLM__4_7__Tee ModelID = "TEE/glm-4.7" Model__NanoGPT__GLM__4_7__ZaiOrg ModelID = "zai-org/glm-4.7" Model__NanoGPT__GLM__4__1v__Thinking__Flash ModelID = "glm-4.1v-thinking-flash" Model__NanoGPT__GLM__4__1v__Thinking__Flashx__4_1 ModelID = "glm-4.1v-thinking-flashx" Model__NanoGPT__GLM__4__32B__0414__4 ModelID = "THUDM/GLM-4-32B-0414" Model__NanoGPT__GLM__4__5__Air__4_5 ModelID = "zai-org/GLM-4.5-Air" Model__NanoGPT__GLM__4__5__Air__Thinking__4_5 ModelID = "zai-org/GLM-4.5-Air:thinking" Model__NanoGPT__GLM__4__5__Thinking ModelID = "zai-org/GLM-4.5:thinking" Model__NanoGPT__GLM__4__5v__4_5 ModelID = "z-ai/glm-4.5v" Model__NanoGPT__GLM__4__5v__Thinking ModelID = "z-ai/glm-4.5v:thinking" Model__NanoGPT__GLM__4__6__Derestricted__V5__4_6 ModelID = "GLM-4.6-Derestricted-v5" Model__NanoGPT__GLM__4__6__Thinking ModelID = "z-ai/glm-4.6:thinking" Model__NanoGPT__GLM__4__6__Turbo__Thinking__4_6__Turbo ModelID = "zai-org/GLM-4.6-turbo:thinking" Model__NanoGPT__GLM__4__6v__4_6 ModelID = "zai-org/glm-4.6v" Model__NanoGPT__GLM__4__6v__4_6__Original ModelID = "zai-org/glm-4.6v-original" Model__NanoGPT__GLM__4__6v__4_6__OriginalFlash ModelID = "zai-org/glm-4.6v-flash-original" Model__NanoGPT__GLM__4__7__Flash__4_7__Original ModelID = "zai-org/glm-4.7-flash-original" Model__NanoGPT__GLM__4__7__Flash__4_7__Tee ModelID = "TEE/glm-4.7-flash" Model__NanoGPT__GLM__4__7__Flash__4_7__ZaiOrg ModelID = "zai-org/glm-4.7-flash" Model__NanoGPT__GLM__4__7__Flash__Original__Thinking__4_7__Original ModelID = "zai-org/glm-4.7-flash-original:thinking" Model__NanoGPT__GLM__4__7__Flash__Thinking__4_7 ModelID = "zai-org/glm-4.7-flash:thinking" Model__NanoGPT__GLM__4__7__Original__Thinking__4_7__Original ModelID = "zai-org/glm-4.7-original:thinking" Model__NanoGPT__GLM__4__7__Thinking ModelID = "zai-org/glm-4.7:thinking" Model__NanoGPT__GLM__4__9B__0414__4 ModelID = "THUDM/GLM-4-9B-0414" Model__NanoGPT__GLM__4__Air__0111__4 ModelID = "glm-4-air-0111" Model__NanoGPT__GLM__4__Air__4 ModelID = "glm-4-air" Model__NanoGPT__GLM__4__Airx__4 ModelID = "glm-4-airx" Model__NanoGPT__GLM__4__Flash__4 ModelID = "glm-4-flash" Model__NanoGPT__GLM__4__Long__4 ModelID = "glm-4-long" Model__NanoGPT__GLM__4__Plus__0111__4 ModelID = "glm-4-plus-0111" Model__NanoGPT__GLM__4__Plus__4 ModelID = "glm-4-plus" Model__NanoGPT__GLM__5_1__Tee ModelID = "TEE/glm-5.1" Model__NanoGPT__GLM__5_1__Thinking ModelID = "TEE/glm-5.1-thinking" Model__NanoGPT__GLM__5_1__ZaiOrg ModelID = "zai-org/glm-5.1" Model__NanoGPT__GLM__5__1__Thinking ModelID = "zai-org/glm-5.1:thinking" Model__NanoGPT__GLM__5__Original ModelID = "zai-org/glm-5-original" Model__NanoGPT__GLM__5__Original__Thinking__5__Original ModelID = "zai-org/glm-5-original:thinking" Model__NanoGPT__GLM__5__Tee ModelID = "TEE/glm-5" Model__NanoGPT__GLM__5__Thinking ModelID = "zai-org/glm-5:thinking" Model__NanoGPT__GLM__5__Turbo ModelID = "z-ai/glm-5-turbo" Model__NanoGPT__GLM__5__ZaiOrg ModelID = "zai-org/glm-5" Model__NanoGPT__GLM__5v__5__Turbo ModelID = "z-ai/glm-5v-turbo" Model__NanoGPT__GLM__5v__Turbo__Thinking__5__Turbo ModelID = "z-ai/glm-5v-turbo:thinking" Model__NanoGPT__GLM__Latest ModelID = "zai-org/glm-latest" Model__NanoGPT__GLM__Z1__32B__0414 ModelID = "THUDM/GLM-Z1-32B-0414" Model__NanoGPT__GLM__Z1__9B__0414 ModelID = "THUDM/GLM-Z1-9B-0414" Model__NanoGPT__GLM__Z1__Air ModelID = "glm-z1-air" Model__NanoGPT__GLM__Z1__Airx ModelID = "glm-z1-airx" Model__NanoGPT__GLM__Zero__Preview ModelID = "glm-zero-preview" Model__NanoGPT__GPT__3_5__Turbo ModelID = "openai/gpt-3.5-turbo" Model__NanoGPT__GPT__4_1 ModelID = "openai/gpt-4.1" Model__NanoGPT__GPT__4__1__Mini__4_1 ModelID = "openai/gpt-4.1-mini" Model__NanoGPT__GPT__4__1__Nano__4_1 ModelID = "openai/gpt-4.1-nano" Model__NanoGPT__GPT__4__Turbo ModelID = "openai/gpt-4-turbo" Model__NanoGPT__GPT__4__TurboPreview ModelID = "openai/gpt-4-turbo-preview" Model__NanoGPT__GPT__4o ModelID = "openai/gpt-4o" Model__NanoGPT__GPT__4o__20240806 ModelID = "openai/gpt-4o-2024-08-06" Model__NanoGPT__GPT__4o__20241120 ModelID = "openai/gpt-4o-2024-11-20" Model__NanoGPT__GPT__4o__Mini ModelID = "openai/gpt-4o-mini" Model__NanoGPT__GPT__4o__Mini__Search__PreviewMini ModelID = "openai/gpt-4o-mini-search-preview" Model__NanoGPT__GPT__4o__Search__Preview ModelID = "openai/gpt-4o-search-preview" Model__NanoGPT__GPT__5 ModelID = "openai/gpt-5" Model__NanoGPT__GPT__5_1 ModelID = "openai/gpt-5.1" Model__NanoGPT__GPT__5_1__20251113 ModelID = "openai/gpt-5.1-2025-11-13" Model__NanoGPT__GPT__5_2 ModelID = "openai/gpt-5.2" Model__NanoGPT__GPT__5_4 ModelID = "openai/gpt-5.4" Model__NanoGPT__GPT__5_5 ModelID = "openai/gpt-5.5" Model__NanoGPT__GPT__5__1__Codex__5_1 ModelID = "openai/gpt-5.1-codex" Model__NanoGPT__GPT__5__1__Codex__Max__5_1 ModelID = "openai/gpt-5.1-codex-max" Model__NanoGPT__GPT__5__1__Codex__Mini__5_1 ModelID = "openai/gpt-5.1-codex-mini" Model__NanoGPT__GPT__5__2__Codex__5_2 ModelID = "openai/gpt-5.2-codex" Model__NanoGPT__GPT__5__2__Pro__5_2 ModelID = "openai/gpt-5.2-pro" Model__NanoGPT__GPT__5__3__Codex__5_3 ModelID = "openai/gpt-5.3-codex" Model__NanoGPT__GPT__5__4__Mini__5_4 ModelID = "openai/gpt-5.4-mini" Model__NanoGPT__GPT__5__4__Nano__5_4 ModelID = "openai/gpt-5.4-nano" Model__NanoGPT__GPT__5__4__Pro__5_4 ModelID = "openai/gpt-5.4-pro" Model__NanoGPT__GPT__5__Codex__5 ModelID = "openai/gpt-5-codex" Model__NanoGPT__GPT__5__Mini__5 ModelID = "openai/gpt-5-mini" Model__NanoGPT__GPT__5__Nano__5 ModelID = "openai/gpt-5-nano" Model__NanoGPT__GPT__5__Pro__5 ModelID = "openai/gpt-5-pro" Model__NanoGPT__GPT__ChatLatest ModelID = "openai/gpt-chat-latest" Model__NanoGPT__GPT__Latest ModelID = "openai/gpt-latest" Model__NanoGPT__GPT__Oss__120b__OpenAI ModelID = "openai/gpt-oss-120b" Model__NanoGPT__GPT__Oss__120b__Tee ModelID = "TEE/gpt-oss-120b" Model__NanoGPT__GPT__Oss__20b__OpenAI ModelID = "openai/gpt-oss-20b" Model__NanoGPT__GPT__Oss__20b__Tee ModelID = "TEE/gpt-oss-20b" Model__NanoGPT__GPT__Oss__Safeguard__20b ModelID = "openai/gpt-oss-safeguard-20b" Model__NanoGPT__Gemini__2__0__Flash__001__2_0 ModelID = "gemini-2.0-flash-001" Model__NanoGPT__Gemini__2__0__Flash__Exp__Image__Generation__2_0 ModelID = "gemini-2.0-flash-exp-image-generation" Model__NanoGPT__Gemini__2__0__Flash__Thinking__Exp__1219__2_0 ModelID = "gemini-2.0-flash-thinking-exp-1219" Model__NanoGPT__Gemini__2__0__Flash__Thinking__Exp__2_0__20250121 ModelID = "gemini-2.0-flash-thinking-exp-01-21" Model__NanoGPT__Gemini__2__0__Pro__Exp__2_0__20250205 ModelID = "gemini-2.0-pro-exp-02-05" Model__NanoGPT__Gemini__2__0__Pro__Reasoner__2_0 ModelID = "gemini-2.0-pro-reasoner" Model__NanoGPT__Gemini__2__5__Flash__2_5 ModelID = "gemini-2.5-flash" Model__NanoGPT__Gemini__2__5__Flash__Lite__2_5 ModelID = "gemini-2.5-flash-lite" Model__NanoGPT__Gemini__2__5__Flash__Lite__Preview__2_5__20250617 ModelID = "gemini-2.5-flash-lite-preview-06-17" Model__NanoGPT__Gemini__2__5__Flash__Lite__Preview__2_5__Preview__20250925 ModelID = "gemini-2.5-flash-lite-preview-09-2025" Model__NanoGPT__Gemini__2__5__Flash__Lite__Preview__2_5__ThinkingPreview__20250925 ModelID = "gemini-2.5-flash-lite-preview-09-2025-thinking" Model__NanoGPT__Gemini__2__5__Flash__Nothinking__2_5 ModelID = "gemini-2.5-flash-nothinking" Model__NanoGPT__Gemini__2__5__Flash__Preview__04__17__Thinking__2_5 ModelID = "gemini-2.5-flash-preview-04-17:thinking" Model__NanoGPT__Gemini__2__5__Flash__Preview__05__20__Thinking__2_5 ModelID = "gemini-2.5-flash-preview-05-20:thinking" Model__NanoGPT__Gemini__2__5__Flash__Preview__2_5__20250417 ModelID = "gemini-2.5-flash-preview-04-17" Model__NanoGPT__Gemini__2__5__Flash__Preview__2_5__20250520 ModelID = "gemini-2.5-flash-preview-05-20" Model__NanoGPT__Gemini__2__5__Flash__Preview__2_5__Preview__20250925 ModelID = "gemini-2.5-flash-preview-09-2025" Model__NanoGPT__Gemini__2__5__Flash__Preview__2_5__ThinkingPreview__20250925 ModelID = "gemini-2.5-flash-preview-09-2025-thinking" Model__NanoGPT__Gemini__2__5__Pro__2_5 ModelID = "gemini-2.5-pro" Model__NanoGPT__Gemini__2__5__Pro__Exp__2_5__20250325 ModelID = "gemini-2.5-pro-exp-03-25" Model__NanoGPT__Gemini__2__5__Pro__Preview__2_5__20250325 ModelID = "gemini-2.5-pro-preview-03-25" Model__NanoGPT__Gemini__2__5__Pro__Preview__2_5__20250506 ModelID = "gemini-2.5-pro-preview-05-06" Model__NanoGPT__Gemini__2__5__Pro__Preview__2_5__20250605 ModelID = "gemini-2.5-pro-preview-06-05" Model__NanoGPT__Gemini__3__1__Flash__Lite__3_1 ModelID = "google/gemini-3.1-flash-lite" Model__NanoGPT__Gemini__3__1__Pro__3_1__Preview ModelID = "google/gemini-3.1-pro-preview" Model__NanoGPT__Gemini__3__1__Pro__Preview__Customtools__3_1 ModelID = "google/gemini-3.1-pro-preview-customtools" Model__NanoGPT__Gemini__3__1__Pro__Preview__High__3_1 ModelID = "google/gemini-3.1-pro-preview-high" Model__NanoGPT__Gemini__3__1__Pro__Preview__Low__3_1 ModelID = "google/gemini-3.1-pro-preview-low" Model__NanoGPT__Gemini__3__5__Flash__3_5 ModelID = "google/gemini-3.5-flash" Model__NanoGPT__Gemini__3__5__Flash__3_5__Thinking ModelID = "google/gemini-3.5-flash-thinking" Model__NanoGPT__Gemini__3__Flash__3__Preview ModelID = "google/gemini-3-flash-preview" Model__NanoGPT__Gemini__3__Flash__3__ThinkingPreview ModelID = "google/gemini-3-flash-preview-thinking" Model__NanoGPT__Gemini__3__Pro__Image__3__Preview ModelID = "gemini-3-pro-image-preview" Model__NanoGPT__Gemini__Exp__1206 ModelID = "gemini-exp-1206" Model__NanoGPT__Gemini__Flash__1_5 ModelID = "google/gemini-flash-1.5" Model__NanoGPT__Gemini__Flash__Latest ModelID = "google/gemini-flash-latest" Model__NanoGPT__Gemini__Flash__Lite__Latest ModelID = "google/gemini-flash-lite-latest" Model__NanoGPT__Gemini__Pro__Latest ModelID = "google/gemini-pro-latest" Model__NanoGPT__Gemma4__31b ModelID = "TEE/gemma4-31b" Model__NanoGPT__Gemma4__31b__Thinking ModelID = "TEE/gemma4-31b:thinking" Model__NanoGPT__Gemma__3__12b__It ModelID = "unsloth/gemma-3-12b-it" Model__NanoGPT__Gemma__3__27b__It ModelID = "unsloth/gemma-3-27b-it" Model__NanoGPT__Gemma__3__27b__It__3 ModelID = "TEE/gemma-3-27b-it" Model__NanoGPT__Gemma__3__4b__It ModelID = "unsloth/gemma-3-4b-it" Model__NanoGPT__Gemma__4__26b__A4b__It__4 ModelID = "google/gemma-4-26b-a4b-it" Model__NanoGPT__Gemma__4__26b__A4b__It__Thinking__4 ModelID = "google/gemma-4-26b-a4b-it:thinking" Model__NanoGPT__Gemma__4__26b__A4b__Uncensored__4 ModelID = "TEE/gemma-4-26b-a4b-uncensored" Model__NanoGPT__Gemma__4__31B__Claude__4__6__Opus__Reasoning__Distilled__4 ModelID = "Gemma-4-31B-Claude-4.6-Opus-Reasoning-Distilled" Model__NanoGPT__Gemma__4__31B__Cognitive__Unshackled__4 ModelID = "Gemma-4-31B-Cognitive-Unshackled" Model__NanoGPT__Gemma__4__31B__Darkidol__4 ModelID = "Gemma-4-31B-DarkIdol" Model__NanoGPT__Gemma__4__31B__Fabled__4 ModelID = "gemma-4-31B-Fabled" Model__NanoGPT__Gemma__4__31B__Garnet__4 ModelID = "gemma-4-31B-Garnet" Model__NanoGPT__Gemma__4__31B__Garnetv2__4 ModelID = "Gemma-4-31B-GarnetV2" Model__NanoGPT__Gemma__4__31B__Gemopus__4 ModelID = "Gemma-4-31B-Gemopus" Model__NanoGPT__Gemma__4__31B__It__4 ModelID = "Gemma-4-31B-it" Model__NanoGPT__Gemma__4__31B__K1__V5__4 ModelID = "gemma-4-31B-K1-v5" Model__NanoGPT__Gemma__4__31B__Larkspur__V0__5__4 ModelID = "gemma-4-31B-Larkspur-v0.5" Model__NanoGPT__Gemma__4__31B__Meromero__4 ModelID = "gemma-4-31B-MeroMero" Model__NanoGPT__Gemma__4__31B__Musica__V1__4 ModelID = "Gemma-4-31B-Musica-v1" Model__NanoGPT__Gemma__4__31B__Queen__4 ModelID = "Gemma-4-31B-Queen" Model__NanoGPT__Gemma__4__31b__It__4__Google ModelID = "google/gemma-4-31b-it" Model__NanoGPT__Gemma__4__31b__It__4__Tee ModelID = "TEE/gemma-4-31b-it" Model__NanoGPT__Gemma__4__31b__It__Thinking__4 ModelID = "google/gemma-4-31b-it:thinking" Model__NanoGPT__Granite__4__1__8b__4_1 ModelID = "ibm-granite/granite-4.1-8b" Model__NanoGPT__Grayline__Qwen3__8B ModelID = "soob3123/GrayLine-Qwen3-8B" Model__NanoGPT__Grok__4_20 ModelID = "x-ai/grok-4.20" Model__NanoGPT__Grok__4_3 ModelID = "x-ai/grok-4.3" Model__NanoGPT__Grok__4__20__Multi__Agent__4_20 ModelID = "x-ai/grok-4.20-multi-agent" Model__NanoGPT__Grok__Build__0_1 ModelID = "x-ai/grok-build-0.1" Model__NanoGPT__Grok__Latest ModelID = "x-ai/grok-latest" Model__NanoGPT__Hermes__3__Llama__3__1__70b__3 ModelID = "NousResearch/hermes-3-llama-3.1-70b" Model__NanoGPT__Hermes__4__405b__4 ModelID = "NousResearch/hermes-4-405b" Model__NanoGPT__Hermes__4__405b__Thinking__4 ModelID = "NousResearch/hermes-4-405b:thinking" Model__NanoGPT__Hermes__4__70B__Thinking__4 ModelID = "NousResearch/Hermes-4-70B:thinking" Model__NanoGPT__Hermes__4__70b__4 ModelID = "NousResearch/hermes-4-70b" Model__NanoGPT__Hermes__High ModelID = "hermes-high" Model__NanoGPT__Hermes__Low ModelID = "hermes-low" Model__NanoGPT__Hermes__Medium ModelID = "hermes-medium" Model__NanoGPT__Holo3__35b__A3b ModelID = "holo3-35b-a3b" Model__NanoGPT__Holo3__35b__A3b__Thinking ModelID = "holo3-35b-a3b:thinking" Model__NanoGPT__Hunyuan__Mt__7B ModelID = "tencent/Hunyuan-MT-7B" Model__NanoGPT__Hunyuan__Turbos__20250226 ModelID = "hunyuan-turbos-20250226" Model__NanoGPT__Hy3__3__Preview ModelID = "tencent/hy3-preview" Model__NanoGPT__Inflection__3__Pi__3 ModelID = "inflection/inflection-3-pi" Model__NanoGPT__Inflection__3__Productivity__3 ModelID = "inflection/inflection-3-productivity" Model__NanoGPT__Jamba__Large ModelID = "jamba-large" Model__NanoGPT__Jamba__Large__1_6 ModelID = "jamba-large-1.6" Model__NanoGPT__Jamba__Large__1_7 ModelID = "jamba-large-1.7" Model__NanoGPT__Jamba__Mini ModelID = "jamba-mini" Model__NanoGPT__Jamba__Mini__1_6 ModelID = "jamba-mini-1.6" Model__NanoGPT__Jamba__Mini__1_7 ModelID = "jamba-mini-1.7" Model__NanoGPT__K2__2__ThinkingThink ModelID = "LLM360/K2-Think" Model__NanoGPT__Kat__Coder__Air__V1 ModelID = "KAT-Coder-Air-V1" Model__NanoGPT__Kat__Coder__Exp__72B__1010 ModelID = "KAT-Coder-Exp-72B-1010" Model__NanoGPT__Kat__Coder__Pro__V2 ModelID = "kwaipilot/kat-coder-pro-v2" Model__NanoGPT__Kimi__K2__2__FastInstruct ModelID = "kimi-k2-instruct-fast" Model__NanoGPT__Kimi__K2__2__Instruct ModelID = "moonshotai/kimi-k2-instruct" Model__NanoGPT__Kimi__K2__2__Thinking ModelID = "moonshotai/kimi-k2-thinking" Model__NanoGPT__Kimi__K2__2__ThinkingOriginal ModelID = "moonshotai/kimi-k2-thinking-original" Model__NanoGPT__Kimi__K2__2__ThinkingTurboOriginal ModelID = "moonshotai/kimi-k2-thinking-turbo-original" Model__NanoGPT__Kimi__K2__5__2_5__MoonshotAI ModelID = "moonshotai/kimi-k2.5" Model__NanoGPT__Kimi__K2__5__2_5__Tee ModelID = "TEE/kimi-k2.5" Model__NanoGPT__Kimi__K2__5__2_5__Thinking ModelID = "TEE/kimi-k2.5-thinking" Model__NanoGPT__Kimi__K2__5__Thinking__2_5__Thinking ModelID = "moonshotai/kimi-k2.5:thinking" Model__NanoGPT__Kimi__K2__6__2_6__MoonshotAI ModelID = "moonshotai/kimi-k2.6" Model__NanoGPT__Kimi__K2__6__2_6__Tee ModelID = "TEE/kimi-k2.6" Model__NanoGPT__Kimi__K2__6__Thinking__2_6__Thinking ModelID = "moonshotai/kimi-k2.6:thinking" Model__NanoGPT__Kimi__K2__Instruct__0711__2__Instruct ModelID = "moonshotai/kimi-k2-instruct-0711" Model__NanoGPT__Kimi__K2__Instruct__0905__2__Instruct ModelID = "moonshotai/Kimi-K2-Instruct-0905" Model__NanoGPT__Kimi__K2__Instruct__Fp4__Instruct ModelID = "baseten/Kimi-K2-Instruct-FP4" Model__NanoGPT__Kimi__Latest ModelID = "moonshotai/kimi-latest" Model__NanoGPT__Kimi__ThinkingPreview ModelID = "kimi-thinking-preview" Model__NanoGPT__L3__1__70B__Celeste__V0__1__Bf16 ModelID = "nothingiisreal/L3.1-70B-Celeste-V0.1-BF16" Model__NanoGPT__L3__1__70B__Euryale__V2__2 ModelID = "Sao10K/L3.1-70B-Euryale-v2.2" Model__NanoGPT__L3__1__70B__Hanami__X1 ModelID = "Sao10K/L3.1-70B-Hanami-x1" Model__NanoGPT__L3__3__70B__Euryale__V2__3 ModelID = "Sao10K/L3.3-70B-Euryale-v2.3" Model__NanoGPT__L3__3__Cu__Mai__R1__70b ModelID = "Steelskull/L3.3-Cu-Mai-R1-70b" Model__NanoGPT__L3__3__Electra__R1__70b ModelID = "Steelskull/L3.3-Electra-R1-70b" Model__NanoGPT__L3__3__Ms__Evalebis__70b ModelID = "Steelskull/L3.3-MS-Evalebis-70b" Model__NanoGPT__L3__3__Ms__Evayale__70B ModelID = "Steelskull/L3.3-MS-Evayale-70B" Model__NanoGPT__L3__3__Ms__Nevoria__70b ModelID = "Steelskull/L3.3-MS-Nevoria-70b" Model__NanoGPT__L3__3__Nevoria__R1__70b ModelID = "Steelskull/L3.3-Nevoria-R1-70b" Model__NanoGPT__L3__8B__Stheno__V3__2 ModelID = "Sao10K/L3-8B-Stheno-v3.2" Model__NanoGPT__Laguna__M__1 ModelID = "poolside/laguna-m.1" Model__NanoGPT__Laguna__Xs__2 ModelID = "poolside/laguna-xs.2" Model__NanoGPT__Learnlm__1__5__Pro__Experimental__1_5 ModelID = "learnlm-1.5-pro-experimental" Model__NanoGPT__Lfm__2__24b__A2b__2 ModelID = "liquid/lfm-2-24b-a2b" Model__NanoGPT__Ling__2__6__1t__2_6 ModelID = "inclusionai/ling-2.6-1t" Model__NanoGPT__Ling__2__6__Flash__2_6 ModelID = "inclusionai/ling-2.6-flash" Model__NanoGPT__Llama3__3__70b ModelID = "TEE/llama3-3-70b" Model__NanoGPT__Llama__3__05__Nemotron__Tenyxchat__Storybreaker__70B ModelID = "Envoid/Llama-3.05-Nemotron-Tenyxchat-Storybreaker-70B" Model__NanoGPT__Llama__3__05__Nt__Storybreaker__Ministral__70B__3_05 ModelID = "Envoid/Llama-3.05-NT-Storybreaker-Ministral-70B" Model__NanoGPT__Llama__3__1__8b__3_1__Instruct ModelID = "meta-llama/llama-3.1-8b-instruct" Model__NanoGPT__Llama__3__1__Nemotron__70B__Instruct__Hf__Instruct ModelID = "nvidia/Llama-3.1-Nemotron-70B-Instruct-HF" Model__NanoGPT__Llama__3__2__3b__3_2__Instruct ModelID = "meta-llama/llama-3.2-3b-instruct" Model__NanoGPT__Llama__3__3__70B__Instruct__Abliterated__3_3__Instruct ModelID = "huihui-ai/Llama-3.3-70B-Instruct-abliterated" Model__NanoGPT__Llama__3__3__70b__3_3__Instruct ModelID = "meta-llama/llama-3.3-70b-instruct" Model__NanoGPT__Llama__3__3__Nemotron__Super__49B__V1 ModelID = "nvidia/Llama-3.3-Nemotron-Super-49B-v1" Model__NanoGPT__Llama__3__3__Nemotron__Super__49B__V1__5 ModelID = "nvidia/Llama-3_3-Nemotron-Super-49B-v1_5" Model__NanoGPT__Llama__4__Maverick__4 ModelID = "meta-llama/llama-4-maverick" Model__NanoGPT__Llama__4__Scout__4 ModelID = "meta-llama/llama-4-scout" Model__NanoGPT__Llama__Xlam__2__70b__Fc__R__2 ModelID = "Salesforce/Llama-xLAM-2-70b-fc-r" Model__NanoGPT__Lumimaid__V0__2__70B ModelID = "NeverSleep/Lumimaid-v0.2-70B" Model__NanoGPT__M__Prometheus__14B ModelID = "Unbabel/M-Prometheus-14B" Model__NanoGPT__Magidonia__24B__V4__3 ModelID = "TheDrummer/Magidonia-24B-v4.3" Model__NanoGPT__Magistral__Small__2506 ModelID = "Magistral-Small-2506" Model__NanoGPT__Magnum__V2__72b ModelID = "anthracite-org/magnum-v2-72b" Model__NanoGPT__Magnum__V4__72b ModelID = "anthracite-org/magnum-v4-72b" Model__NanoGPT__Manta__Flash__1__0 ModelID = "meganova-ai/manta-flash-1.0" Model__NanoGPT__Manta__Mini__1__0 ModelID = "meganova-ai/manta-mini-1.0" Model__NanoGPT__Manta__Pro__1__0 ModelID = "meganova-ai/manta-pro-1.0" Model__NanoGPT__Mercury__2 ModelID = "mercury-2" Model__NanoGPT__Meta__Llama__3__1__8B__Instruct__Fp8__3_1__Instruct ModelID = "Meta-Llama-3-1-8B-Instruct-FP8" Model__NanoGPT__Meta__Llama__3__70B__Instruct__Abliterated__V3__5__3__Instruct ModelID = "failspy/Meta-Llama-3-70B-Instruct-abliterated-v3.5" Model__NanoGPT__Mimo__V2__2__Omni ModelID = "xiaomi/mimo-v2-omni" Model__NanoGPT__Mimo__V2__2__Pro ModelID = "xiaomi/mimo-v2-pro" Model__NanoGPT__Mimo__V2__5__2_5 ModelID = "xiaomi/mimo-v2.5" Model__NanoGPT__Mimo__V2__5__2_5__Pro ModelID = "xiaomi/mimo-v2.5-pro" Model__NanoGPT__Mimo__V2__Flash ModelID = "xiaomi/mimo-v2-flash" Model__NanoGPT__Mimo__V2__Flash__Original ModelID = "xiaomi/mimo-v2-flash-original" Model__NanoGPT__Mimo__V2__Flash__Thinking ModelID = "xiaomi/mimo-v2-flash-thinking" Model__NanoGPT__Mimo__V2__Flash__ThinkingOriginal ModelID = "xiaomi/mimo-v2-flash-thinking-original" Model__NanoGPT__MiniMax__01 ModelID = "minimax/minimax-01" Model__NanoGPT__MiniMax__Latest ModelID = "minimax/minimax-latest" Model__NanoGPT__MiniMax__M1__1 ModelID = "MiniMax-M1" Model__NanoGPT__MiniMax__M1__80k__1 ModelID = "MiniMaxAI/MiniMax-M1-80k" Model__NanoGPT__MiniMax__M2__1__2_1 ModelID = "minimax/minimax-m2.1" Model__NanoGPT__MiniMax__M2__2 ModelID = "MiniMax-M2" Model__NanoGPT__MiniMax__M2__5__2_5__MiniMax ModelID = "minimax/minimax-m2.5" Model__NanoGPT__MiniMax__M2__5__2_5__Tee ModelID = "TEE/minimax-m2.5" Model__NanoGPT__MiniMax__M2__7__2_7 ModelID = "minimax/minimax-m2.7" Model__NanoGPT__MiniMax__M2__7__2_7__Turbo ModelID = "minimax/minimax-m2.7-turbo" Model__NanoGPT__MiniMax__M2__Her ModelID = "minimax/minimax-m2-her" Model__NanoGPT__MiniMax__M3__3 ModelID = "minimax/minimax-m3" Model__NanoGPT__MiniMax__M3__Thinking__3 ModelID = "minimax/minimax-m3:thinking" Model__NanoGPT__Ministral__14b__2512 ModelID = "mistralai/ministral-14b-2512" Model__NanoGPT__Ministral__14b__Instruct__2512__Instruct ModelID = "mistralai/ministral-14b-instruct-2512" Model__NanoGPT__Ministral__3b__2512 ModelID = "mistralai/ministral-3b-2512" Model__NanoGPT__Ministral__8b__2512 ModelID = "mistralai/ministral-8b-2512" Model__NanoGPT__Mirothinker__1__7__Deepresearch__1_7 ModelID = "mirothinker-1-7-deepresearch" Model__NanoGPT__Mirothinker__1__7__Deepresearch__Mini__1_7 ModelID = "mirothinker-1-7-deepresearch-mini" Model__NanoGPT__Mistral__Code__Agent__Latest ModelID = "mistral-code-agent-latest" Model__NanoGPT__Mistral__Large ModelID = "mistralai/mistral-large" Model__NanoGPT__Mistral__Large__3__675b__Instruct__2512__3__Instruct ModelID = "mistralai/mistral-large-3-675b-instruct-2512" Model__NanoGPT__Mistral__LatestCode ModelID = "mistral-code-latest" Model__NanoGPT__Mistral__Medium__3 ModelID = "mistralai/mistral-medium-3" Model__NanoGPT__Mistral__Medium__3_1 ModelID = "mistralai/mistral-medium-3.1" Model__NanoGPT__Mistral__Medium__3_5 ModelID = "mistral/mistral-medium-3.5" Model__NanoGPT__Mistral__Medium__3__5__Thinking ModelID = "mistral/mistral-medium-3.5:thinking" Model__NanoGPT__Mistral__Nemo__Instruct__2407__Instruct ModelID = "mistralai/Mistral-Nemo-Instruct-2407" Model__NanoGPT__Mistral__Saba ModelID = "mistralai/mistral-saba" Model__NanoGPT__Mistral__Small__31__24b__31__Instruct ModelID = "mistral-small-31-24b-instruct" Model__NanoGPT__Mistral__Small__3__2__24B__Instruct__2506__Instruct ModelID = "chutesai/Mistral-Small-3.2-24B-Instruct-2506" Model__NanoGPT__Mistral__Small__4__119b__2603__4 ModelID = "mistralai/mistral-small-4-119b-2603" Model__NanoGPT__Mistral__Small__4__119b__2603__Thinking__4 ModelID = "mistralai/mistral-small-4-119b-2603:thinking" Model__NanoGPT__Mixtral__8x22b__Instruct__V0__1__0_1__Instruct ModelID = "mistralai/mixtral-8x22b-instruct-v0.1" Model__NanoGPT__Mixtral__8x7b__Instruct__V0__1__0_1__Instruct ModelID = "mistralai/mixtral-8x7b-instruct-v0.1" Model__NanoGPT__Mn__12B__Inferor__V0__0 ModelID = "Infermatic/MN-12B-Inferor-v0.0" Model__NanoGPT__Mn__12B__Mag__Mell__R1 ModelID = "inflatebot/MN-12B-Mag-Mell-R1" Model__NanoGPT__Mn__Loosecannon__12B__V1 ModelID = "GalrionSoftworks/MN-LooseCannon-12B-v1" Model__NanoGPT__Ms3__2__24B__Magnum__Diamond ModelID = "Doctor-Shotgun/MS3.2-24B-Magnum-Diamond" Model__NanoGPT__Ms3__2__The__Omega__Directive__24B__Unslop__V2__0 ModelID = "ReadyArt/MS3.2-The-Omega-Directive-24B-Unslop-v2.0" Model__NanoGPT__Mythomax__L2__13b ModelID = "Gryphe/MythoMax-L2-13b" Model__NanoGPT__Nemomix__Unleashed__12B ModelID = "MarinaraSpaghetti/NemoMix-Unleashed-12B" Model__NanoGPT__Nemotron__3__Nano__30b__A3b__3 ModelID = "nvidia/nemotron-3-nano-30b-a3b" Model__NanoGPT__Nemotron__3__Nano__Omni__30b__A3b__3__ReasoningOmni ModelID = "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning" Model__NanoGPT__Nemotron__3__Super__120b__A12b__3 ModelID = "nvidia/nemotron-3-super-120b-a12b" Model__NanoGPT__Nemotron__3__Super__120b__A12b__Thinking__3 ModelID = "nvidia/nemotron-3-super-120b-a12b:thinking" Model__NanoGPT__Neuraldaredevil__8B__Abliterated ModelID = "mlabonne/NeuralDaredevil-8B-abliterated" Model__NanoGPT__Nova__2__Lite__V1__2 ModelID = "amazon/nova-2-lite-v1" Model__NanoGPT__Nova__Lite__V1 ModelID = "amazon/nova-lite-v1" Model__NanoGPT__Nova__Micro__V1 ModelID = "amazon/nova-micro-v1" Model__NanoGPT__Nova__Pro__V1 ModelID = "amazon/nova-pro-v1" Model__NanoGPT__Nvidia__Nemotron__Nano__9b__V2 ModelID = "nvidia/nvidia-nemotron-nano-9b-v2" Model__NanoGPT__O1__1 ModelID = "openai/o1" Model__NanoGPT__O1__1__Preview ModelID = "openai/o1-preview" Model__NanoGPT__O1__1__Pro ModelID = "openai/o1-pro" Model__NanoGPT__O3__3 ModelID = "openai/o3" Model__NanoGPT__O3__3__Mini ModelID = "openai/o3-mini" Model__NanoGPT__O3__Deep__Research__3__Deep_Research ModelID = "openai/o3-deep-research" Model__NanoGPT__O3__Mini__High__3__Mini ModelID = "openai/o3-mini-high" Model__NanoGPT__O3__Mini__Low__3__Mini ModelID = "openai/o3-mini-low" Model__NanoGPT__O3__Pro__3__Pro__20250610 ModelID = "openai/o3-pro-2025-06-10" Model__NanoGPT__O4__4__Mini ModelID = "openai/o4-mini" Model__NanoGPT__O4__Mini__Deep__Research__4__Mini ModelID = "openai/o4-mini-deep-research" Model__NanoGPT__O4__Mini__High__4__Mini ModelID = "openai/o4-mini-high" Model__NanoGPT__OLMo__3__32b__3__Think ModelID = "allenai/olmo-3-32b-think" Model__NanoGPT__Openreasoning__Nemotron__32B ModelID = "pamanseau/OpenReasoning-Nemotron-32B" Model__NanoGPT__Owl ModelID = "owl" Model__NanoGPT__Perceptron__Mk1 ModelID = "perceptron/perceptron-mk1" Model__NanoGPT__Phi__4__Mini__4__Instruct ModelID = "phi-4-mini-instruct" Model__NanoGPT__Phi__4__MultimodalInstruct ModelID = "phi-4-multimodal-instruct" Model__NanoGPT__Qvq__Max ModelID = "qvq-max" Model__NanoGPT__Qwen25__Vl__72b__25__Instruct ModelID = "qwen25-vl-72b-instruct" Model__NanoGPT__Qwen2__5__32B__Eva__V0__2 ModelID = "Qwen2.5-32B-EVA-v0.2" Model__NanoGPT__Qwen2__5__32B__Instruct__Abliterated__2_5__Instruct ModelID = "huihui-ai/Qwen2.5-32B-Instruct-abliterated" Model__NanoGPT__Qwen2__5__Coder__32B__2_5__Instruct ModelID = "qwen/Qwen2.5-Coder-32B-Instruct" Model__NanoGPT__Qwen2__5__Vl__72b__2_5__Instruct ModelID = "TEE/qwen2.5-vl-72b-instruct" Model__NanoGPT__Qwen3__14b__3 ModelID = "qwen/qwen3-14b" Model__NanoGPT__Qwen3__235B__A22b__Instruct__2507__3__Instruct ModelID = "qwen/Qwen3-235B-A22B-Instruct-2507" Model__NanoGPT__Qwen3__235B__A22b__Instruct__2507__Tee__3__Instruct ModelID = "qwen/Qwen3-235B-A22B-Instruct-2507-TEE" Model__NanoGPT__Qwen3__235B__A22b__Thinking__2507__3__Thinking ModelID = "qwen/Qwen3-235B-A22B-Thinking-2507" Model__NanoGPT__Qwen3__235b__A22b__3 ModelID = "qwen/qwen3-235b-a22b" Model__NanoGPT__Qwen3__30b__A3b__3 ModelID = "qwen/qwen3-30b-a3b" Model__NanoGPT__Qwen3__30b__A3b__Instruct__2507__3__Instruct ModelID = "qwen3-30b-a3b-instruct-2507" Model__NanoGPT__Qwen3__30b__A3b__Instruct__2507__3__Instruct__Tee ModelID = "TEE/qwen3-30b-a3b-instruct-2507" Model__NanoGPT__Qwen3__32b__3 ModelID = "qwen/qwen3-32b" Model__NanoGPT__Qwen3__5__122b__A10b__3_5 ModelID = "qwen3.5-122b-a10b" Model__NanoGPT__Qwen3__5__122b__A10b__3_5__Tee ModelID = "TEE/qwen3.5-122b-a10b" Model__NanoGPT__Qwen3__5__122b__A10b__Thinking__3_5 ModelID = "qwen3.5-122b-a10b:thinking" Model__NanoGPT__Qwen3__5__27B__Anko__3_5 ModelID = "Qwen3.5-27B-Anko" Model__NanoGPT__Qwen3__5__27B__Bluestar__Derestricted__3_5 ModelID = "Qwen3.5-27B-BlueStar-Derestricted" Model__NanoGPT__Qwen3__5__27B__Bluestar__Derestricted__Lite__3_5 ModelID = "Qwen3.5-27B-BlueStar-Derestricted-Lite" Model__NanoGPT__Qwen3__5__27B__Bluestar__V2__Derestricted__3_5 ModelID = "Qwen3.5-27B-BlueStar-v2-Derestricted" Model__NanoGPT__Qwen3__5__27B__Bluestar__V2__Derestricted__Lite__3_5 ModelID = "Qwen3.5-27B-BlueStar-v2-Derestricted-Lite" Model__NanoGPT__Qwen3__5__27B__Bluestar__V3__Derestricted__3_5 ModelID = "Qwen3.5-27B-BlueStar-v3-Derestricted" Model__NanoGPT__Qwen3__5__27B__Bluestar__V3__Derestricted__Lite__3_5 ModelID = "Qwen3.5-27B-BlueStar-v3-Derestricted-Lite" Model__NanoGPT__Qwen3__5__27B__Derestricted__3_5 ModelID = "Qwen3.5-27B-Derestricted" Model__NanoGPT__Qwen3__5__27B__Earica__Derestricted__3_5 ModelID = "Qwen3.5-27B-earica-Derestricted" Model__NanoGPT__Qwen3__5__27B__Earica__Derestricted__Lite__3_5 ModelID = "Qwen3.5-27B-earica-Derestricted-Lite" Model__NanoGPT__Qwen3__5__27B__Infracelestial__3_5 ModelID = "Qwen3.5-27B-Infracelestial" Model__NanoGPT__Qwen3__5__27B__Marvin__Dpo__V2__Derestricted__3_5 ModelID = "Qwen3.5-27B-Marvin-DPO-V2-Derestricted" Model__NanoGPT__Qwen3__5__27B__Marvin__Dpo__V2__Derestricted__Lite__3_5 ModelID = "Qwen3.5-27B-Marvin-DPO-V2-Derestricted-Lite" Model__NanoGPT__Qwen3__5__27B__Marvin__V2__Derestricted__3_5 ModelID = "Qwen3.5-27B-Marvin-V2-Derestricted" Model__NanoGPT__Qwen3__5__27B__Marvin__V2__Derestricted__Lite__3_5 ModelID = "Qwen3.5-27B-Marvin-V2-Derestricted-Lite" Model__NanoGPT__Qwen3__5__27B__Musica__V1__3_5 ModelID = "Qwen3.5-27B-Musica-v1" Model__NanoGPT__Qwen3__5__27B__Nanovel__Derestricted__3_5 ModelID = "Qwen3.5-27B-NaNovel-Derestricted" Model__NanoGPT__Qwen3__5__27B__Nanovel__Derestricted__Lite__3_5 ModelID = "Qwen3.5-27B-NaNovel-Derestricted-Lite" Model__NanoGPT__Qwen3__5__27B__Omega__Evolution__V2__0__Derestricted ModelID = "Qwen3.5-27B-Omega-Evolution-v2.0-Derestricted" Model__NanoGPT__Qwen3__5__27B__Omega__Evolution__V2__0__Derestricted__Lite ModelID = "Qwen3.5-27B-Omega-Evolution-v2.0-Derestricted-Lite" Model__NanoGPT__Qwen3__5__27B__Omega__Evolution__V2__2__Derestricted ModelID = "Qwen3.5-27B-Omega-Evolution-v2.2-Derestricted" Model__NanoGPT__Qwen3__5__27B__Omega__Evolution__V2__2__Derestricted__Lite ModelID = "Qwen3.5-27B-Omega-Evolution-v2.2-Derestricted-Lite" Model__NanoGPT__Qwen3__5__27B__Queen__Derestricted__3_5 ModelID = "Qwen3.5-27B-Queen-Derestricted" Model__NanoGPT__Qwen3__5__27B__Queen__Derestricted__Lite__3_5 ModelID = "Qwen3.5-27B-Queen-Derestricted-Lite" Model__NanoGPT__Qwen3__5__27B__Rprmax__V1__3_5 ModelID = "Qwen3.5-27B-RpRMax-v1" Model__NanoGPT__Qwen3__5__27B__Vivid__Durian__3_5 ModelID = "Qwen3.5-27B-Vivid-Durian" Model__NanoGPT__Qwen3__5__27B__Writer__Derestricted__3_5 ModelID = "Qwen3.5-27B-Writer-Derestricted" Model__NanoGPT__Qwen3__5__27B__Writer__Derestricted__Lite__3_5 ModelID = "Qwen3.5-27B-Writer-Derestricted-Lite" Model__NanoGPT__Qwen3__5__27B__Writer__V2__Derestricted__3_5 ModelID = "Qwen3.5-27B-Writer-V2-Derestricted" Model__NanoGPT__Qwen3__5__27B__Writer__V2__Derestricted__Lite__3_5 ModelID = "Qwen3.5-27B-Writer-V2-Derestricted-Lite" Model__NanoGPT__Qwen3__5__27b__3_5 ModelID = "qwen3.5-27b" Model__NanoGPT__Qwen3__5__27b__3_5__Tee ModelID = "TEE/qwen3.5-27b" Model__NanoGPT__Qwen3__5__27b__Thinking__3_5 ModelID = "qwen3.5-27b:thinking" Model__NanoGPT__Qwen3__5__35b__A3b__3_5 ModelID = "qwen3.5-35b-a3b" Model__NanoGPT__Qwen3__5__35b__A3b__Thinking__3_5 ModelID = "qwen3.5-35b-a3b:thinking" Model__NanoGPT__Qwen3__5__397b__A17b__3_5__Qwen ModelID = "qwen/qwen3.5-397b-a17b" Model__NanoGPT__Qwen3__5__397b__A17b__3_5__Tee ModelID = "TEE/qwen3.5-397b-a17b" Model__NanoGPT__Qwen3__5__397b__A17b__3_5__Thinking ModelID = "qwen/qwen3.5-397b-a17b-thinking" Model__NanoGPT__Qwen3__5__9b__3_5 ModelID = "qwen/qwen3.5-9b" Model__NanoGPT__Qwen3__5__Flash__3_5 ModelID = "qwen3.5-flash" Model__NanoGPT__Qwen3__5__Flash__Thinking__3_5 ModelID = "qwen3.5-flash:thinking" Model__NanoGPT__Qwen3__5__Omni__Flash__3_5__Omni ModelID = "qwen3.5-omni-flash" Model__NanoGPT__Qwen3__5__Omni__Plus__3_5__Omni ModelID = "qwen3.5-omni-plus" Model__NanoGPT__Qwen3__5__Plus__3_5 ModelID = "qwen/qwen3.5-plus" Model__NanoGPT__Qwen3__5__Plus__3_5__Thinking ModelID = "qwen/qwen3.5-plus-thinking" Model__NanoGPT__Qwen3__6__27b__3_6 ModelID = "alibaba/qwen3.6-27b" Model__NanoGPT__Qwen3__6__27b__Thinking__3_6 ModelID = "alibaba/qwen3.6-27b:thinking" Model__NanoGPT__Qwen3__6__35B__A3b__3_6 ModelID = "qwen/Qwen3.6-35B-A3B" Model__NanoGPT__Qwen3__6__35B__A3b__Thinking__3_6 ModelID = "qwen/Qwen3.6-35B-A3B:thinking" Model__NanoGPT__Qwen3__6__35b__A3b__Uncensored__3_6 ModelID = "TEE/qwen3.6-35b-a3b-uncensored" Model__NanoGPT__Qwen3__6__Flash__3_6 ModelID = "alibaba/qwen3.6-flash" Model__NanoGPT__Qwen3__6__Max__3_6__Preview ModelID = "qwen3.6-max-preview" Model__NanoGPT__Qwen3__7__Max__3_7 ModelID = "qwen3.7-max" Model__NanoGPT__Qwen3__7__Max__Thinking__3_7 ModelID = "qwen3.7-max:thinking" Model__NanoGPT__Qwen3__7__Plus__3_7 ModelID = "qwen3.7-plus" Model__NanoGPT__Qwen3__7__Plus__Thinking__3_7 ModelID = "qwen3.7-plus:thinking" Model__NanoGPT__Qwen3__8B__3 ModelID = "qwen/Qwen3-8B" Model__NanoGPT__Qwen3__Coder__3 ModelID = "qwen/qwen3-coder" Model__NanoGPT__Qwen3__Coder__30b__A3b__3__Instruct ModelID = "qwen3-coder-30b-a3b-instruct" Model__NanoGPT__Qwen3__Coder__Flash__3 ModelID = "qwen/qwen3-coder-flash" Model__NanoGPT__Qwen3__Coder__Next__3 ModelID = "qwen/qwen3-coder-next" Model__NanoGPT__Qwen3__Coder__Plus__3 ModelID = "qwen/qwen3-coder-plus" Model__NanoGPT__Qwen3__Max__3 ModelID = "qwen/qwen3-max" Model__NanoGPT__Qwen3__Max__3__20260123 ModelID = "qwen3-max-2026-01-23" Model__NanoGPT__Qwen3__Next__80B__A3b__3__Instruct ModelID = "qwen/Qwen3-Next-80B-A3B-Instruct" Model__NanoGPT__Qwen3__Next__80b__A3b__3__Thinking ModelID = "qwen/qwen3-next-80b-a3b-thinking" Model__NanoGPT__Qwen3__Vl__235B__A22b__3__Instruct ModelID = "qwen/Qwen3-VL-235B-A22B-Instruct" Model__NanoGPT__Qwen3__Vl__235b__A22b__3__InstructOriginal ModelID = "qwen3-vl-235b-a22b-instruct-original" Model__NanoGPT__Qwen3__Vl__235b__A22b__3__Thinking ModelID = "qwen3-vl-235b-a22b-thinking" Model__NanoGPT__Qwen__2__5__72b__2_5__Instruct ModelID = "qwen/qwen-2.5-72b-instruct" Model__NanoGPT__Qwen__3__6__Plus__3_6 ModelID = "qwen-3.6-plus" Model__NanoGPT__Qwen__Long ModelID = "qwen-long" Model__NanoGPT__Qwen__Max ModelID = "qwen-max" Model__NanoGPT__Qwen__Plus ModelID = "qwen-plus" Model__NanoGPT__Qwen__Turbo ModelID = "qwen-turbo" Model__NanoGPT__Qwenlong__L1__32B ModelID = "Tongyi-Zhiwen/QwenLong-L1-32B" Model__NanoGPT__Qwerky__72B ModelID = "featherless-ai/Qwerky-72B" Model__NanoGPT__Qwq__32b ModelID = "qwq-32b" Model__NanoGPT__Qwq__32b__Preview ModelID = "qwen/qwq-32b-preview" Model__NanoGPT__Remm__Slerp__L2__13b ModelID = "undi95/remm-slerp-l2-13b" Model__NanoGPT__Ring__2__6__1t__2_6 ModelID = "inclusionai/ring-2.6-1t" Model__NanoGPT__Rnj__1__Instruct ModelID = "essentialai/rnj-1-instruct" Model__NanoGPT__Rocinante__12B__V1__1 ModelID = "TheDrummer/Rocinante-12B-v1.1" Model__NanoGPT__Sarvam__105b ModelID = "sarvam-105b" Model__NanoGPT__Sarvam__30b ModelID = "sarvam-30b" Model__NanoGPT__Seed__2__0__Lite__2_0 ModelID = "bytedance-seed/seed-2.0-lite" Model__NanoGPT__Shisa__V2__1__Llama3__3__70b ModelID = "shisa-ai/shisa-v2.1-llama3.3-70b" Model__NanoGPT__Shisa__V2__Llama3__3__70b ModelID = "shisa-ai/shisa-v2-llama3.3-70b" Model__NanoGPT__Skyfall__31B__V4__2 ModelID = "TheDrummer/Skyfall-31B-v4.2" Model__NanoGPT__Skyfall__36b__V2 ModelID = "TheDrummer/skyfall-36b-v2" Model__NanoGPT__Solar__Pro__3 ModelID = "upstage/solar-pro-3" Model__NanoGPT__Sonar ModelID = "sonar" Model__NanoGPT__Sonar__Deep__Research ModelID = "sonar-deep-research" Model__NanoGPT__Sonar__Pro ModelID = "sonar-pro" Model__NanoGPT__Sonar__Reasoning__Pro ModelID = "sonar-reasoning-pro" Model__NanoGPT__Starcannon__Unleashed__12B__V1__0 ModelID = "VongolaChouko/Starcannon-Unleashed-12B-v1.0" Model__NanoGPT__Step__2__16k__Exp__2 ModelID = "step-2-16k-exp" Model__NanoGPT__Step__2__Mini__2 ModelID = "step-2-mini" Model__NanoGPT__Step__3 ModelID = "step-3" Model__NanoGPT__Step__3__5__Flash__2603__3_5 ModelID = "stepfun-ai/step-3.5-flash-2603" Model__NanoGPT__Step__3__5__Flash__3_5 ModelID = "stepfun-ai/step-3.5-flash" Model__NanoGPT__Step__3__7__Flash__Thinking__3_7 ModelID = "stepfun/step-3.7-flash:thinking" Model__NanoGPT__Step__R1__V__Mini ModelID = "step-r1-v-mini" Model__NanoGPT__Tongyi__Deepresearch__30B__A3b ModelID = "Alibaba-NLP/Tongyi-DeepResearch-30B-A3B" Model__NanoGPT__Trinity__Large__Thinking ModelID = "arcee-ai/trinity-large-thinking" Model__NanoGPT__Trinity__Mini ModelID = "arcee-ai/trinity-mini" Model__NanoGPT__Universal__Summarizer ModelID = "universal-summarizer" Model__NanoGPT__Unslopnemo__12B__V4__1 ModelID = "TheDrummer/UnslopNemo-12B-v4.1" Model__NanoGPT__V0__1__0__Md__1_0 ModelID = "v0-1.0-md" Model__NanoGPT__V0__1__5__Lg__1_5 ModelID = "v0-1.5-lg" Model__NanoGPT__V0__1__5__Md__1_5 ModelID = "v0-1.5-md" Model__NanoGPT__Veiled__Calla__12B ModelID = "soob3123/Veiled-Calla-12B" Model__NanoGPT__Venice__Uncensored ModelID = "venice-uncensored" Model__NanoGPT__Venice__Uncensored__Web ModelID = "venice-uncensored:web" Model__NanoGPT__Wayfarer__Large__70B__Llama__3__3 ModelID = "LatitudeGames/Wayfarer-Large-70B-Llama-3.3" Model__NanoGPT__WizardLM__2__8x22b__2 ModelID = "microsoft/wizardlm-2-8x22b" Model__NanoGPT__Yi__Large ModelID = "yi-large" Model__NanoGPT__Yi__Lightning ModelID = "yi-lightning" Model__NanoGPT__Yi__Medium__200k ModelID = "yi-medium-200k" Model__NearAI__Claude__Haiku__4_5 ModelID = "anthropic/claude-haiku-4-5" Model__NearAI__Claude__Opus__4_6 ModelID = "anthropic/claude-opus-4-6" Model__NearAI__Claude__Opus__4_7 ModelID = "anthropic/claude-opus-4-7" Model__NearAI__Claude__Sonnet__4_5 ModelID = "anthropic/claude-sonnet-4-5" Model__NearAI__Claude__Sonnet__4_6 ModelID = "anthropic/claude-sonnet-4-6" Model__NearAI__Flux__2__Klein__4B ModelID = "black-forest-labs/FLUX.2-klein-4B" Model__NearAI__GLM__5__1__Fp8__5_1 ModelID = "zai-org/GLM-5.1-FP8" Model__NearAI__GPT__4_1 ModelID = "openai/gpt-4.1" Model__NearAI__GPT__4__1__Mini__4_1 ModelID = "openai/gpt-4.1-mini" Model__NearAI__GPT__4__1__Nano__4_1 ModelID = "openai/gpt-4.1-nano" Model__NearAI__GPT__5 ModelID = "openai/gpt-5" Model__NearAI__GPT__5_1 ModelID = "openai/gpt-5.1" Model__NearAI__GPT__5_2 ModelID = "openai/gpt-5.2" Model__NearAI__GPT__5_4 ModelID = "openai/gpt-5.4" Model__NearAI__GPT__5_5 ModelID = "openai/gpt-5.5" Model__NearAI__GPT__5__4__Mini__5_4 ModelID = "openai/gpt-5.4-mini" Model__NearAI__GPT__5__4__Nano__5_4 ModelID = "openai/gpt-5.4-nano" Model__NearAI__GPT__5__Mini__5 ModelID = "openai/gpt-5-mini" Model__NearAI__GPT__5__Nano__5 ModelID = "openai/gpt-5-nano" Model__NearAI__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__NearAI__Gemini__2__5__Flash__2_5 ModelID = "google/gemini-2.5-flash" Model__NearAI__Gemini__2__5__Flash__Lite__2_5 ModelID = "google/gemini-2.5-flash-lite" Model__NearAI__Gemini__2__5__Pro__2_5 ModelID = "google/gemini-2.5-pro" Model__NearAI__Gemini__3__1__Flash__Lite__3_1 ModelID = "google/gemini-3.1-flash-lite" Model__NearAI__Gemini__3__5__Flash__3_5 ModelID = "google/gemini-3.5-flash" Model__NearAI__Gemini__3__Pro__3 ModelID = "google/gemini-3-pro" Model__NearAI__Gemma__4__31B__It__4 ModelID = "google/gemma-4-31B-it" Model__NearAI__O3__3 ModelID = "openai/o3" Model__NearAI__O3__3__Mini ModelID = "openai/o3-mini" Model__NearAI__O4__4__Mini ModelID = "openai/o4-mini" Model__NearAI__Qwen3__30B__A3b__Instruct__2507__3__Instruct ModelID = "Qwen/Qwen3-30B-A3B-Instruct-2507" Model__NearAI__Qwen3__5__122B__A10b__3_5 ModelID = "Qwen/Qwen3.5-122B-A10B" Model__NearAI__Qwen3__6__35B__A3b__Fp8__3_6 ModelID = "Qwen/Qwen3.6-35B-A3B-FP8" Model__NearAI__Qwen3__Embedding__0__6B__3 ModelID = "Qwen/Qwen3-Embedding-0.6B" Model__NearAI__Qwen3__Reranker__0__6B__3 ModelID = "Qwen/Qwen3-Reranker-0.6B" Model__NearAI__Qwen3__Vl__30B__A3b__3__Instruct ModelID = "Qwen/Qwen3-VL-30B-A3B-Instruct" Model__NearAI__Whisper__Large__V3__3 ModelID = "openai/whisper-large-v3" Model__Nebius__DeepSeek__V3__2 ModelID = "deepseek-ai/DeepSeek-V3.2" Model__Nebius__DeepSeek__V3__2__Fast ModelID = "deepseek-ai/DeepSeek-V3.2-fast" Model__Nebius__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-ai/DeepSeek-V4-Pro" Model__Nebius__GLM__5 ModelID = "zai-org/GLM-5" Model__Nebius__GLM__5_2 ModelID = "zai-org/GLM-5.2" Model__Nebius__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__Nebius__GPT__Oss__120b__Fast ModelID = "openai/gpt-oss-120b-fast" Model__Nebius__Gemma__3__27b__It__3 ModelID = "google/gemma-3-27b-it" Model__Nebius__Hermes__4__405B__4 ModelID = "NousResearch/Hermes-4-405B" Model__Nebius__Hermes__4__70B__4 ModelID = "NousResearch/Hermes-4-70B" Model__Nebius__Intellect__3 ModelID = "PrimeIntellect/INTELLECT-3" Model__Nebius__Kimi__K2__5__2_5 ModelID = "moonshotai/Kimi-K2.5" Model__Nebius__Kimi__K2__5__2_5__Fast ModelID = "moonshotai/Kimi-K2.5-fast" Model__Nebius__Llama__3__1__Nemotron__Ultra__253B__V1 ModelID = "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1" Model__Nebius__Llama__3__3__70B__3_3__Instruct ModelID = "meta-llama/Llama-3.3-70B-Instruct" Model__Nebius__MiniMax__M2__5__2_5 ModelID = "MiniMaxAI/MiniMax-M2.5" Model__Nebius__MiniMax__M2__5__2_5__Fast ModelID = "MiniMaxAI/MiniMax-M2.5-fast" Model__Nebius__Nemotron__3__Nano__3__Omni ModelID = "nvidia/Nemotron-3-Nano-Omni" Model__Nebius__Nemotron__3__Super__120b__A12b__3 ModelID = "nvidia/nemotron-3-super-120b-a12b" Model__Nebius__Nvidia__Nemotron__3__Nano__30B__A3b ModelID = "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B" Model__Nebius__Qwen2__5__Vl__72B__2_5__Instruct ModelID = "Qwen/Qwen2.5-VL-72B-Instruct" Model__Nebius__Qwen3__235B__A22b__Instruct__2507__3__Instruct ModelID = "Qwen/Qwen3-235B-A22B-Instruct-2507" Model__Nebius__Qwen3__235B__A22b__Thinking__2507__3__ThinkingFast ModelID = "Qwen/Qwen3-235B-A22B-Thinking-2507-fast" Model__Nebius__Qwen3__30B__A3b__Instruct__2507__3__Instruct ModelID = "Qwen/Qwen3-30B-A3B-Instruct-2507" Model__Nebius__Qwen3__32B__3 ModelID = "Qwen/Qwen3-32B" Model__Nebius__Qwen3__5__397B__A17b__3_5 ModelID = "Qwen/Qwen3.5-397B-A17B" Model__Nebius__Qwen3__5__397B__A17b__3_5__Fast ModelID = "Qwen/Qwen3.5-397B-A17B-fast" Model__Nebius__Qwen3__Embedding__8B__3 ModelID = "Qwen/Qwen3-Embedding-8B" Model__Nebius__Qwen3__Next__80B__A3b__3__Thinking ModelID = "Qwen/Qwen3-Next-80B-A3B-Thinking" Model__Nebius__Qwen3__Next__80B__A3b__3__ThinkingFast ModelID = "Qwen/Qwen3-Next-80B-A3B-Thinking-fast" Model__Neon__Claude__Haiku__4_5 ModelID = "claude-haiku-4-5" Model__Neon__Claude__Opus__4_1 ModelID = "claude-opus-4-1" Model__Neon__Claude__Opus__4_5 ModelID = "claude-opus-4-5" Model__Neon__Claude__Opus__4_6 ModelID = "claude-opus-4-6" Model__Neon__Claude__Opus__4_7 ModelID = "claude-opus-4-7" Model__Neon__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__Neon__Claude__Sonnet__4 ModelID = "claude-sonnet-4" Model__Neon__Claude__Sonnet__4_5 ModelID = "claude-sonnet-4-5" Model__Neon__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__Neon__GPT__5 ModelID = "gpt-5" Model__Neon__GPT__5_1 ModelID = "gpt-5-1" Model__Neon__GPT__5_2 ModelID = "gpt-5-2" Model__Neon__GPT__5_4 ModelID = "gpt-5-4" Model__Neon__GPT__5__1__Codex__Max__5_1 ModelID = "gpt-5-1-codex-max" Model__Neon__GPT__5__1__Codex__Mini__5_1 ModelID = "gpt-5-1-codex-mini" Model__Neon__GPT__5__2__Codex__5_2 ModelID = "gpt-5-2-codex" Model__Neon__GPT__5__3__Codex__5_3 ModelID = "gpt-5-3-codex" Model__Neon__GPT__5__4__Mini__5_4 ModelID = "gpt-5-4-mini" Model__Neon__GPT__5__4__Nano__5_4 ModelID = "gpt-5-4-nano" Model__Neon__GPT__5__Mini__5 ModelID = "gpt-5-mini" Model__Neon__GPT__5__Nano__5 ModelID = "gpt-5-nano" Model__Neon__GPT__Oss__120b ModelID = "gpt-oss-120b" Model__Neon__GPT__Oss__20b ModelID = "gpt-oss-20b" Model__Neon__Gemini__2__5__Flash__2_5 ModelID = "gemini-2-5-flash" Model__Neon__Gemini__2__5__Pro__2_5 ModelID = "gemini-2-5-pro" Model__Neon__Gemini__3__1__Flash__Lite__3_1 ModelID = "gemini-3-1-flash-lite" Model__Neon__Gemini__3__1__Pro__3_1 ModelID = "gemini-3-1-pro" Model__Neon__Gemini__3__5__Flash__3_5 ModelID = "gemini-3-5-flash" Model__Neon__Gemini__3__Flash__3 ModelID = "gemini-3-flash" Model__Neon__Gemini__3__Pro__3 ModelID = "gemini-3-pro" Model__Neon__Gemma__3__12b__3 ModelID = "gemma-3-12b" Model__Neon__Llama__4__Maverick__4 ModelID = "llama-4-maverick" Model__Neon__Meta__Llama__3__1__8b__3_1__Instruct ModelID = "meta-llama-3-1-8b-instruct" Model__Neon__Meta__Llama__3__3__70b__3_3__Instruct ModelID = "meta-llama-3-3-70b-instruct" Model__Neon__Qwen35__122b__A10b__35 ModelID = "qwen35-122b-a10b" Model__Neon__Qwen3__Next__80b__A3b__3__Instruct ModelID = "qwen3-next-80b-a3b-instruct" Model__Neuralwatt__GLM__5_2 ModelID = "glm-5.2" Model__Neuralwatt__GLM__5_2__Fast ModelID = "glm-5.2-fast" Model__Neuralwatt__GLM__5__2__Flex__5_2 ModelID = "glm-5.2-flex" Model__Neuralwatt__GLM__5__2__Short__5_2 ModelID = "glm-5.2-short" Model__Neuralwatt__GLM__5__2__Short__5_2__Fast ModelID = "glm-5.2-short-fast" Model__Neuralwatt__GLM__5__2__Short__Fast__Flex__5_2 ModelID = "glm-5.2-short-fast-flex" Model__Neuralwatt__GLM__5__2__Short__Flex__5_2 ModelID = "glm-5.2-short-flex" Model__Neuralwatt__Kimi__K2__5__2_5 ModelID = "moonshotai/Kimi-K2.5" Model__Neuralwatt__Kimi__K2__5__2_5__Fast ModelID = "kimi-k2.5-fast" Model__Neuralwatt__Kimi__K2__6__2_6 ModelID = "moonshotai/Kimi-K2.6" Model__Neuralwatt__Kimi__K2__6__2_6__Fast ModelID = "kimi-k2.6-fast" Model__Neuralwatt__Kimi__K2__6__Flex ModelID = "kimi-k2.6-flex" Model__Neuralwatt__Kimi__K2__7__2_7__Code ModelID = "moonshotai/Kimi-K2.7-Code" Model__Neuralwatt__Kimi__K2__7__Code__Flex ModelID = "kimi-k2.7-code-flex" Model__Neuralwatt__Qwen3__5__397B__A17b__Fp8__3_5 ModelID = "Qwen/Qwen3.5-397B-A17B-FP8" Model__Neuralwatt__Qwen3__5__397b__3_5__Fast ModelID = "qwen3.5-397b-fast" Model__Neuralwatt__Qwen3__6__35B__A3b__3_6 ModelID = "Qwen/Qwen3.6-35B-A3B" Model__Neuralwatt__Qwen3__6__35b__3_6__Fast ModelID = "qwen3.6-35b-fast" Model__Nova__Nova__2__Lite__V1__2 ModelID = "nova-2-lite-v1" Model__Nova__Nova__2__Pro__V1__2 ModelID = "nova-2-pro-v1" Model__NovitaAI__Autoglm__Phone__9b__Multilingual ModelID = "zai-org/autoglm-phone-9b-multilingual" Model__NovitaAI__Baichuan__M2__32b ModelID = "baichuan/baichuan-m2-32b" Model__NovitaAI__DeepSeek__Ocr ModelID = "deepseek/deepseek-ocr" Model__NovitaAI__DeepSeek__Ocr__2 ModelID = "deepseek/deepseek-ocr-2" Model__NovitaAI__DeepSeek__Prover__V2__671b ModelID = "deepseek/deepseek-prover-v2-671b" Model__NovitaAI__DeepSeek__R1__0528__Qwen3__8b ModelID = "deepseek/deepseek-r1-0528-qwen3-8b" Model__NovitaAI__DeepSeek__R1__0528__Thinking ModelID = "deepseek/deepseek-r1-0528" Model__NovitaAI__DeepSeek__R1__Distill__Llama__70b__Thinking ModelID = "deepseek/deepseek-r1-distill-llama-70b" Model__NovitaAI__DeepSeek__R1__Distill__Qwen__14b__Thinking ModelID = "deepseek/deepseek-r1-distill-qwen-14b" Model__NovitaAI__DeepSeek__R1__Distill__Qwen__32b__Thinking ModelID = "deepseek/deepseek-r1-distill-qwen-32b" Model__NovitaAI__DeepSeek__R1__Turbo ModelID = "deepseek/deepseek-r1-turbo" Model__NovitaAI__DeepSeek__V3__0324 ModelID = "deepseek/deepseek-v3-0324" Model__NovitaAI__DeepSeek__V3__1 ModelID = "deepseek/deepseek-v3.1" Model__NovitaAI__DeepSeek__V3__1__Terminus ModelID = "deepseek/deepseek-v3.1-terminus" Model__NovitaAI__DeepSeek__V3__2 ModelID = "deepseek/deepseek-v3.2" Model__NovitaAI__DeepSeek__V3__2__Exp ModelID = "deepseek/deepseek-v3.2-exp" Model__NovitaAI__DeepSeek__V3__Turbo ModelID = "deepseek/deepseek-v3-turbo" Model__NovitaAI__DeepSeek__V4__Flash ModelID = "deepseek/deepseek-v4-flash" Model__NovitaAI__DeepSeek__V4__Pro__Thinking ModelID = "deepseek/deepseek-v4-pro" Model__NovitaAI__Ernie__4__5__21B__A3b__4_5 ModelID = "baidu/ernie-4.5-21B-a3b" Model__NovitaAI__Ernie__4__5__21B__A3b__4_5__Thinking ModelID = "baidu/ernie-4.5-21B-a3b-thinking" Model__NovitaAI__Ernie__4__5__300b__A47b__Paddle__4_5 ModelID = "baidu/ernie-4.5-300b-a47b-paddle" Model__NovitaAI__Ernie__4__5__Vl__28b__A3b__4_5 ModelID = "baidu/ernie-4.5-vl-28b-a3b" Model__NovitaAI__Ernie__4__5__Vl__28b__A3b__4_5__Thinking ModelID = "baidu/ernie-4.5-vl-28b-a3b-thinking" Model__NovitaAI__Ernie__4__5__Vl__424b__A47b__4_5 ModelID = "baidu/ernie-4.5-vl-424b-a47b" Model__NovitaAI__GLM__4_5 ModelID = "zai-org/glm-4.5" Model__NovitaAI__GLM__4_6 ModelID = "zai-org/glm-4.6" Model__NovitaAI__GLM__4_7 ModelID = "zai-org/glm-4.7" Model__NovitaAI__GLM__4__5__Air__4_5 ModelID = "zai-org/glm-4.5-air" Model__NovitaAI__GLM__4__5v__4_5 ModelID = "zai-org/glm-4.5v" Model__NovitaAI__GLM__4__6v__4_6 ModelID = "zai-org/glm-4.6v" Model__NovitaAI__GLM__4__7__Flash__4_7 ModelID = "zai-org/glm-4.7-flash" Model__NovitaAI__GLM__5 ModelID = "zai-org/glm-5" Model__NovitaAI__GLM__5_1 ModelID = "zai-org/glm-5.1" Model__NovitaAI__GLM__5_2 ModelID = "zai-org/glm-5.2" Model__NovitaAI__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__NovitaAI__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__NovitaAI__Gemma__3__12b__It__3 ModelID = "google/gemma-3-12b-it" Model__NovitaAI__Gemma__3__27b__It__3 ModelID = "google/gemma-3-27b-it" Model__NovitaAI__Gemma__4__26b__A4b__It__4 ModelID = "google/gemma-4-26b-a4b-it" Model__NovitaAI__Gemma__4__31b__It__4 ModelID = "google/gemma-4-31b-it" Model__NovitaAI__Hermes__2__Pro__Llama__3__8b__2 ModelID = "nousresearch/hermes-2-pro-llama-3-8b" Model__NovitaAI__Kat__Coder__Pro ModelID = "kwaipilot/kat-coder-pro" Model__NovitaAI__Kimi__K2__0905__2 ModelID = "moonshotai/kimi-k2-0905" Model__NovitaAI__Kimi__K2__2__Instruct ModelID = "moonshotai/kimi-k2-instruct" Model__NovitaAI__Kimi__K2__2__Thinking ModelID = "moonshotai/kimi-k2-thinking" Model__NovitaAI__Kimi__K2__5__2_5 ModelID = "moonshotai/kimi-k2.5" Model__NovitaAI__Kimi__K2__6__2_6 ModelID = "moonshotai/kimi-k2.6" Model__NovitaAI__L31__70b__Euryale__V2__2 ModelID = "sao10K/l31-70b-euryale-v2.2" Model__NovitaAI__L3__70b__Euryale__V2__1 ModelID = "sao10K/l3-70b-euryale-v2.1" Model__NovitaAI__L3__8B__Stheno__V3__2 ModelID = "sao10K/L3-8B-stheno-v3.2" Model__NovitaAI__L3__8b__Lunaris ModelID = "sao10K/l3-8b-lunaris" Model__NovitaAI__Ling__2__6__1t__2_6 ModelID = "inclusionai/ling-2.6-1t" Model__NovitaAI__Ling__2__6__Flash__2_6 ModelID = "inclusionai/ling-2.6-flash" Model__NovitaAI__Llama__3__1__8b__3_1__Instruct ModelID = "meta-llama/llama-3.1-8b-instruct" Model__NovitaAI__Llama__3__2__3b__3_2__Instruct ModelID = "meta-llama/llama-3.2-3b-instruct" Model__NovitaAI__Llama__3__3__70b__3_3__Instruct ModelID = "meta-llama/llama-3.3-70b-instruct" Model__NovitaAI__Llama__3__70b__3__Instruct ModelID = "meta-llama/llama-3-70b-instruct" Model__NovitaAI__Llama__3__8b__3__Instruct ModelID = "meta-llama/llama-3-8b-instruct" Model__NovitaAI__Llama__4__Maverick__17b__128e__Instruct__Fp8__4__Instruct ModelID = "meta-llama/llama-4-maverick-17b-128e-instruct-fp8" Model__NovitaAI__Llama__4__Scout__17b__16e__4__Instruct ModelID = "meta-llama/llama-4-scout-17b-16e-instruct" Model__NovitaAI__Mimo__V2__2__Pro ModelID = "xiaomimimo/mimo-v2-pro" Model__NovitaAI__Mimo__V2__5__2_5__Pro ModelID = "xiaomimimo/mimo-v2.5-pro" Model__NovitaAI__Mimo__V2__Flash ModelID = "xiaomimimo/mimo-v2-flash" Model__NovitaAI__MiniMax__M1__80k__1 ModelID = "minimaxai/minimax-m1-80k" Model__NovitaAI__MiniMax__M2__1__2_1 ModelID = "minimax/minimax-m2.1" Model__NovitaAI__MiniMax__M2__2 ModelID = "minimax/minimax-m2" Model__NovitaAI__MiniMax__M2__5__2_5 ModelID = "minimax/minimax-m2.5" Model__NovitaAI__MiniMax__M2__5__2_5__Highspeed ModelID = "minimax/minimax-m2.5-highspeed" Model__NovitaAI__MiniMax__M2__7__2_7 ModelID = "minimax/minimax-m2.7" Model__NovitaAI__MiniMax__M2__7__2_7__Highspeed ModelID = "minimax/minimax-m2.7-highspeed" Model__NovitaAI__Mistral__Nemo ModelID = "mistralai/mistral-nemo" Model__NovitaAI__Mythomax__L2__13b ModelID = "gryphe/mythomax-l2-13b" Model__NovitaAI__Paddleocr__Vl ModelID = "paddlepaddle/paddleocr-vl" Model__NovitaAI__Qwen2__5__7b__2_5__Instruct ModelID = "qwen/qwen2.5-7b-instruct" Model__NovitaAI__Qwen2__5__Vl__72b__2_5__Instruct ModelID = "qwen/qwen2.5-vl-72b-instruct" Model__NovitaAI__Qwen3__235b__A22b__Fp8__3 ModelID = "qwen/qwen3-235b-a22b-fp8" Model__NovitaAI__Qwen3__235b__A22b__Instruct__2507__3__Instruct ModelID = "qwen/qwen3-235b-a22b-instruct-2507" Model__NovitaAI__Qwen3__235b__A22b__Thinking__2507__3__Thinking ModelID = "qwen/qwen3-235b-a22b-thinking-2507" Model__NovitaAI__Qwen3__30b__A3b__Fp8__3 ModelID = "qwen/qwen3-30b-a3b-fp8" Model__NovitaAI__Qwen3__32b__Fp8__3 ModelID = "qwen/qwen3-32b-fp8" Model__NovitaAI__Qwen3__4b__Fp8__3 ModelID = "qwen/qwen3-4b-fp8" Model__NovitaAI__Qwen3__5__122b__A10b__3_5 ModelID = "qwen/qwen3.5-122b-a10b" Model__NovitaAI__Qwen3__5__27b__3_5 ModelID = "qwen/qwen3.5-27b" Model__NovitaAI__Qwen3__5__35b__A3b__3_5 ModelID = "qwen/qwen3.5-35b-a3b" Model__NovitaAI__Qwen3__5__397b__A17b__3_5 ModelID = "qwen/qwen3.5-397b-a17b" Model__NovitaAI__Qwen3__7__Max__3_7 ModelID = "qwen/qwen3.7-max" Model__NovitaAI__Qwen3__8b__Fp8__3 ModelID = "qwen/qwen3-8b-fp8" Model__NovitaAI__Qwen3__Coder__30b__A3b__3__Instruct ModelID = "qwen/qwen3-coder-30b-a3b-instruct" Model__NovitaAI__Qwen3__Coder__480b__A35b__3__Instruct ModelID = "qwen/qwen3-coder-480b-a35b-instruct" Model__NovitaAI__Qwen3__Coder__Next__3 ModelID = "qwen/qwen3-coder-next" Model__NovitaAI__Qwen3__Max__3 ModelID = "qwen/qwen3-max" Model__NovitaAI__Qwen3__Next__80b__A3b__3__Instruct ModelID = "qwen/qwen3-next-80b-a3b-instruct" Model__NovitaAI__Qwen3__Next__80b__A3b__3__Thinking ModelID = "qwen/qwen3-next-80b-a3b-thinking" Model__NovitaAI__Qwen3__Omni__30b__A3b__3__InstructOmni ModelID = "qwen/qwen3-omni-30b-a3b-instruct" Model__NovitaAI__Qwen3__Omni__30b__A3b__3__ThinkingOmni ModelID = "qwen/qwen3-omni-30b-a3b-thinking" Model__NovitaAI__Qwen3__Vl__235b__A22b__3__Instruct ModelID = "qwen/qwen3-vl-235b-a22b-instruct" Model__NovitaAI__Qwen3__Vl__235b__A22b__3__Thinking ModelID = "qwen/qwen3-vl-235b-a22b-thinking" Model__NovitaAI__Qwen3__Vl__30b__A3b__3__Instruct ModelID = "qwen/qwen3-vl-30b-a3b-instruct" Model__NovitaAI__Qwen3__Vl__30b__A3b__3__Thinking ModelID = "qwen/qwen3-vl-30b-a3b-thinking" Model__NovitaAI__Qwen3__Vl__8b__3__Instruct ModelID = "qwen/qwen3-vl-8b-instruct" Model__NovitaAI__Qwen__2__5__72b__2_5__Instruct ModelID = "qwen/qwen-2.5-72b-instruct" Model__NovitaAI__Qwen__Mt__Plus ModelID = "qwen/qwen-mt-plus" Model__NovitaAI__Ring__2__6__1t__2_6 ModelID = "inclusionai/ring-2.6-1t" Model__NovitaAI__WizardLM__2__8x22b__2 ModelID = "microsoft/wizardlm-2-8x22b" Model__Nvidia__Active__Speaker__Detection ModelID = "nvidia/active-speaker-detection" Model__Nvidia__Bevformer ModelID = "nvidia/bevformer" Model__Nvidia__Bge__M3 ModelID = "baai/bge-m3" Model__Nvidia__Cosmos__Predict1__5b ModelID = "nvidia/cosmos-predict1-5b" Model__Nvidia__Cosmos__Transfer1__7b ModelID = "nvidia/cosmos-transfer1-7b" Model__Nvidia__Cosmos__Transfer2__5__2b ModelID = "nvidia/cosmos-transfer2_5-2b" Model__Nvidia__DeepSeek__V4__Flash ModelID = "deepseek-ai/deepseek-v4-flash" Model__Nvidia__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-ai/deepseek-v4-pro" Model__Nvidia__Dracarys__Llama__3__1__70b__Instruct ModelID = "abacusai/dracarys-llama-3_1-70b-instruct" Model__Nvidia__Esm2__650m ModelID = "meta/esm2-650m" Model__Nvidia__Esmfold ModelID = "meta/esmfold" Model__Nvidia__Flux__1__Dev ModelID = "black-forest-labs/flux.1-dev" Model__Nvidia__Flux__1__Kontext__Dev ModelID = "black-forest-labs/flux_1-kontext-dev" Model__Nvidia__Flux__1__Schnell ModelID = "black-forest-labs/flux_1-schnell" Model__Nvidia__Flux__2__Klein__4b ModelID = "black-forest-labs/flux_2-klein-4b" Model__Nvidia__GLM__5_2 ModelID = "z-ai/glm-5.2" Model__Nvidia__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__Nvidia__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__Nvidia__Gemma__2__2b__It__2 ModelID = "google/gemma-2-2b-it" Model__Nvidia__Gemma__3n__E2b__It ModelID = "google/gemma-3n-e2b-it" Model__Nvidia__Gemma__3n__E4b__It ModelID = "google/gemma-3n-e4b-it" Model__Nvidia__Gemma__4__31b__It__4 ModelID = "google/gemma-4-31b-it" Model__Nvidia__Gliner__Pii ModelID = "nvidia/gliner-pii" Model__Nvidia__Google__Paligemma ModelID = "google/google-paligemma" Model__Nvidia__Kimi__K2__6__2_6 ModelID = "moonshotai/kimi-k2.6" Model__Nvidia__Kimi__K2__Instruct__0905__2__Instruct ModelID = "moonshotai/kimi-k2-instruct-0905" Model__Nvidia__Llama__3__1__70b__3_1__Instruct ModelID = "meta/llama-3.1-70b-instruct" Model__Nvidia__Llama__3__1__8b__3_1__Instruct ModelID = "meta/llama-3.1-8b-instruct" Model__Nvidia__Llama__3__1__Nemotron__Safety__Guard__8b__V3 ModelID = "nvidia/llama-3_1-nemotron-safety-guard-8b-v3" Model__Nvidia__Llama__3__2__11b__3_2__VisionInstruct ModelID = "meta/llama-3.2-11b-vision-instruct" Model__Nvidia__Llama__3__2__1b__3_2__Instruct ModelID = "meta/llama-3.2-1b-instruct" Model__Nvidia__Llama__3__2__3b__3_2__Instruct ModelID = "meta/llama-3.2-3b-instruct" Model__Nvidia__Llama__3__2__90b__3_2__VisionInstruct ModelID = "meta/llama-3.2-90b-vision-instruct" Model__Nvidia__Llama__3__2__Nemoretriever__300m__Embed__V1 ModelID = "nvidia/llama-3_2-nemoretriever-300m-embed-v1" Model__Nvidia__Llama__3__3__70b__3_3__Instruct ModelID = "meta/llama-3.3-70b-instruct" Model__Nvidia__Llama__4__Maverick__17b__128e__4__Instruct ModelID = "meta/llama-4-maverick-17b-128e-instruct" Model__Nvidia__Llama__Guard__4__12b__4 ModelID = "meta/llama-guard-4-12b" Model__Nvidia__Llama__Nemotron__Embed__Vl__1b__V2 ModelID = "nvidia/llama-nemotron-embed-vl-1b-v2" Model__Nvidia__Llama__Nemotron__Rerank__Vl__1b__V2 ModelID = "nvidia/llama-nemotron-rerank-vl-1b-v2" Model__Nvidia__Magistral__Small__2506 ModelID = "mistralai/magistral-small-2506" Model__Nvidia__Magpie__Tts__Zeroshot ModelID = "nvidia/magpie-tts-zeroshot" Model__Nvidia__MiniMax__M2__7__2_7 ModelID = "minimaxai/minimax-m2.7" Model__Nvidia__MiniMax__M3__3 ModelID = "minimaxai/minimax-m3" Model__Nvidia__Mistral__7b__Instruct__V03__Instruct ModelID = "mistralai/mistral-7b-instruct-v03" Model__Nvidia__Mistral__Large__3__675b__Instruct__2512__3__Instruct ModelID = "mistralai/mistral-large-3-675b-instruct-2512" Model__Nvidia__Mistral__Medium__3__Instruct ModelID = "mistralai/mistral-medium-3-instruct" Model__Nvidia__Mistral__Nemotron ModelID = "mistralai/mistral-nemotron" Model__Nvidia__Mistral__Small__4__119b__2603__4 ModelID = "mistralai/mistral-small-4-119b-2603" Model__Nvidia__Mixtral__8x22b__Instruct ModelID = "mistralai/mixtral-8x22b-instruct" Model__Nvidia__Mixtral__8x7b__Instruct ModelID = "mistralai/mixtral-8x7b-instruct" Model__Nvidia__Nemotron__3__Content__Safety__3 ModelID = "nvidia/nemotron-3-content-safety" Model__Nvidia__Nemotron__3__Nano__30b__A3b__3 ModelID = "nvidia/nemotron-3-nano-30b-a3b" Model__Nvidia__Nemotron__3__Nano__Omni__30b__A3b__3__ReasoningOmni ModelID = "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning" Model__Nvidia__Nemotron__3__Super__120b__A12b__3 ModelID = "nvidia/nemotron-3-super-120b-a12b" Model__Nvidia__Nemotron__3__Ultra__550b__A55b__3 ModelID = "nvidia/nemotron-3-ultra-550b-a55b" Model__Nvidia__Nemotron__Content__Safety__Reasoning__4b__Reasoning ModelID = "nvidia/nemotron-content-safety-reasoning-4b" Model__Nvidia__Nemotron__Mini__4b__Instruct ModelID = "nvidia/nemotron-mini-4b-instruct" Model__Nvidia__Nemotron__Voicechat ModelID = "nvidia/nemotron-voicechat" Model__Nvidia__Nv__Embed__V1 ModelID = "nvidia/nv-embed-v1" Model__Nvidia__Nv__Embedcode__7b__V1 ModelID = "nvidia/nv-embedcode-7b-v1" Model__Nvidia__Nvidia__Nemotron__Nano__9b__V2 ModelID = "nvidia/nvidia-nemotron-nano-9b-v2" Model__Nvidia__Phi__4__Mini__4__Instruct ModelID = "microsoft/phi-4-mini-instruct" Model__Nvidia__Phi__4__MultimodalInstruct ModelID = "microsoft/phi-4-multimodal-instruct" Model__Nvidia__Qwen2__5__Coder__32b__2_5__Instruct ModelID = "qwen/qwen2.5-coder-32b-instruct" Model__Nvidia__Qwen3__5__122b__A10b__3_5 ModelID = "qwen/qwen3.5-122b-a10b" Model__Nvidia__Qwen3__5__397b__A17b__3_5 ModelID = "qwen/qwen3.5-397b-a17b" Model__Nvidia__Qwen3__Coder__480b__A35b__3__Instruct ModelID = "qwen/qwen3-coder-480b-a35b-instruct" Model__Nvidia__Qwen3__Next__80b__A3b__3__Instruct ModelID = "qwen/qwen3-next-80b-a3b-instruct" Model__Nvidia__Qwen__Image ModelID = "qwen/qwen-image" Model__Nvidia__Qwen__Image__Edit ModelID = "qwen/qwen-image-edit" Model__Nvidia__Rerank__Qa__Mistral__4b ModelID = "nvidia/rerank-qa-mistral-4b" Model__Nvidia__Riva__Translate__4b__Instruct__V1__1__Instruct ModelID = "nvidia/riva-translate-4b-instruct-v1_1" Model__Nvidia__Sarvam__M ModelID = "sarvamai/sarvam-m" Model__Nvidia__Seed__Oss__36b__Instruct ModelID = "bytedance/seed-oss-36b-instruct" Model__Nvidia__Solar__10__7b__Instruct ModelID = "upstage/solar-10_7b-instruct" Model__Nvidia__Sparsedrive ModelID = "nvidia/sparsedrive" Model__Nvidia__Step__3__5__Flash__3_5 ModelID = "stepfun-ai/step-3.5-flash" Model__Nvidia__Step__3__7__Flash__3_7 ModelID = "stepfun-ai/step-3.7-flash" Model__Nvidia__Streampetr ModelID = "nvidia/streampetr" Model__Nvidia__Studiovoice ModelID = "nvidia/studiovoice" Model__Nvidia__Synthetic__Video__Detector ModelID = "nvidia/synthetic-video-detector" Model__Nvidia__Usdcode ModelID = "nvidia/usdcode" Model__Nvidia__Usdvalidate ModelID = "nvidia/usdvalidate" Model__Nvidia__Whisper__Large__V3__3 ModelID = "openai/whisper-large-v3" Model__OVHcloud__GPT__Oss__120b ModelID = "gpt-oss-120b" Model__OVHcloud__GPT__Oss__20b ModelID = "gpt-oss-20b" Model__OVHcloud__Meta__Llama__3__3__70b__Instruct ModelID = "meta-llama-3_3-70b-instruct" Model__OVHcloud__Mistral__7b__Instruct__V0__3__0_3__Instruct ModelID = "mistral-7b-instruct-v0.3" Model__OVHcloud__Mistral__Nemo__Instruct__2407__Instruct ModelID = "mistral-nemo-instruct-2407" Model__OVHcloud__Mistral__Small__3__2__24b__Instruct__2506__3_2__Instruct ModelID = "mistral-small-3.2-24b-instruct-2506" Model__OVHcloud__Qwen2__5__Vl__72b__2_5__Instruct ModelID = "qwen2.5-vl-72b-instruct" Model__OVHcloud__Qwen3__32b__3 ModelID = "qwen3-32b" Model__OVHcloud__Qwen3__5__397b__A17b__3_5 ModelID = "qwen3.5-397b-a17b" Model__OVHcloud__Qwen3__5__9b__3_5 ModelID = "qwen3.5-9b" Model__OVHcloud__Qwen3__6__27b__3_6 ModelID = "qwen3.6-27b" Model__OVHcloud__Qwen3__Coder__30b__A3b__3__Instruct ModelID = "qwen3-coder-30b-a3b-instruct" Model__OVHcloud__Qwen3guard__Gen__0__6b ModelID = "qwen3guard-gen-0.6b" Model__OVHcloud__Qwen3guard__Gen__8b ModelID = "qwen3guard-gen-8b" Model__OllamaCloud__Cogito__2__1__671b ModelID = "cogito-2.1:671b" Model__OllamaCloud__DeepSeek__V3__1__671b ModelID = "deepseek-v3.1:671b" Model__OllamaCloud__DeepSeek__V3__2 ModelID = "deepseek-v3.2" Model__OllamaCloud__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__OllamaCloud__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__OllamaCloud__Devstral__2__123b ModelID = "devstral-2:123b" Model__OllamaCloud__Devstral__Small__2__24b ModelID = "devstral-small-2:24b" Model__OllamaCloud__GLM__4_6 ModelID = "glm-4.6" Model__OllamaCloud__GLM__4_7 ModelID = "glm-4.7" Model__OllamaCloud__GLM__5 ModelID = "glm-5" Model__OllamaCloud__GLM__5_1 ModelID = "glm-5.1" Model__OllamaCloud__GLM__5_2 ModelID = "glm-5.2" Model__OllamaCloud__GPT__Oss__120b ModelID = "gpt-oss:120b" Model__OllamaCloud__GPT__Oss__20b ModelID = "gpt-oss:20b" Model__OllamaCloud__Gemini__3__Flash__3__Preview ModelID = "gemini-3-flash-preview" Model__OllamaCloud__Gemma3__12b ModelID = "gemma3:12b" Model__OllamaCloud__Gemma3__27b ModelID = "gemma3:27b" Model__OllamaCloud__Gemma3__4b ModelID = "gemma3:4b" Model__OllamaCloud__Gemma4__31b ModelID = "gemma4:31b" Model__OllamaCloud__Kimi__K2__1t__2 ModelID = "kimi-k2:1t" Model__OllamaCloud__Kimi__K2__2__Thinking ModelID = "kimi-k2-thinking" Model__OllamaCloud__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__OllamaCloud__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__OllamaCloud__Kimi__K2__7__2_7__Code ModelID = "kimi-k2.7-code" Model__OllamaCloud__MiniMax__M2__1__2_1 ModelID = "minimax-m2.1" Model__OllamaCloud__MiniMax__M2__2 ModelID = "minimax-m2" Model__OllamaCloud__MiniMax__M2__5__2_5 ModelID = "minimax-m2.5" Model__OllamaCloud__MiniMax__M2__7__2_7 ModelID = "minimax-m2.7" Model__OllamaCloud__MiniMax__M3__3 ModelID = "minimax-m3" Model__OllamaCloud__Ministral__3__14b ModelID = "ministral-3:14b" Model__OllamaCloud__Ministral__3__3b ModelID = "ministral-3:3b" Model__OllamaCloud__Ministral__3__8b ModelID = "ministral-3:8b" Model__OllamaCloud__Mistral__Large__3__675b ModelID = "mistral-large-3:675b" Model__OllamaCloud__Nemotron__3__Nano__30b__3 ModelID = "nemotron-3-nano:30b" Model__OllamaCloud__Nemotron__3__Super__3 ModelID = "nemotron-3-super" Model__OllamaCloud__Nemotron__3__Ultra__3 ModelID = "nemotron-3-ultra" Model__OllamaCloud__Qwen3__5__397b ModelID = "qwen3.5:397b" Model__OllamaCloud__Qwen3__Coder__480b__3 ModelID = "qwen3-coder:480b" Model__OllamaCloud__Qwen3__Coder__Next__3 ModelID = "qwen3-coder-next" Model__OllamaCloud__Qwen3__Next__80b__3 ModelID = "qwen3-next:80b" Model__OllamaCloud__Qwen3__Vl__235b__3 ModelID = "qwen3-vl:235b" Model__OllamaCloud__Qwen3__Vl__235b__3__Instruct ModelID = "qwen3-vl:235b-instruct" Model__OllamaCloud__Rnj__1__8b ModelID = "rnj-1:8b" Model__OpenAI__ChatGPT__Image__Latest ModelID = "chatgpt-image-latest" Model__OpenAI__GPT__3_5__Turbo ModelID = "gpt-3.5-turbo" Model__OpenAI__GPT__4 ModelID = "gpt-4" Model__OpenAI__GPT__4_1 ModelID = "gpt-4.1" Model__OpenAI__GPT__4__1__Mini__4_1 ModelID = "gpt-4.1-mini" Model__OpenAI__GPT__4__1__Nano__4_1 ModelID = "gpt-4.1-nano" Model__OpenAI__GPT__4__Turbo ModelID = "gpt-4-turbo" Model__OpenAI__GPT__4o ModelID = "gpt-4o" Model__OpenAI__GPT__4o__20240513 ModelID = "gpt-4o-2024-05-13" Model__OpenAI__GPT__4o__20240806 ModelID = "gpt-4o-2024-08-06" Model__OpenAI__GPT__4o__20241120 ModelID = "gpt-4o-2024-11-20" Model__OpenAI__GPT__4o__Mini ModelID = "gpt-4o-mini" Model__OpenAI__GPT__5 ModelID = "gpt-5" Model__OpenAI__GPT__5_1 ModelID = "gpt-5.1" Model__OpenAI__GPT__5_1__ChatLatest ModelID = "gpt-5.1-chat-latest" Model__OpenAI__GPT__5_2 ModelID = "gpt-5.2" Model__OpenAI__GPT__5_2__ChatLatest ModelID = "gpt-5.2-chat-latest" Model__OpenAI__GPT__5_3__ChatLatest ModelID = "gpt-5.3-chat-latest" Model__OpenAI__GPT__5_4 ModelID = "gpt-5.4" Model__OpenAI__GPT__5_5 ModelID = "gpt-5.5" Model__OpenAI__GPT__5_6 ModelID = "gpt-5.6" Model__OpenAI__GPT__5__1__Codex__5_1 ModelID = "gpt-5.1-codex" Model__OpenAI__GPT__5__1__Codex__Max__5_1 ModelID = "gpt-5.1-codex-max" Model__OpenAI__GPT__5__1__Codex__Mini__5_1 ModelID = "gpt-5.1-codex-mini" Model__OpenAI__GPT__5__2__Codex__5_2 ModelID = "gpt-5.2-codex" Model__OpenAI__GPT__5__2__Pro__5_2 ModelID = "gpt-5.2-pro" Model__OpenAI__GPT__5__3__Codex__5_3 ModelID = "gpt-5.3-codex" Model__OpenAI__GPT__5__3__Codex__Spark__5_3 ModelID = "gpt-5.3-codex-spark" Model__OpenAI__GPT__5__4__Mini__5_4 ModelID = "gpt-5.4-mini" Model__OpenAI__GPT__5__4__Nano__5_4 ModelID = "gpt-5.4-nano" Model__OpenAI__GPT__5__4__Pro__5_4 ModelID = "gpt-5.4-pro" Model__OpenAI__GPT__5__5__Pro__5_5 ModelID = "gpt-5.5-pro" Model__OpenAI__GPT__5__6__Luna__5_6 ModelID = "gpt-5.6-luna" Model__OpenAI__GPT__5__6__Sol__5_6 ModelID = "gpt-5.6-sol" Model__OpenAI__GPT__5__6__Terra__5_6 ModelID = "gpt-5.6-terra" Model__OpenAI__GPT__5__ChatLatest ModelID = "gpt-5-chat-latest" Model__OpenAI__GPT__5__Codex__5 ModelID = "gpt-5-codex" Model__OpenAI__GPT__5__Mini__5 ModelID = "gpt-5-mini" Model__OpenAI__GPT__5__Nano__5 ModelID = "gpt-5-nano" Model__OpenAI__GPT__5__Pro__5 ModelID = "gpt-5-pro" Model__OpenAI__GPT__Image__1 ModelID = "gpt-image-1" Model__OpenAI__GPT__Image__1_5 ModelID = "gpt-image-1.5" Model__OpenAI__GPT__Image__1__Mini ModelID = "gpt-image-1-mini" Model__OpenAI__GPT__Image__2 ModelID = "gpt-image-2" Model__OpenAI__GPT__Realtime__2_1__Realtime ModelID = "gpt-realtime-2.1" Model__OpenAI__O1__1 ModelID = "o1" Model__OpenAI__O1__1__Pro ModelID = "o1-pro" Model__OpenAI__O3__3 ModelID = "o3" Model__OpenAI__O3__3__Mini ModelID = "o3-mini" Model__OpenAI__O3__3__Pro ModelID = "o3-pro" Model__OpenAI__O3__Deep__Research__3__Deep_Research ModelID = "o3-deep-research" Model__OpenAI__O4__4__Mini ModelID = "o4-mini" Model__OpenAI__O4__Mini__Deep__Research__4__Mini ModelID = "o4-mini-deep-research" Model__OpenAI__Text__Embedding__3__Large__3 ModelID = "text-embedding-3-large" Model__OpenAI__Text__Embedding__3__Small__3 ModelID = "text-embedding-3-small" Model__OpenAI__Text__Embedding__Ada__002 ModelID = "text-embedding-ada-002" Model__OpenCodeGo__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__OpenCodeGo__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__OpenCodeGo__GLM__5 ModelID = "glm-5" Model__OpenCodeGo__GLM__5_1 ModelID = "glm-5.1" Model__OpenCodeGo__GLM__5_2 ModelID = "glm-5.2" Model__OpenCodeGo__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__OpenCodeGo__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__OpenCodeGo__Kimi__K2__7__2_7__Code ModelID = "kimi-k2.7-code" Model__OpenCodeGo__Mimo__V2__2__Omni ModelID = "mimo-v2-omni" Model__OpenCodeGo__Mimo__V2__2__Pro ModelID = "mimo-v2-pro" Model__OpenCodeGo__Mimo__V2__5__2_5 ModelID = "mimo-v2.5" Model__OpenCodeGo__Mimo__V2__5__2_5__Pro ModelID = "mimo-v2.5-pro" Model__OpenCodeGo__MiniMax__M2__5__2_5 ModelID = "minimax-m2.5" Model__OpenCodeGo__MiniMax__M2__7__2_7 ModelID = "minimax-m2.7" Model__OpenCodeGo__MiniMax__M3__3 ModelID = "minimax-m3" Model__OpenCodeGo__Qwen3__5__Plus__3_5 ModelID = "qwen3.5-plus" Model__OpenCodeGo__Qwen3__6__Plus__3_6 ModelID = "qwen3.6-plus" Model__OpenCodeGo__Qwen3__7__Max__3_7 ModelID = "qwen3.7-max" Model__OpenCodeGo__Qwen3__7__Plus__3_7 ModelID = "qwen3.7-plus" Model__OpenCode__Big__Pickle ModelID = "big-pickle" Model__OpenCode__Claude__3__5__Haiku__3_5 ModelID = "claude-3-5-haiku" Model__OpenCode__Claude__Fable__5 ModelID = "claude-fable-5" Model__OpenCode__Claude__Haiku__4_5 ModelID = "claude-haiku-4-5" Model__OpenCode__Claude__Opus__4_1 ModelID = "claude-opus-4-1" Model__OpenCode__Claude__Opus__4_5 ModelID = "claude-opus-4-5" Model__OpenCode__Claude__Opus__4_6 ModelID = "claude-opus-4-6" Model__OpenCode__Claude__Opus__4_7 ModelID = "claude-opus-4-7" Model__OpenCode__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__OpenCode__Claude__Sonnet__4 ModelID = "claude-sonnet-4" Model__OpenCode__Claude__Sonnet__4_5 ModelID = "claude-sonnet-4-5" Model__OpenCode__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__OpenCode__Claude__Sonnet__5 ModelID = "claude-sonnet-5" Model__OpenCode__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__OpenCode__DeepSeek__V4__Flash__Free ModelID = "deepseek-v4-flash-free" Model__OpenCode__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__OpenCode__GLM__4_6 ModelID = "glm-4.6" Model__OpenCode__GLM__4_7 ModelID = "glm-4.7" Model__OpenCode__GLM__4__7__Free__4_7 ModelID = "glm-4.7-free" Model__OpenCode__GLM__5 ModelID = "glm-5" Model__OpenCode__GLM__5_1 ModelID = "glm-5.1" Model__OpenCode__GLM__5_2 ModelID = "glm-5.2" Model__OpenCode__GLM__5__Free__5 ModelID = "glm-5-free" Model__OpenCode__GPT__5 ModelID = "gpt-5" Model__OpenCode__GPT__5_1 ModelID = "gpt-5.1" Model__OpenCode__GPT__5_2 ModelID = "gpt-5.2" Model__OpenCode__GPT__5_4 ModelID = "gpt-5.4" Model__OpenCode__GPT__5_5 ModelID = "gpt-5.5" Model__OpenCode__GPT__5__1__Codex__5_1 ModelID = "gpt-5.1-codex" Model__OpenCode__GPT__5__1__Codex__Max__5_1 ModelID = "gpt-5.1-codex-max" Model__OpenCode__GPT__5__1__Codex__Mini__5_1 ModelID = "gpt-5.1-codex-mini" Model__OpenCode__GPT__5__2__Codex__5_2 ModelID = "gpt-5.2-codex" Model__OpenCode__GPT__5__3__Codex__5_3 ModelID = "gpt-5.3-codex" Model__OpenCode__GPT__5__3__Codex__Spark__5_3 ModelID = "gpt-5.3-codex-spark" Model__OpenCode__GPT__5__4__Mini__5_4 ModelID = "gpt-5.4-mini" Model__OpenCode__GPT__5__4__Nano__5_4 ModelID = "gpt-5.4-nano" Model__OpenCode__GPT__5__4__Pro__5_4 ModelID = "gpt-5.4-pro" Model__OpenCode__GPT__5__5__Pro__5_5 ModelID = "gpt-5.5-pro" Model__OpenCode__GPT__5__6__Luna__5_6 ModelID = "gpt-5.6-luna" Model__OpenCode__GPT__5__6__Sol__5_6 ModelID = "gpt-5.6-sol" Model__OpenCode__GPT__5__6__Terra__5_6 ModelID = "gpt-5.6-terra" Model__OpenCode__GPT__5__Codex__5 ModelID = "gpt-5-codex" Model__OpenCode__GPT__5__Nano__5 ModelID = "gpt-5-nano" Model__OpenCode__Gemini__3__1__Pro__3_1 ModelID = "gemini-3.1-pro" Model__OpenCode__Gemini__3__5__Flash__3_5 ModelID = "gemini-3.5-flash" Model__OpenCode__Gemini__3__Flash__3 ModelID = "gemini-3-flash" Model__OpenCode__Gemini__3__Pro__3 ModelID = "gemini-3-pro" Model__OpenCode__Grok__4_5 ModelID = "grok-4.5" Model__OpenCode__Grok__Build__0_1 ModelID = "grok-build-0.1" Model__OpenCode__Grok__Code ModelID = "grok-code" Model__OpenCode__Hy3__Free__3 ModelID = "hy3-free" Model__OpenCode__Hy3__Preview__Free__3 ModelID = "hy3-preview-free" Model__OpenCode__Kimi__K2__2 ModelID = "kimi-k2" Model__OpenCode__Kimi__K2__2__Thinking ModelID = "kimi-k2-thinking" Model__OpenCode__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__OpenCode__Kimi__K2__5__Free ModelID = "kimi-k2.5-free" Model__OpenCode__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__OpenCode__Kimi__K2__7__2_7__Code ModelID = "kimi-k2.7-code" Model__OpenCode__Ling__2__6__Flash__Free__2_6 ModelID = "ling-2.6-flash-free" Model__OpenCode__Mimo__V2__5__Free ModelID = "mimo-v2.5-free" Model__OpenCode__Mimo__V2__Flash__Free ModelID = "mimo-v2-flash-free" Model__OpenCode__Mimo__V2__Omni__Free ModelID = "mimo-v2-omni-free" Model__OpenCode__Mimo__V2__Pro__Free ModelID = "mimo-v2-pro-free" Model__OpenCode__MiniMax__M2__1__2_1 ModelID = "minimax-m2.1" Model__OpenCode__MiniMax__M2__1__Free ModelID = "minimax-m2.1-free" Model__OpenCode__MiniMax__M2__5__2_5 ModelID = "minimax-m2.5" Model__OpenCode__MiniMax__M2__5__Free ModelID = "minimax-m2.5-free" Model__OpenCode__MiniMax__M2__7__2_7 ModelID = "minimax-m2.7" Model__OpenCode__MiniMax__M3__3 ModelID = "minimax-m3" Model__OpenCode__MiniMax__M3__Free ModelID = "minimax-m3-free" Model__OpenCode__Nemotron__3__Super__Free__3 ModelID = "nemotron-3-super-free" Model__OpenCode__Nemotron__3__Ultra__Free__3 ModelID = "nemotron-3-ultra-free" Model__OpenCode__North__Mini__Code__Free ModelID = "north-mini-code-free" Model__OpenCode__Qwen3__5__Plus__3_5 ModelID = "qwen3.5-plus" Model__OpenCode__Qwen3__6__Plus__3_6 ModelID = "qwen3.6-plus" Model__OpenCode__Qwen3__6__Plus__Free__3_6 ModelID = "qwen3.6-plus-free" Model__OpenCode__Qwen3__Coder__3 ModelID = "qwen3-coder" Model__OpenCode__Ring__2__6__1t__Free__2_6 ModelID = "ring-2.6-1t-free" Model__OpenCode__Trinity__Large__Preview__Free ModelID = "trinity-large-preview-free" Model__OpenRouter__Aion__2_0 ModelID = "aion-labs/aion-2.0" Model__OpenRouter__Aion__3_0 ModelID = "aion-labs/aion-3.0" Model__OpenRouter__Aion__3__0__Mini__3_0 ModelID = "aion-labs/aion-3.0-mini" Model__OpenRouter__Aion__Rp__Llama__3__1__8b ModelID = "aion-labs/aion-rp-llama-3.1-8b" Model__OpenRouter__Auto ModelID = "openrouter/auto" Model__OpenRouter__Bodybuilder ModelID = "openrouter/bodybuilder" Model__OpenRouter__Claude__3__Haiku__3 ModelID = "anthropic/claude-3-haiku" Model__OpenRouter__Claude__Fable__5 ModelID = "anthropic/claude-fable-5" Model__OpenRouter__Claude__Fable__Latest ModelID = "~anthropic/claude-fable-latest" Model__OpenRouter__Claude__Haiku__4_5 ModelID = "anthropic/claude-haiku-4.5" Model__OpenRouter__Claude__Haiku__Latest ModelID = "~anthropic/claude-haiku-latest" Model__OpenRouter__Claude__Opus__4 ModelID = "anthropic/claude-opus-4" Model__OpenRouter__Claude__Opus__4_1 ModelID = "anthropic/claude-opus-4.1" Model__OpenRouter__Claude__Opus__4_5 ModelID = "anthropic/claude-opus-4.5" Model__OpenRouter__Claude__Opus__4_6 ModelID = "anthropic/claude-opus-4.6" Model__OpenRouter__Claude__Opus__4_7 ModelID = "anthropic/claude-opus-4.7" Model__OpenRouter__Claude__Opus__4_7__Fast ModelID = "anthropic/claude-opus-4.7-fast" Model__OpenRouter__Claude__Opus__4_8 ModelID = "anthropic/claude-opus-4.8" Model__OpenRouter__Claude__Opus__4_8__Fast ModelID = "anthropic/claude-opus-4.8-fast" Model__OpenRouter__Claude__Opus__Latest ModelID = "~anthropic/claude-opus-latest" Model__OpenRouter__Claude__Sonnet__4 ModelID = "anthropic/claude-sonnet-4" Model__OpenRouter__Claude__Sonnet__4_5 ModelID = "anthropic/claude-sonnet-4.5" Model__OpenRouter__Claude__Sonnet__4_6 ModelID = "anthropic/claude-sonnet-4.6" Model__OpenRouter__Claude__Sonnet__5 ModelID = "anthropic/claude-sonnet-5" Model__OpenRouter__Claude__Sonnet__Latest ModelID = "~anthropic/claude-sonnet-latest" Model__OpenRouter__Coder__Large ModelID = "arcee-ai/coder-large" Model__OpenRouter__Codestral__2508 ModelID = "mistralai/codestral-2508" Model__OpenRouter__Cogito__V2__1__671b ModelID = "deepcogito/cogito-v2.1-671b" Model__OpenRouter__Command__A ModelID = "cohere/command-a" Model__OpenRouter__Command__R7b__12__20241202 ModelID = "cohere/command-r7b-12-2024" Model__OpenRouter__Command__R__20240830 ModelID = "cohere/command-r-08-2024" Model__OpenRouter__Command__R__Plus__20240830 ModelID = "cohere/command-r-plus-08-2024" Model__OpenRouter__Cydonia__24b__V4__1 ModelID = "thedrummer/cydonia-24b-v4.1" Model__OpenRouter__DeepSeek__Chat ModelID = "deepseek/deepseek-chat" Model__OpenRouter__DeepSeek__Chat__V3__0324 ModelID = "deepseek/deepseek-chat-v3-0324" Model__OpenRouter__DeepSeek__Chat__V3__1__3_1 ModelID = "deepseek/deepseek-chat-v3.1" Model__OpenRouter__DeepSeek__R1__0528 ModelID = "deepseek/deepseek-r1-0528" Model__OpenRouter__DeepSeek__R1__Distill__Llama__70b__Thinking ModelID = "deepseek/deepseek-r1-distill-llama-70b" Model__OpenRouter__DeepSeek__R1__Thinking ModelID = "deepseek/deepseek-r1" Model__OpenRouter__DeepSeek__V3__1__Terminus ModelID = "deepseek/deepseek-v3.1-terminus" Model__OpenRouter__DeepSeek__V3__2 ModelID = "deepseek/deepseek-v3.2" Model__OpenRouter__DeepSeek__V3__2__Exp ModelID = "deepseek/deepseek-v3.2-exp" Model__OpenRouter__DeepSeek__V4__Flash ModelID = "deepseek/deepseek-v4-flash" Model__OpenRouter__DeepSeek__V4__Pro__Thinking ModelID = "deepseek/deepseek-v4-pro" Model__OpenRouter__Devstral__2512 ModelID = "mistralai/devstral-2512" Model__OpenRouter__Dolphin__Mistral__24b__Venice__Edition ModelID = "cognitivecomputations/dolphin-mistral-24b-venice-edition" Model__OpenRouter__Dolphin__Mistral__24b__Venice__Edition__Free ModelID = "cognitivecomputations/dolphin-mistral-24b-venice-edition:free" Model__OpenRouter__Ernie__4__5__Vl__424b__A47b__4_5 ModelID = "baidu/ernie-4.5-vl-424b-a47b" Model__OpenRouter__Free ModelID = "openrouter/free" Model__OpenRouter__Fugu__Ultra ModelID = "sakana/fugu-ultra" Model__OpenRouter__Fusion ModelID = "openrouter/fusion" Model__OpenRouter__GLM__4_5 ModelID = "z-ai/glm-4.5" Model__OpenRouter__GLM__4_6 ModelID = "z-ai/glm-4.6" Model__OpenRouter__GLM__4_7 ModelID = "z-ai/glm-4.7" Model__OpenRouter__GLM__4__5__Air__4_5 ModelID = "z-ai/glm-4.5-air" Model__OpenRouter__GLM__4__5v__4_5 ModelID = "z-ai/glm-4.5v" Model__OpenRouter__GLM__4__6v__4_6 ModelID = "z-ai/glm-4.6v" Model__OpenRouter__GLM__4__7__Flash__4_7 ModelID = "z-ai/glm-4.7-flash" Model__OpenRouter__GLM__5 ModelID = "z-ai/glm-5" Model__OpenRouter__GLM__5_1 ModelID = "z-ai/glm-5.1" Model__OpenRouter__GLM__5_2 ModelID = "z-ai/glm-5.2" Model__OpenRouter__GLM__5__Turbo ModelID = "z-ai/glm-5-turbo" Model__OpenRouter__GLM__5v__5__Turbo ModelID = "z-ai/glm-5v-turbo" Model__OpenRouter__GPT__3_5__Turbo ModelID = "openai/gpt-3.5-turbo" Model__OpenRouter__GPT__3_5__TurboInstruct ModelID = "openai/gpt-3.5-turbo-instruct" Model__OpenRouter__GPT__3__5__Turbo__0613__3_5__Turbo ModelID = "openai/gpt-3.5-turbo-0613" Model__OpenRouter__GPT__3__5__Turbo__16k__3_5__Turbo ModelID = "openai/gpt-3.5-turbo-16k" Model__OpenRouter__GPT__4 ModelID = "openai/gpt-4" Model__OpenRouter__GPT__4_1 ModelID = "openai/gpt-4.1" Model__OpenRouter__GPT__4__1__Mini__4_1 ModelID = "openai/gpt-4.1-mini" Model__OpenRouter__GPT__4__1__Nano__4_1 ModelID = "openai/gpt-4.1-nano" Model__OpenRouter__GPT__4__Turbo ModelID = "openai/gpt-4-turbo" Model__OpenRouter__GPT__4__TurboPreview ModelID = "openai/gpt-4-turbo-preview" Model__OpenRouter__GPT__4o ModelID = "openai/gpt-4o" Model__OpenRouter__GPT__4o__20240513 ModelID = "openai/gpt-4o-2024-05-13" Model__OpenRouter__GPT__4o__20240806 ModelID = "openai/gpt-4o-2024-08-06" Model__OpenRouter__GPT__4o__20241120 ModelID = "openai/gpt-4o-2024-11-20" Model__OpenRouter__GPT__4o__Mini ModelID = "openai/gpt-4o-mini" Model__OpenRouter__GPT__4o__Mini__Mini__20240718 ModelID = "openai/gpt-4o-mini-2024-07-18" Model__OpenRouter__GPT__4o__Mini__Search__PreviewMini ModelID = "openai/gpt-4o-mini-search-preview" Model__OpenRouter__GPT__4o__Search__Preview ModelID = "openai/gpt-4o-search-preview" Model__OpenRouter__GPT__5 ModelID = "openai/gpt-5" Model__OpenRouter__GPT__5_1 ModelID = "openai/gpt-5.1" Model__OpenRouter__GPT__5_1__Chat ModelID = "openai/gpt-5.1-chat" Model__OpenRouter__GPT__5_2 ModelID = "openai/gpt-5.2" Model__OpenRouter__GPT__5_2__Chat ModelID = "openai/gpt-5.2-chat" Model__OpenRouter__GPT__5_3__Chat ModelID = "openai/gpt-5.3-chat" Model__OpenRouter__GPT__5_4 ModelID = "openai/gpt-5.4" Model__OpenRouter__GPT__5_5 ModelID = "openai/gpt-5.5" Model__OpenRouter__GPT__5__1__Codex__5_1 ModelID = "openai/gpt-5.1-codex" Model__OpenRouter__GPT__5__1__Codex__Max__5_1 ModelID = "openai/gpt-5.1-codex-max" Model__OpenRouter__GPT__5__1__Codex__Mini__5_1 ModelID = "openai/gpt-5.1-codex-mini" Model__OpenRouter__GPT__5__2__Codex__5_2 ModelID = "openai/gpt-5.2-codex" Model__OpenRouter__GPT__5__2__Pro__5_2 ModelID = "openai/gpt-5.2-pro" Model__OpenRouter__GPT__5__3__Codex__5_3 ModelID = "openai/gpt-5.3-codex" Model__OpenRouter__GPT__5__4__Image__2__5_4 ModelID = "openai/gpt-5.4-image-2" Model__OpenRouter__GPT__5__4__Mini__5_4 ModelID = "openai/gpt-5.4-mini" Model__OpenRouter__GPT__5__4__Nano__5_4 ModelID = "openai/gpt-5.4-nano" Model__OpenRouter__GPT__5__4__Pro__5_4 ModelID = "openai/gpt-5.4-pro" Model__OpenRouter__GPT__5__5__Pro__5_5 ModelID = "openai/gpt-5.5-pro" Model__OpenRouter__GPT__5__6__Luna__5_6 ModelID = "openai/gpt-5.6-luna" Model__OpenRouter__GPT__5__6__Luna__Pro__5_6 ModelID = "openai/gpt-5.6-luna-pro" Model__OpenRouter__GPT__5__6__Sol__5_6 ModelID = "openai/gpt-5.6-sol" Model__OpenRouter__GPT__5__6__Sol__Pro__5_6 ModelID = "openai/gpt-5.6-sol-pro" Model__OpenRouter__GPT__5__6__Terra__5_6 ModelID = "openai/gpt-5.6-terra" Model__OpenRouter__GPT__5__6__Terra__Pro__5_6 ModelID = "openai/gpt-5.6-terra-pro" Model__OpenRouter__GPT__5__Chat ModelID = "openai/gpt-5-chat" Model__OpenRouter__GPT__5__Codex__5 ModelID = "openai/gpt-5-codex" Model__OpenRouter__GPT__5__Image__5 ModelID = "openai/gpt-5-image" Model__OpenRouter__GPT__5__Image__Mini__5 ModelID = "openai/gpt-5-image-mini" Model__OpenRouter__GPT__5__Mini__5 ModelID = "openai/gpt-5-mini" Model__OpenRouter__GPT__5__Nano__5 ModelID = "openai/gpt-5-nano" Model__OpenRouter__GPT__5__Pro__5 ModelID = "openai/gpt-5-pro" Model__OpenRouter__GPT__Audio ModelID = "openai/gpt-audio" Model__OpenRouter__GPT__Audio__Mini ModelID = "openai/gpt-audio-mini" Model__OpenRouter__GPT__ChatLatest ModelID = "openai/gpt-chat-latest" Model__OpenRouter__GPT__Latest ModelID = "~openai/gpt-latest" Model__OpenRouter__GPT__Mini__Latest ModelID = "~openai/gpt-mini-latest" Model__OpenRouter__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__OpenRouter__GPT__Oss__120b__Free ModelID = "openai/gpt-oss-120b:free" Model__OpenRouter__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__OpenRouter__GPT__Oss__20b__Free ModelID = "openai/gpt-oss-20b:free" Model__OpenRouter__GPT__Oss__Safeguard__20b ModelID = "openai/gpt-oss-safeguard-20b" Model__OpenRouter__Gemini__2__5__Flash__2_5 ModelID = "google/gemini-2.5-flash" Model__OpenRouter__Gemini__2__5__Flash__Image__2_5 ModelID = "google/gemini-2.5-flash-image" Model__OpenRouter__Gemini__2__5__Flash__Lite__2_5 ModelID = "google/gemini-2.5-flash-lite" Model__OpenRouter__Gemini__2__5__Pro__2_5 ModelID = "google/gemini-2.5-pro" Model__OpenRouter__Gemini__2__5__Pro__2_5__Preview ModelID = "google/gemini-2.5-pro-preview" Model__OpenRouter__Gemini__2__5__Pro__Preview__05__06__2_5 ModelID = "google/gemini-2.5-pro-preview-05-06" Model__OpenRouter__Gemini__3__1__Flash__Image__3_1 ModelID = "google/gemini-3.1-flash-image" Model__OpenRouter__Gemini__3__1__Flash__Image__3_1__Preview ModelID = "google/gemini-3.1-flash-image-preview" Model__OpenRouter__Gemini__3__1__Flash__Lite__3_1 ModelID = "google/gemini-3.1-flash-lite" Model__OpenRouter__Gemini__3__1__Flash__Lite__3_1__Preview ModelID = "google/gemini-3.1-flash-lite-preview" Model__OpenRouter__Gemini__3__1__Flash__Lite__Image__3_1 ModelID = "google/gemini-3.1-flash-lite-image" Model__OpenRouter__Gemini__3__1__Pro__3_1__Preview ModelID = "google/gemini-3.1-pro-preview" Model__OpenRouter__Gemini__3__1__Pro__Preview__Customtools__3_1 ModelID = "google/gemini-3.1-pro-preview-customtools" Model__OpenRouter__Gemini__3__5__Flash__3_5 ModelID = "google/gemini-3.5-flash" Model__OpenRouter__Gemini__3__Flash__3__Preview ModelID = "google/gemini-3-flash-preview" Model__OpenRouter__Gemini__3__Pro__Image__3 ModelID = "google/gemini-3-pro-image" Model__OpenRouter__Gemini__3__Pro__Image__3__Preview ModelID = "google/gemini-3-pro-image-preview" Model__OpenRouter__Gemini__Flash__Latest ModelID = "~google/gemini-flash-latest" Model__OpenRouter__Gemini__Pro__Latest ModelID = "~google/gemini-pro-latest" Model__OpenRouter__Gemma__2__27b__It__2 ModelID = "google/gemma-2-27b-it" Model__OpenRouter__Gemma__3__12b__It__3 ModelID = "google/gemma-3-12b-it" Model__OpenRouter__Gemma__3__27b__It__3 ModelID = "google/gemma-3-27b-it" Model__OpenRouter__Gemma__3__4b__It__3 ModelID = "google/gemma-3-4b-it" Model__OpenRouter__Gemma__3n__E4b__It ModelID = "google/gemma-3n-e4b-it" Model__OpenRouter__Gemma__4__26b__A4b__It__4 ModelID = "google/gemma-4-26b-a4b-it" Model__OpenRouter__Gemma__4__26b__A4b__It__Free__4 ModelID = "google/gemma-4-26b-a4b-it:free" Model__OpenRouter__Gemma__4__31b__It__4 ModelID = "google/gemma-4-31b-it" Model__OpenRouter__Gemma__4__31b__It__Free__4 ModelID = "google/gemma-4-31b-it:free" Model__OpenRouter__Granite__4__0__H__Micro__4_0 ModelID = "ibm-granite/granite-4.0-h-micro" Model__OpenRouter__Granite__4__1__8b__4_1 ModelID = "ibm-granite/granite-4.1-8b" Model__OpenRouter__Grok__4_20 ModelID = "x-ai/grok-4.20" Model__OpenRouter__Grok__4_3 ModelID = "x-ai/grok-4.3" Model__OpenRouter__Grok__4_5 ModelID = "x-ai/grok-4.5" Model__OpenRouter__Grok__4__20__Multi__Agent__4_20 ModelID = "x-ai/grok-4.20-multi-agent" Model__OpenRouter__Grok__Build__0_1 ModelID = "x-ai/grok-build-0.1" Model__OpenRouter__Grok__Latest ModelID = "~x-ai/grok-latest" Model__OpenRouter__Hermes__3__Llama__3__1__405b__3 ModelID = "nousresearch/hermes-3-llama-3.1-405b" Model__OpenRouter__Hermes__3__Llama__3__1__405b__Free__3 ModelID = "nousresearch/hermes-3-llama-3.1-405b:free" Model__OpenRouter__Hermes__3__Llama__3__1__70b__3 ModelID = "nousresearch/hermes-3-llama-3.1-70b" Model__OpenRouter__Hermes__4__405b__4 ModelID = "nousresearch/hermes-4-405b" Model__OpenRouter__Hermes__4__70b__4 ModelID = "nousresearch/hermes-4-70b" Model__OpenRouter__Hunyuan__A13b__Instruct ModelID = "tencent/hunyuan-a13b-instruct" Model__OpenRouter__Hy3__3 ModelID = "tencent/hy3" Model__OpenRouter__Hy3__3__Preview ModelID = "tencent/hy3-preview" Model__OpenRouter__Hy3__Free__3 ModelID = "tencent/hy3:free" Model__OpenRouter__Inflection__3__Pi__3 ModelID = "inflection/inflection-3-pi" Model__OpenRouter__Inflection__3__Productivity__3 ModelID = "inflection/inflection-3-productivity" Model__OpenRouter__Jamba__Large__1_7 ModelID = "ai21/jamba-large-1.7" Model__OpenRouter__Kat__Coder__Pro__V2 ModelID = "kwaipilot/kat-coder-pro-v2" Model__OpenRouter__Kimi__K2__0905__2 ModelID = "moonshotai/kimi-k2-0905" Model__OpenRouter__Kimi__K2__2 ModelID = "moonshotai/kimi-k2" Model__OpenRouter__Kimi__K2__2__Thinking ModelID = "moonshotai/kimi-k2-thinking" Model__OpenRouter__Kimi__K2__5__2_5 ModelID = "moonshotai/kimi-k2.5" Model__OpenRouter__Kimi__K2__6__2_6 ModelID = "moonshotai/kimi-k2.6" Model__OpenRouter__Kimi__K2__7__2_7__Code ModelID = "moonshotai/kimi-k2.7-code" Model__OpenRouter__Kimi__Latest ModelID = "~moonshotai/kimi-latest" Model__OpenRouter__L3__1__70b__Hanami__X1 ModelID = "sao10k/l3.1-70b-hanami-x1" Model__OpenRouter__L3__1__Euryale__70b ModelID = "sao10k/l3.1-euryale-70b" Model__OpenRouter__L3__3__Euryale__70b ModelID = "sao10k/l3.3-euryale-70b" Model__OpenRouter__L3__Lunaris__8b ModelID = "sao10k/l3-lunaris-8b" Model__OpenRouter__Laguna__M__1 ModelID = "poolside/laguna-m.1" Model__OpenRouter__Laguna__M__1__Free__1 ModelID = "poolside/laguna-m.1:free" Model__OpenRouter__Laguna__Xs__2_1 ModelID = "poolside/laguna-xs-2.1" Model__OpenRouter__Laguna__Xs__2__1__Free__2_1 ModelID = "poolside/laguna-xs-2.1:free" Model__OpenRouter__Lfm__2__5__1__2b__Instruct__Free__2_5__Instruct ModelID = "liquid/lfm-2.5-1.2b-instruct:free" Model__OpenRouter__Lfm__2__5__1__2b__Thinking__Free__2_5__Thinking ModelID = "liquid/lfm-2.5-1.2b-thinking:free" Model__OpenRouter__Ling__2__6__1t__2_6 ModelID = "inclusionai/ling-2.6-1t" Model__OpenRouter__Ling__2__6__Flash__2_6 ModelID = "inclusionai/ling-2.6-flash" Model__OpenRouter__Llama__3__1__70b__3_1__Instruct ModelID = "meta-llama/llama-3.1-70b-instruct" Model__OpenRouter__Llama__3__1__8b__3_1__Instruct ModelID = "meta-llama/llama-3.1-8b-instruct" Model__OpenRouter__Llama__3__2__11b__3_2__VisionInstruct ModelID = "meta-llama/llama-3.2-11b-vision-instruct" Model__OpenRouter__Llama__3__2__1b__3_2__Instruct ModelID = "meta-llama/llama-3.2-1b-instruct" Model__OpenRouter__Llama__3__2__3b__3_2__Instruct ModelID = "meta-llama/llama-3.2-3b-instruct" Model__OpenRouter__Llama__3__2__3b__Instruct__Free__3_2__Instruct ModelID = "meta-llama/llama-3.2-3b-instruct:free" Model__OpenRouter__Llama__3__3__70b__3_3__Instruct ModelID = "meta-llama/llama-3.3-70b-instruct" Model__OpenRouter__Llama__3__3__70b__Instruct__Free__3_3__Instruct ModelID = "meta-llama/llama-3.3-70b-instruct:free" Model__OpenRouter__Llama__3__3__Nemotron__Super__49b__V1__5__3_3 ModelID = "nvidia/llama-3.3-nemotron-super-49b-v1.5" Model__OpenRouter__Llama__4__Maverick__4 ModelID = "meta-llama/llama-4-maverick" Model__OpenRouter__Llama__4__Scout__4 ModelID = "meta-llama/llama-4-scout" Model__OpenRouter__Llama__Guard__4__12b__4 ModelID = "meta-llama/llama-guard-4-12b" Model__OpenRouter__Lyria__3__Clip__3__Preview ModelID = "google/lyria-3-clip-preview" Model__OpenRouter__Lyria__3__Pro__3__Preview ModelID = "google/lyria-3-pro-preview" Model__OpenRouter__Magnum__V4__72b ModelID = "anthracite-org/magnum-v4-72b" Model__OpenRouter__Mercury__2 ModelID = "inception/mercury-2" Model__OpenRouter__Mimo__V2__5__2_5 ModelID = "xiaomi/mimo-v2.5" Model__OpenRouter__Mimo__V2__5__2_5__Pro ModelID = "xiaomi/mimo-v2.5-pro" Model__OpenRouter__MiniMax__01 ModelID = "minimax/minimax-01" Model__OpenRouter__MiniMax__M1__1 ModelID = "minimax/minimax-m1" Model__OpenRouter__MiniMax__M2__1__2_1 ModelID = "minimax/minimax-m2.1" Model__OpenRouter__MiniMax__M2__2 ModelID = "minimax/minimax-m2" Model__OpenRouter__MiniMax__M2__5__2_5 ModelID = "minimax/minimax-m2.5" Model__OpenRouter__MiniMax__M2__7__2_7 ModelID = "minimax/minimax-m2.7" Model__OpenRouter__MiniMax__M2__Her ModelID = "minimax/minimax-m2-her" Model__OpenRouter__MiniMax__M3__3 ModelID = "minimax/minimax-m3" Model__OpenRouter__Ministral__14b__2512 ModelID = "mistralai/ministral-14b-2512" Model__OpenRouter__Ministral__3b__2512 ModelID = "mistralai/ministral-3b-2512" Model__OpenRouter__Ministral__8b__2512 ModelID = "mistralai/ministral-8b-2512" Model__OpenRouter__Mistral__Large ModelID = "mistralai/mistral-large" Model__OpenRouter__Mistral__Large__2407 ModelID = "mistralai/mistral-large-2407" Model__OpenRouter__Mistral__Large__2512 ModelID = "mistralai/mistral-large-2512" Model__OpenRouter__Mistral__Medium__3 ModelID = "mistralai/mistral-medium-3" Model__OpenRouter__Mistral__Medium__3_1 ModelID = "mistralai/mistral-medium-3.1" Model__OpenRouter__Mistral__Medium__3_5 ModelID = "mistralai/mistral-medium-3-5" Model__OpenRouter__Mistral__Nemo ModelID = "mistralai/mistral-nemo" Model__OpenRouter__Mistral__Saba ModelID = "mistralai/mistral-saba" Model__OpenRouter__Mistral__Small__24b__Instruct__2501__Instruct ModelID = "mistralai/mistral-small-24b-instruct-2501" Model__OpenRouter__Mistral__Small__2603 ModelID = "mistralai/mistral-small-2603" Model__OpenRouter__Mistral__Small__3__1__24b__3_1__Instruct ModelID = "mistralai/mistral-small-3.1-24b-instruct" Model__OpenRouter__Mistral__Small__3__2__24b__3_2__Instruct ModelID = "mistralai/mistral-small-3.2-24b-instruct" Model__OpenRouter__Mixtral__8x22b__Instruct ModelID = "mistralai/mixtral-8x22b-instruct" Model__OpenRouter__Morph__V3__Fast ModelID = "morph/morph-v3-fast" Model__OpenRouter__Morph__V3__Large ModelID = "morph/morph-v3-large" Model__OpenRouter__Mythomax__L2__13b ModelID = "gryphe/mythomax-l2-13b" Model__OpenRouter__Nemotron__3__5__Content__Safety__Free__3_5 ModelID = "nvidia/nemotron-3.5-content-safety:free" Model__OpenRouter__Nemotron__3__Nano__30b__A3b__3 ModelID = "nvidia/nemotron-3-nano-30b-a3b" Model__OpenRouter__Nemotron__3__Nano__30b__A3b__Free__3 ModelID = "nvidia/nemotron-3-nano-30b-a3b:free" Model__OpenRouter__Nemotron__3__Nano__Omni__30b__A3b__Reasoning__Free__3__ReasoningOmni ModelID = "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free" Model__OpenRouter__Nemotron__3__Super__120b__A12b__3 ModelID = "nvidia/nemotron-3-super-120b-a12b" Model__OpenRouter__Nemotron__3__Super__120b__A12b__Free__3 ModelID = "nvidia/nemotron-3-super-120b-a12b:free" Model__OpenRouter__Nemotron__3__Ultra__550b__A55b__3 ModelID = "nvidia/nemotron-3-ultra-550b-a55b" Model__OpenRouter__Nemotron__3__Ultra__550b__A55b__Free__3 ModelID = "nvidia/nemotron-3-ultra-550b-a55b:free" Model__OpenRouter__Nemotron__Nano__12b__V2__Vl__Free ModelID = "nvidia/nemotron-nano-12b-v2-vl:free" Model__OpenRouter__Nemotron__Nano__9b__V2__Free ModelID = "nvidia/nemotron-nano-9b-v2:free" Model__OpenRouter__Nex__N2__Mini ModelID = "nex-agi/nex-n2-mini" Model__OpenRouter__Nex__N2__Pro ModelID = "nex-agi/nex-n2-pro" Model__OpenRouter__North__Mini__Code__Free__Code ModelID = "cohere/north-mini-code:free" Model__OpenRouter__Nova__2__Lite__V1__2 ModelID = "amazon/nova-2-lite-v1" Model__OpenRouter__Nova__Lite__V1 ModelID = "amazon/nova-lite-v1" Model__OpenRouter__Nova__Micro__V1 ModelID = "amazon/nova-micro-v1" Model__OpenRouter__Nova__Premier__V1 ModelID = "amazon/nova-premier-v1" Model__OpenRouter__Nova__Pro__V1 ModelID = "amazon/nova-pro-v1" Model__OpenRouter__O1__1 ModelID = "openai/o1" Model__OpenRouter__O1__1__Pro ModelID = "openai/o1-pro" Model__OpenRouter__O3__3 ModelID = "openai/o3" Model__OpenRouter__O3__3__Mini ModelID = "openai/o3-mini" Model__OpenRouter__O3__3__Pro ModelID = "openai/o3-pro" Model__OpenRouter__O3__Deep__Research__3__Deep_Research ModelID = "openai/o3-deep-research" Model__OpenRouter__O3__Mini__High__3__Mini ModelID = "openai/o3-mini-high" Model__OpenRouter__O4__4__Mini ModelID = "openai/o4-mini" Model__OpenRouter__O4__Mini__Deep__Research__4__Mini ModelID = "openai/o4-mini-deep-research" Model__OpenRouter__O4__Mini__High__4__Mini ModelID = "openai/o4-mini-high" Model__OpenRouter__OLMo__3__32b__3__Think ModelID = "allenai/olmo-3-32b-think" Model__OpenRouter__Palmyra__X5 ModelID = "writer/palmyra-x5" Model__OpenRouter__Pareto__Code ModelID = "openrouter/pareto-code" Model__OpenRouter__Perceptron__Mk1 ModelID = "perceptron/perceptron-mk1" Model__OpenRouter__Phi__4 ModelID = "microsoft/phi-4" Model__OpenRouter__Qwen2__5__Vl__72b__2_5__Instruct ModelID = "qwen/qwen2.5-vl-72b-instruct" Model__OpenRouter__Qwen3__14b__3 ModelID = "qwen/qwen3-14b" Model__OpenRouter__Qwen3__235b__A22b__2507__3 ModelID = "qwen/qwen3-235b-a22b-2507" Model__OpenRouter__Qwen3__235b__A22b__3 ModelID = "qwen/qwen3-235b-a22b" Model__OpenRouter__Qwen3__235b__A22b__Thinking__2507__3__Thinking ModelID = "qwen/qwen3-235b-a22b-thinking-2507" Model__OpenRouter__Qwen3__30b__A3b__3 ModelID = "qwen/qwen3-30b-a3b" Model__OpenRouter__Qwen3__30b__A3b__Instruct__2507__3__Instruct ModelID = "qwen/qwen3-30b-a3b-instruct-2507" Model__OpenRouter__Qwen3__30b__A3b__Thinking__2507__3__Thinking ModelID = "qwen/qwen3-30b-a3b-thinking-2507" Model__OpenRouter__Qwen3__32b__3 ModelID = "qwen/qwen3-32b" Model__OpenRouter__Qwen3__5__122b__A10b__3_5 ModelID = "qwen/qwen3.5-122b-a10b" Model__OpenRouter__Qwen3__5__27b__3_5 ModelID = "qwen/qwen3.5-27b" Model__OpenRouter__Qwen3__5__35b__A3b__3_5 ModelID = "qwen/qwen3.5-35b-a3b" Model__OpenRouter__Qwen3__5__397b__A17b__3_5 ModelID = "qwen/qwen3.5-397b-a17b" Model__OpenRouter__Qwen3__5__9b__3_5 ModelID = "qwen/qwen3.5-9b" Model__OpenRouter__Qwen3__5__Flash__02__23__3_5 ModelID = "qwen/qwen3.5-flash-02-23" Model__OpenRouter__Qwen3__5__Plus__02__15__3_5 ModelID = "qwen/qwen3.5-plus-02-15" Model__OpenRouter__Qwen3__5__Plus__3_5__20260420 ModelID = "qwen/qwen3.5-plus-20260420" Model__OpenRouter__Qwen3__6__27b__3_6 ModelID = "qwen/qwen3.6-27b" Model__OpenRouter__Qwen3__6__35b__A3b__3_6 ModelID = "qwen/qwen3.6-35b-a3b" Model__OpenRouter__Qwen3__6__Flash__3_6 ModelID = "qwen/qwen3.6-flash" Model__OpenRouter__Qwen3__6__Max__3_6__Preview ModelID = "qwen/qwen3.6-max-preview" Model__OpenRouter__Qwen3__6__Plus__3_6 ModelID = "qwen/qwen3.6-plus" Model__OpenRouter__Qwen3__7__Max__3_7 ModelID = "qwen/qwen3.7-max" Model__OpenRouter__Qwen3__7__Plus__3_7 ModelID = "qwen/qwen3.7-plus" Model__OpenRouter__Qwen3__8b__3 ModelID = "qwen/qwen3-8b" Model__OpenRouter__Qwen3__Coder__3 ModelID = "qwen/qwen3-coder" Model__OpenRouter__Qwen3__Coder__30b__A3b__3__Instruct ModelID = "qwen/qwen3-coder-30b-a3b-instruct" Model__OpenRouter__Qwen3__Coder__Flash__3 ModelID = "qwen/qwen3-coder-flash" Model__OpenRouter__Qwen3__Coder__Free__3 ModelID = "qwen/qwen3-coder:free" Model__OpenRouter__Qwen3__Coder__Next__3 ModelID = "qwen/qwen3-coder-next" Model__OpenRouter__Qwen3__Coder__Plus__3 ModelID = "qwen/qwen3-coder-plus" Model__OpenRouter__Qwen3__Max__3 ModelID = "qwen/qwen3-max" Model__OpenRouter__Qwen3__Max__3__Thinking ModelID = "qwen/qwen3-max-thinking" Model__OpenRouter__Qwen3__Next__80b__A3b__3__Instruct ModelID = "qwen/qwen3-next-80b-a3b-instruct" Model__OpenRouter__Qwen3__Next__80b__A3b__3__Thinking ModelID = "qwen/qwen3-next-80b-a3b-thinking" Model__OpenRouter__Qwen3__Next__80b__A3b__Instruct__Free__3__Instruct ModelID = "qwen/qwen3-next-80b-a3b-instruct:free" Model__OpenRouter__Qwen3__Vl__235b__A22b__3__Instruct ModelID = "qwen/qwen3-vl-235b-a22b-instruct" Model__OpenRouter__Qwen3__Vl__235b__A22b__3__Thinking ModelID = "qwen/qwen3-vl-235b-a22b-thinking" Model__OpenRouter__Qwen3__Vl__30b__A3b__3__Instruct ModelID = "qwen/qwen3-vl-30b-a3b-instruct" Model__OpenRouter__Qwen3__Vl__30b__A3b__3__Thinking ModelID = "qwen/qwen3-vl-30b-a3b-thinking" Model__OpenRouter__Qwen3__Vl__32b__3__Instruct ModelID = "qwen/qwen3-vl-32b-instruct" Model__OpenRouter__Qwen3__Vl__8b__3__Instruct ModelID = "qwen/qwen3-vl-8b-instruct" Model__OpenRouter__Qwen3__Vl__8b__3__Thinking ModelID = "qwen/qwen3-vl-8b-thinking" Model__OpenRouter__Qwen__2__5__72b__2_5__Instruct ModelID = "qwen/qwen-2.5-72b-instruct" Model__OpenRouter__Qwen__2__5__7b__2_5__Instruct ModelID = "qwen/qwen-2.5-7b-instruct" Model__OpenRouter__Qwen__2__5__Coder__32b__2_5__Instruct ModelID = "qwen/qwen-2.5-coder-32b-instruct" Model__OpenRouter__Qwen__Plus ModelID = "qwen/qwen-plus" Model__OpenRouter__Qwen__Plus__20250728 ModelID = "qwen/qwen-plus-2025-07-28" Model__OpenRouter__Qwen__Plus__2025__07__28__Thinking ModelID = "qwen/qwen-plus-2025-07-28:thinking" Model__OpenRouter__Reka__Edge ModelID = "rekaai/reka-edge" Model__OpenRouter__Reka__Flash__3 ModelID = "rekaai/reka-flash-3" Model__OpenRouter__Relace__Apply__3 ModelID = "relace/relace-apply-3" Model__OpenRouter__Relace__Search ModelID = "relace/relace-search" Model__OpenRouter__Remm__Slerp__L2__13b ModelID = "undi95/remm-slerp-l2-13b" Model__OpenRouter__Ring__2__6__1t__2_6 ModelID = "inclusionai/ring-2.6-1t" Model__OpenRouter__Rocinante__12b ModelID = "thedrummer/rocinante-12b" Model__OpenRouter__Seed__1_6 ModelID = "bytedance-seed/seed-1.6" Model__OpenRouter__Seed__1__6__Flash__1_6 ModelID = "bytedance-seed/seed-1.6-flash" Model__OpenRouter__Seed__2__0__Lite__2_0 ModelID = "bytedance-seed/seed-2.0-lite" Model__OpenRouter__Seed__2__0__Mini__2_0 ModelID = "bytedance-seed/seed-2.0-mini" Model__OpenRouter__Skyfall__36b__V2 ModelID = "thedrummer/skyfall-36b-v2" Model__OpenRouter__Solar__Pro__3 ModelID = "upstage/solar-pro-3" Model__OpenRouter__Sonar ModelID = "perplexity/sonar" Model__OpenRouter__Sonar__Deep__Research ModelID = "perplexity/sonar-deep-research" Model__OpenRouter__Sonar__Pro ModelID = "perplexity/sonar-pro" Model__OpenRouter__Sonar__Pro__Search ModelID = "perplexity/sonar-pro-search" Model__OpenRouter__Sonar__Reasoning__Pro ModelID = "perplexity/sonar-reasoning-pro" Model__OpenRouter__Step__3__5__Flash__3_5 ModelID = "stepfun/step-3.5-flash" Model__OpenRouter__Step__3__7__Flash__3_7 ModelID = "stepfun/step-3.7-flash" Model__OpenRouter__Trinity__Large__Thinking ModelID = "arcee-ai/trinity-large-thinking" Model__OpenRouter__Ui__Tars__1__5__7b ModelID = "bytedance/ui-tars-1.5-7b" Model__OpenRouter__Unslopnemo__12b ModelID = "thedrummer/unslopnemo-12b" Model__OpenRouter__Virtuoso__Large ModelID = "arcee-ai/virtuoso-large" Model__OpenRouter__Voxtral__Small__24b__2507 ModelID = "mistralai/voxtral-small-24b-2507" Model__OpenRouter__Weaver ModelID = "mancer/weaver" Model__OpenRouter__WizardLM__2__8x22b__2 ModelID = "microsoft/wizardlm-2-8x22b" Model__OrcaRouter__Auto ModelID = "orcarouter/auto" Model__OrcaRouter__Claude__Haiku__4_5 ModelID = "anthropic/claude-haiku-4.5" Model__OrcaRouter__Claude__Opus__4 ModelID = "anthropic/claude-opus-4" Model__OrcaRouter__Claude__Opus__4_1 ModelID = "anthropic/claude-opus-4.1" Model__OrcaRouter__Claude__Opus__4_5 ModelID = "anthropic/claude-opus-4.5" Model__OrcaRouter__Claude__Opus__4_6 ModelID = "anthropic/claude-opus-4.6" Model__OrcaRouter__Claude__Opus__4_7 ModelID = "anthropic/claude-opus-4.7" Model__OrcaRouter__Claude__Sonnet__4 ModelID = "anthropic/claude-sonnet-4" Model__OrcaRouter__Claude__Sonnet__4_5 ModelID = "anthropic/claude-sonnet-4.5" Model__OrcaRouter__Claude__Sonnet__4_6 ModelID = "anthropic/claude-sonnet-4.6" Model__OrcaRouter__DeepSeek__Chat ModelID = "deepseek/deepseek-chat" Model__OrcaRouter__DeepSeek__Reasoner__Thinking ModelID = "deepseek/deepseek-reasoner" Model__OrcaRouter__DeepSeek__V4__Flash ModelID = "deepseek/deepseek-v4-flash" Model__OrcaRouter__DeepSeek__V4__Pro__Thinking ModelID = "deepseek/deepseek-v4-pro" Model__OrcaRouter__GLM__4_5 ModelID = "z-ai/glm-4.5" Model__OrcaRouter__GLM__4_6 ModelID = "z-ai/glm-4.6" Model__OrcaRouter__GLM__4_7 ModelID = "z-ai/glm-4.7" Model__OrcaRouter__GLM__4__5__Air__4_5 ModelID = "z-ai/glm-4.5-air" Model__OrcaRouter__GLM__5 ModelID = "z-ai/glm-5" Model__OrcaRouter__GLM__5_1 ModelID = "z-ai/glm-5.1" Model__OrcaRouter__GPT__3_5__Turbo ModelID = "openai/gpt-3.5-turbo" Model__OrcaRouter__GPT__4 ModelID = "openai/gpt-4" Model__OrcaRouter__GPT__4_1 ModelID = "openai/gpt-4.1" Model__OrcaRouter__GPT__4__1__Mini__4_1 ModelID = "openai/gpt-4.1-mini" Model__OrcaRouter__GPT__4__1__Nano__4_1 ModelID = "openai/gpt-4.1-nano" Model__OrcaRouter__GPT__4__Turbo ModelID = "openai/gpt-4-turbo" Model__OrcaRouter__GPT__4o ModelID = "openai/gpt-4o" Model__OrcaRouter__GPT__4o__20240513 ModelID = "openai/gpt-4o-2024-05-13" Model__OrcaRouter__GPT__4o__20240806 ModelID = "openai/gpt-4o-2024-08-06" Model__OrcaRouter__GPT__4o__20241120 ModelID = "openai/gpt-4o-2024-11-20" Model__OrcaRouter__GPT__4o__Mini ModelID = "openai/gpt-4o-mini" Model__OrcaRouter__GPT__5 ModelID = "openai/gpt-5" Model__OrcaRouter__GPT__5_1 ModelID = "openai/gpt-5.1" Model__OrcaRouter__GPT__5_1__ChatLatest ModelID = "openai/gpt-5.1-chat-latest" Model__OrcaRouter__GPT__5_2 ModelID = "openai/gpt-5.2" Model__OrcaRouter__GPT__5_2__ChatLatest ModelID = "openai/gpt-5.2-chat-latest" Model__OrcaRouter__GPT__5_3__ChatLatest ModelID = "openai/gpt-5.3-chat-latest" Model__OrcaRouter__GPT__5_4 ModelID = "openai/gpt-5.4" Model__OrcaRouter__GPT__5_5 ModelID = "openai/gpt-5.5" Model__OrcaRouter__GPT__5__1__Codex__5_1 ModelID = "openai/gpt-5.1-codex" Model__OrcaRouter__GPT__5__1__Codex__Max__5_1 ModelID = "openai/gpt-5.1-codex-max" Model__OrcaRouter__GPT__5__1__Codex__Mini__5_1 ModelID = "openai/gpt-5.1-codex-mini" Model__OrcaRouter__GPT__5__2__Codex__5_2 ModelID = "openai/gpt-5.2-codex" Model__OrcaRouter__GPT__5__2__Pro__5_2 ModelID = "openai/gpt-5.2-pro" Model__OrcaRouter__GPT__5__3__Codex__5_3 ModelID = "openai/gpt-5.3-codex" Model__OrcaRouter__GPT__5__4__Mini__5_4 ModelID = "openai/gpt-5.4-mini" Model__OrcaRouter__GPT__5__4__Nano__5_4 ModelID = "openai/gpt-5.4-nano" Model__OrcaRouter__GPT__5__4__Pro__5_4 ModelID = "openai/gpt-5.4-pro" Model__OrcaRouter__GPT__5__5__Pro__5_5 ModelID = "openai/gpt-5.5-pro" Model__OrcaRouter__GPT__5__ChatLatest ModelID = "openai/gpt-5-chat-latest" Model__OrcaRouter__GPT__5__Codex__5 ModelID = "openai/gpt-5-codex" Model__OrcaRouter__GPT__5__Mini__5 ModelID = "openai/gpt-5-mini" Model__OrcaRouter__GPT__5__Nano__5 ModelID = "openai/gpt-5-nano" Model__OrcaRouter__GPT__5__Pro__5 ModelID = "openai/gpt-5-pro" Model__OrcaRouter__Gemini__2__5__Flash__2_5 ModelID = "google/gemini-2.5-flash" Model__OrcaRouter__Gemini__2__5__Flash__Lite__2_5 ModelID = "google/gemini-2.5-flash-lite" Model__OrcaRouter__Gemini__2__5__Pro__2_5 ModelID = "google/gemini-2.5-pro" Model__OrcaRouter__Gemini__3__1__Flash__Lite__3_1__Preview ModelID = "google/gemini-3.1-flash-lite-preview" Model__OrcaRouter__Gemini__3__1__Pro__3_1__Preview ModelID = "google/gemini-3.1-pro-preview" Model__OrcaRouter__Gemini__3__1__Pro__Preview__Customtools__3_1 ModelID = "google/gemini-3.1-pro-preview-customtools" Model__OrcaRouter__Gemini__3__Flash__3__Preview ModelID = "google/gemini-3-flash-preview" Model__OrcaRouter__Gemini__3__Pro__3__Preview ModelID = "google/gemini-3-pro-preview" Model__OrcaRouter__Gemini__Flash__Latest ModelID = "google/gemini-flash-latest" Model__OrcaRouter__Gemini__Flash__Lite__Latest ModelID = "google/gemini-flash-lite-latest" Model__OrcaRouter__Gemma__4__26b__A4b__It__4 ModelID = "google/gemma-4-26b-a4b-it" Model__OrcaRouter__Gemma__4__31b__It__4 ModelID = "google/gemma-4-31b-it" Model__OrcaRouter__Grok__4_3 ModelID = "grok/grok-4.3" Model__OrcaRouter__Kimi__K2__5__2_5 ModelID = "kimi/kimi-k2.5" Model__OrcaRouter__Kimi__K2__6__2_6 ModelID = "kimi/kimi-k2.6" Model__OrcaRouter__MiniMax__M2__5__2_5 ModelID = "minimax/minimax-m2.5" Model__OrcaRouter__MiniMax__M2__5__2_5__Highspeed ModelID = "minimax/minimax-m2.5-highspeed" Model__OrcaRouter__MiniMax__M2__7__2_7 ModelID = "minimax/minimax-m2.7" Model__OrcaRouter__MiniMax__M2__7__2_7__Highspeed ModelID = "minimax/minimax-m2.7-highspeed" Model__OrcaRouter__Qwen3__5__122b__A10b__3_5 ModelID = "qwen/qwen3.5-122b-a10b" Model__OrcaRouter__Qwen3__5__27b__3_5 ModelID = "qwen/qwen3.5-27b" Model__OrcaRouter__Qwen3__5__35b__A3b__3_5 ModelID = "qwen/qwen3.5-35b-a3b" Model__OrcaRouter__Qwen3__5__397b__A17b__3_5 ModelID = "qwen/qwen3.5-397b-a17b" Model__OrcaRouter__Qwen3__5__Plus__3_5 ModelID = "qwen/qwen3.5-plus" Model__OrcaRouter__Qwen3__6__35b__A3b__3_6 ModelID = "qwen/qwen3.6-35b-a3b" Model__OrcaRouter__Qwen3__6__Plus__3_6 ModelID = "qwen/qwen3.6-plus" Model__OrcaRouter__Qwen3__Max__3 ModelID = "qwen/qwen3-max" Model__PerplexityAgent__Claude__Haiku__4_5 ModelID = "anthropic/claude-haiku-4-5" Model__PerplexityAgent__Claude__Opus__4_5 ModelID = "anthropic/claude-opus-4-5" Model__PerplexityAgent__Claude__Opus__4_6 ModelID = "anthropic/claude-opus-4-6" Model__PerplexityAgent__Claude__Opus__4_7 ModelID = "anthropic/claude-opus-4-7" Model__PerplexityAgent__Claude__Sonnet__4_5 ModelID = "anthropic/claude-sonnet-4-5" Model__PerplexityAgent__Claude__Sonnet__4_6 ModelID = "anthropic/claude-sonnet-4-6" Model__PerplexityAgent__GPT__5_1 ModelID = "openai/gpt-5.1" Model__PerplexityAgent__GPT__5_2 ModelID = "openai/gpt-5.2" Model__PerplexityAgent__GPT__5_4 ModelID = "openai/gpt-5.4" Model__PerplexityAgent__GPT__5_5 ModelID = "openai/gpt-5.5" Model__PerplexityAgent__GPT__5__Mini__5 ModelID = "openai/gpt-5-mini" Model__PerplexityAgent__Gemini__2__5__Flash__2_5 ModelID = "google/gemini-2.5-flash" Model__PerplexityAgent__Gemini__2__5__Pro__2_5 ModelID = "google/gemini-2.5-pro" Model__PerplexityAgent__Gemini__3__1__Pro__3_1__Preview ModelID = "google/gemini-3.1-pro-preview" Model__PerplexityAgent__Gemini__3__Flash__3__Preview ModelID = "google/gemini-3-flash-preview" Model__PerplexityAgent__Grok__4__1__Fast__Non__Reasoning__4_1__Non_Reasoning ModelID = "xai/grok-4-1-fast-non-reasoning" Model__PerplexityAgent__Nemotron__3__Super__120b__A12b__3 ModelID = "nvidia/nemotron-3-super-120b-a12b" Model__PerplexityAgent__Sonar ModelID = "perplexity/sonar" Model__Perplexity__Sonar ModelID = "sonar" Model__Perplexity__Sonar__Deep__Research ModelID = "sonar-deep-research" Model__Perplexity__Sonar__Pro ModelID = "sonar-pro" Model__Perplexity__Sonar__Reasoning__Pro ModelID = "sonar-reasoning-pro" Model__Pioneer__Auto ModelID = "pioneer/auto" Model__Pioneer__Claude__Haiku__4_5 ModelID = "claude-haiku-4-5" Model__Pioneer__Claude__Opus__4_1 ModelID = "claude-opus-4-1" Model__Pioneer__Claude__Opus__4_5 ModelID = "claude-opus-4-5" Model__Pioneer__Claude__Opus__4_6 ModelID = "claude-opus-4-6" Model__Pioneer__Claude__Opus__4_7 ModelID = "claude-opus-4-7" Model__Pioneer__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__Pioneer__Claude__Sonnet__4_5 ModelID = "claude-sonnet-4-5" Model__Pioneer__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__Pioneer__DeepSeek__V4__Flash ModelID = "deepseek-ai/DeepSeek-V4-Flash" Model__Pioneer__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-ai/DeepSeek-V4-Pro" Model__Pioneer__Diffusiongemma__26B__A4b__It ModelID = "google/diffusiongemma-26B-A4B-it" Model__Pioneer__Fugu__Ultra ModelID = "sakana/fugu-ultra" Model__Pioneer__GLM__5_1 ModelID = "zai-org/GLM-5.1" Model__Pioneer__GLM__5_2 ModelID = "zai-org/GLM-5.2" Model__Pioneer__GPT__4_1 ModelID = "gpt-4.1" Model__Pioneer__GPT__4__1__Mini__4_1 ModelID = "gpt-4.1-mini" Model__Pioneer__GPT__4__1__Nano__4_1 ModelID = "gpt-4.1-nano" Model__Pioneer__GPT__4o ModelID = "gpt-4o" Model__Pioneer__GPT__4o__Mini ModelID = "gpt-4o-mini" Model__Pioneer__GPT__5_1 ModelID = "gpt-5.1" Model__Pioneer__GPT__5_4 ModelID = "gpt-5.4" Model__Pioneer__GPT__5_5 ModelID = "gpt-5.5" Model__Pioneer__GPT__5__3__Codex__5_3 ModelID = "gpt-5.3-codex" Model__Pioneer__GPT__5__4__Mini__5_4 ModelID = "gpt-5.4-mini" Model__Pioneer__GPT__5__4__Nano__5_4 ModelID = "gpt-5.4-nano" Model__Pioneer__GPT__5__Mini__5 ModelID = "gpt-5-mini" Model__Pioneer__GPT__5__Nano__5 ModelID = "gpt-5-nano" Model__Pioneer__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__Pioneer__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__Pioneer__Gemini__3__1__Pro__3_1 ModelID = "gemini-3.1-pro" Model__Pioneer__Gemini__3__5__Flash__3_5 ModelID = "gemini-3.5-flash" Model__Pioneer__Gemini__3__Flash__3 ModelID = "gemini-3-flash" Model__Pioneer__Gemma__3__4b__Pt__3 ModelID = "google/gemma-3-4b-pt" Model__Pioneer__Gemma__4__12B__It__4 ModelID = "google/gemma-4-12B-it" Model__Pioneer__Gemma__4__31B__It__4 ModelID = "google/gemma-4-31B-it" Model__Pioneer__Gemma__4__E2b__It__4 ModelID = "google/gemma-4-E2B-it" Model__Pioneer__Gemma__4__E4b__It__4 ModelID = "google/gemma-4-E4B-it" Model__Pioneer__Gliguard__Llmguardrails__300M ModelID = "fastino/gliguard-LLMGuardrails-300M" Model__Pioneer__Gliner2__Base__V1__Base ModelID = "fastino/gliner2-base-v1" Model__Pioneer__Gliner2__Large__V1 ModelID = "fastino/gliner2-large-v1" Model__Pioneer__Gliner2__Multi__Large__V1 ModelID = "fastino/gliner2-multi-large-v1" Model__Pioneer__Gliner2__Multi__V1 ModelID = "fastino/gliner2-multi-v1" Model__Pioneer__Gliner2__Privacy__Filter__Pii__Multi ModelID = "fastino/gliner2-privacy-filter-PII-multi" Model__Pioneer__Kimi__K2__6__2_6 ModelID = "moonshotai/Kimi-K2.6" Model__Pioneer__Kimi__K2__7__2_7__Code ModelID = "moonshotai/Kimi-K2.7-Code" Model__Pioneer__Lfm2__24B__A2b ModelID = "LiquidAI/LFM2-24B-A2B" Model__Pioneer__Llama__3__1__8B__3_1__Instruct ModelID = "meta-llama/Llama-3.1-8B-Instruct" Model__Pioneer__Llama__3__2__1B__3_2__Instruct ModelID = "meta-llama/Llama-3.2-1B-Instruct" Model__Pioneer__Llama__3__2__3B__3_2__Instruct ModelID = "meta-llama/Llama-3.2-3B-Instruct" Model__Pioneer__Llama__3__3__70B__3_3__Instruct ModelID = "meta-llama/Llama-3.3-70B-Instruct" Model__Pioneer__Mimo__V2__5__2_5 ModelID = "XiaomiMiMo/MiMo-V2.5" Model__Pioneer__Mimo__V2__5__2_5__Pro ModelID = "XiaomiMiMo/MiMo-V2.5-Pro" Model__Pioneer__MiniMax__M2__7__2_7 ModelID = "MiniMaxAI/MiniMax-M2.7" Model__Pioneer__MiniMax__M3__3 ModelID = "MiniMaxAI/MiniMax-M3" Model__Pioneer__Mistral__7B__Instruct__V0__3__0_3__Instruct ModelID = "mistralai/Mistral-7B-Instruct-v0.3" Model__Pioneer__Mistral__Medium__3_5 ModelID = "mistral-medium-3.5" Model__Pioneer__Mistral__Nemo__Instruct__2407__Instruct ModelID = "mistralai/Mistral-Nemo-Instruct-2407" Model__Pioneer__Mistral__Small__4__119B__2603 ModelID = "mistralai/Mistral-Small-4-119B-2603" Model__Pioneer__Nvidia__Nemotron__3__Nano__30B__A3b__Bf16 ModelID = "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16" Model__Pioneer__Nvidia__Nemotron__3__Super__120B__A12b__Fp8 ModelID = "nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8" Model__Pioneer__Nvidia__Nemotron__3__Ultra__550B__A55b__Bf16 ModelID = "nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-BF16" Model__Pioneer__Qwen3__1__7B__3__Base ModelID = "Qwen/Qwen3-1.7B-Base" Model__Pioneer__Qwen3__32B__3 ModelID = "Qwen/Qwen3-32B" Model__Pioneer__Qwen3__4B__3__Base ModelID = "Qwen/Qwen3-4B-Base" Model__Pioneer__Qwen3__4B__Instruct__2507__3__Instruct ModelID = "Qwen/Qwen3-4B-Instruct-2507" Model__Pioneer__Qwen3__5__9B__3_5 ModelID = "Qwen/Qwen3.5-9B" Model__Pioneer__Qwen3__6__27B__3_6 ModelID = "Qwen/Qwen3.6-27B" Model__Pioneer__Qwen3__6__35B__A3b__3_6 ModelID = "Qwen/Qwen3.6-35B-A3B" Model__Pioneer__Qwen3__6__Flash__3_6 ModelID = "qwen3.6-flash" Model__Pioneer__Qwen3__6__Max__3_6__Preview ModelID = "qwen3.6-max-preview" Model__Pioneer__Qwen3__6__Plus__3_6 ModelID = "qwen3.6-plus" Model__Pioneer__Qwen3__7__Max__3_7 ModelID = "qwen3.7-max" Model__Pioneer__Qwen3__7__Plus__3_7 ModelID = "qwen3.7-plus" Model__Pioneer__Qwen3__8B__3 ModelID = "Qwen/Qwen3-8B" Model__Pioneer__Smollm3__3B__Base ModelID = "HuggingFaceTB/SmolLM3-3B-Base" Model__Poe__ChatGPT__4o__Latest ModelID = "openai/chatgpt-4o-latest" Model__Poe__Claude__Code ModelID = "poetools/claude-code" Model__Poe__Claude__Haiku__3 ModelID = "anthropic/claude-haiku-3" Model__Poe__Claude__Haiku__3_5 ModelID = "anthropic/claude-haiku-3.5" Model__Poe__Claude__Haiku__4_5 ModelID = "anthropic/claude-haiku-4.5" Model__Poe__Claude__Opus__4 ModelID = "anthropic/claude-opus-4" Model__Poe__Claude__Opus__4_1 ModelID = "anthropic/claude-opus-4.1" Model__Poe__Claude__Opus__4_5 ModelID = "anthropic/claude-opus-4.5" Model__Poe__Claude__Opus__4_6 ModelID = "anthropic/claude-opus-4.6" Model__Poe__Claude__Opus__4_7 ModelID = "anthropic/claude-opus-4.7" Model__Poe__Claude__Opus__4_8 ModelID = "anthropic/claude-opus-4.8" Model__Poe__Claude__Sonnet__3_5 ModelID = "anthropic/claude-sonnet-3.5" Model__Poe__Claude__Sonnet__3_7 ModelID = "anthropic/claude-sonnet-3.7" Model__Poe__Claude__Sonnet__3__5__June__3_5 ModelID = "anthropic/claude-sonnet-3.5-june" Model__Poe__Claude__Sonnet__4 ModelID = "anthropic/claude-sonnet-4" Model__Poe__Claude__Sonnet__4_5 ModelID = "anthropic/claude-sonnet-4.5" Model__Poe__Claude__Sonnet__4_6 ModelID = "anthropic/claude-sonnet-4.6" Model__Poe__Dall__E__3 ModelID = "openai/dall-e-3" Model__Poe__DeepSeek__V3__2 ModelID = "novita/deepseek-v3.2" Model__Poe__DeepSeek__V4__Flash__El ModelID = "empiriolabs/deepseek-v4-flash-el" Model__Poe__DeepSeek__V4__Pro__El ModelID = "empiriolabs/deepseek-v4-pro-el" Model__Poe__Elevenlabs__Music ModelID = "elevenlabs/elevenlabs-music" Model__Poe__Elevenlabs__V2__5__Turbo ModelID = "elevenlabs/elevenlabs-v2.5-turbo" Model__Poe__Elevenlabs__V3 ModelID = "elevenlabs/elevenlabs-v3" Model__Poe__GLM__4_6 ModelID = "novita/glm-4.6" Model__Poe__GLM__4_7 ModelID = "novita/glm-4.7" Model__Poe__GLM__4__6v__4_6 ModelID = "novita/glm-4.6v" Model__Poe__GLM__4__7__Flash__4_7 ModelID = "novita/glm-4.7-flash" Model__Poe__GLM__4__7__N__4_7 ModelID = "novita/glm-4.7-n" Model__Poe__GLM__5 ModelID = "novita/glm-5" Model__Poe__GPT__3_5__Turbo ModelID = "openai/gpt-3.5-turbo" Model__Poe__GPT__3_5__TurboInstruct ModelID = "openai/gpt-3.5-turbo-instruct" Model__Poe__GPT__3__5__Turbo__Raw__3_5__Turbo ModelID = "openai/gpt-3.5-turbo-raw" Model__Poe__GPT__4_1 ModelID = "openai/gpt-4.1" Model__Poe__GPT__4__1__Mini__4_1 ModelID = "openai/gpt-4.1-mini" Model__Poe__GPT__4__1__Nano__4_1 ModelID = "openai/gpt-4.1-nano" Model__Poe__GPT__4__Classic__0314__4 ModelID = "openai/gpt-4-classic-0314" Model__Poe__GPT__4__Classic__4 ModelID = "openai/gpt-4-classic" Model__Poe__GPT__4__Turbo ModelID = "openai/gpt-4-turbo" Model__Poe__GPT__4o ModelID = "openai/gpt-4o" Model__Poe__GPT__4o__Aug ModelID = "openai/gpt-4o-aug" Model__Poe__GPT__4o__Mini ModelID = "openai/gpt-4o-mini" Model__Poe__GPT__4o__Mini__Search__Mini ModelID = "openai/gpt-4o-mini-search" Model__Poe__GPT__4o__Search ModelID = "openai/gpt-4o-search" Model__Poe__GPT__5 ModelID = "openai/gpt-5" Model__Poe__GPT__5_1 ModelID = "openai/gpt-5.1" Model__Poe__GPT__5_2 ModelID = "openai/gpt-5.2" Model__Poe__GPT__5_4 ModelID = "openai/gpt-5.4" Model__Poe__GPT__5_5 ModelID = "openai/gpt-5.5" Model__Poe__GPT__5__1__Codex__5_1 ModelID = "openai/gpt-5.1-codex" Model__Poe__GPT__5__1__Codex__Max__5_1 ModelID = "openai/gpt-5.1-codex-max" Model__Poe__GPT__5__1__Codex__Mini__5_1 ModelID = "openai/gpt-5.1-codex-mini" Model__Poe__GPT__5__1__Instant__5_1 ModelID = "openai/gpt-5.1-instant" Model__Poe__GPT__5__2__Codex__5_2 ModelID = "openai/gpt-5.2-codex" Model__Poe__GPT__5__2__Instant__5_2 ModelID = "openai/gpt-5.2-instant" Model__Poe__GPT__5__2__Pro__5_2 ModelID = "openai/gpt-5.2-pro" Model__Poe__GPT__5__3__Codex__5_3 ModelID = "openai/gpt-5.3-codex" Model__Poe__GPT__5__3__Codex__Spark__5_3 ModelID = "openai/gpt-5.3-codex-spark" Model__Poe__GPT__5__3__Instant__5_3 ModelID = "openai/gpt-5.3-instant" Model__Poe__GPT__5__4__Mini__5_4 ModelID = "openai/gpt-5.4-mini" Model__Poe__GPT__5__4__Nano__5_4 ModelID = "openai/gpt-5.4-nano" Model__Poe__GPT__5__4__Pro__5_4 ModelID = "openai/gpt-5.4-pro" Model__Poe__GPT__5__5__Pro__5_5 ModelID = "openai/gpt-5.5-pro" Model__Poe__GPT__5__Chat ModelID = "openai/gpt-5-chat" Model__Poe__GPT__5__Codex__5 ModelID = "openai/gpt-5-codex" Model__Poe__GPT__5__Mini__5 ModelID = "openai/gpt-5-mini" Model__Poe__GPT__5__Nano__5 ModelID = "openai/gpt-5-nano" Model__Poe__GPT__5__Pro__5 ModelID = "openai/gpt-5-pro" Model__Poe__GPT__Image__1 ModelID = "openai/gpt-image-1" Model__Poe__GPT__Image__1_5 ModelID = "openai/gpt-image-1.5" Model__Poe__GPT__Image__1__Mini ModelID = "openai/gpt-image-1-mini" Model__Poe__GPT__Image__2 ModelID = "openai/gpt-image-2" Model__Poe__GPT__Oss__120b__Cs ModelID = "cerebras/gpt-oss-120b-cs" Model__Poe__Gemini__2__0__Flash__2_0 ModelID = "google/gemini-2.0-flash" Model__Poe__Gemini__2__0__Flash__Lite__2_0 ModelID = "google/gemini-2.0-flash-lite" Model__Poe__Gemini__2__5__Flash__2_5 ModelID = "google/gemini-2.5-flash" Model__Poe__Gemini__2__5__Flash__Lite__2_5 ModelID = "google/gemini-2.5-flash-lite" Model__Poe__Gemini__2__5__Pro__2_5 ModelID = "google/gemini-2.5-pro" Model__Poe__Gemini__3__1__Flash__Lite__3_1 ModelID = "google/gemini-3.1-flash-lite" Model__Poe__Gemini__3__1__Pro__3_1 ModelID = "google/gemini-3.1-pro" Model__Poe__Gemini__3__5__Flash__3_5 ModelID = "google/gemini-3.5-flash" Model__Poe__Gemini__3__Flash__3 ModelID = "google/gemini-3-flash" Model__Poe__Gemini__3__Pro__3 ModelID = "google/gemini-3-pro" Model__Poe__Gemini__Deep__Research ModelID = "google/gemini-deep-research" Model__Poe__Gemma__4__31b__4 ModelID = "google/gemma-4-31b" Model__Poe__Grok__3 ModelID = "xai/grok-3" Model__Poe__Grok__3__Mini__3 ModelID = "xai/grok-3-mini" Model__Poe__Grok__4 ModelID = "xai/grok-4" Model__Poe__Grok__4_1__ReasoningFast ModelID = "xai/grok-4.1-fast-reasoning" Model__Poe__Grok__4__1__Fast__Non__Reasoning__4_1__Non_Reasoning ModelID = "xai/grok-4.1-fast-non-reasoning" Model__Poe__Grok__4__20__Multi__Agent__4_20 ModelID = "xai/grok-4.20-multi-agent" Model__Poe__Grok__4__Fast__Non__Reasoning__4__Non_Reasoning ModelID = "xai/grok-4-fast-non-reasoning" Model__Poe__Grok__4__ReasoningFast ModelID = "xai/grok-4-fast-reasoning" Model__Poe__Grok__Code__Fast__1 ModelID = "xai/grok-code-fast-1" Model__Poe__Ideogram ModelID = "ideogramai/ideogram" Model__Poe__Ideogram__V2 ModelID = "ideogramai/ideogram-v2" Model__Poe__Ideogram__V2a ModelID = "ideogramai/ideogram-v2a" Model__Poe__Ideogram__V2a__Turbo ModelID = "ideogramai/ideogram-v2a-turbo" Model__Poe__Imagen__3 ModelID = "google/imagen-3" Model__Poe__Imagen__3__Fast ModelID = "google/imagen-3-fast" Model__Poe__Imagen__4 ModelID = "google/imagen-4" Model__Poe__Imagen__4__Fast ModelID = "google/imagen-4-fast" Model__Poe__Imagen__4__Ultra__4 ModelID = "google/imagen-4-ultra" Model__Poe__Kimi__K2__2__Thinking ModelID = "novita/kimi-k2-thinking" Model__Poe__Kimi__K2__5__2_5 ModelID = "novita/kimi-k2.5" Model__Poe__Kimi__K2__5__Fw ModelID = "fireworks-ai/kimi-k2.5-fw" Model__Poe__Kimi__K2__6__2_6 ModelID = "novita/kimi-k2.6" Model__Poe__Llama__3__1__8b__Cs__3_1 ModelID = "cerebras/llama-3.1-8b-cs" Model__Poe__Llama__3__3__70b__Cs__3_3 ModelID = "cerebras/llama-3.3-70b-cs" Model__Poe__Lyria ModelID = "google/lyria" Model__Poe__MiniMax__M2__1__2_1 ModelID = "novita/minimax-m2.1" Model__Poe__Nano__Banana ModelID = "google/nano-banana" Model__Poe__Nano__Banana__Pro ModelID = "google/nano-banana-pro" Model__Poe__O1__1 ModelID = "openai/o1" Model__Poe__O1__1__Pro ModelID = "openai/o1-pro" Model__Poe__O3__3 ModelID = "openai/o3" Model__Poe__O3__3__Mini ModelID = "openai/o3-mini" Model__Poe__O3__3__Pro ModelID = "openai/o3-pro" Model__Poe__O3__Deep__Research__3__Deep_Research ModelID = "openai/o3-deep-research" Model__Poe__O3__Mini__High__3__Mini ModelID = "openai/o3-mini-high" Model__Poe__O4__4__Mini ModelID = "openai/o4-mini" Model__Poe__O4__Mini__Deep__Research__4__Mini ModelID = "openai/o4-mini-deep-research" Model__Poe__Qwen3__235b__2507__Cs__3 ModelID = "cerebras/qwen3-235b-2507-cs" Model__Poe__Qwen3__32b__Cs__3 ModelID = "cerebras/qwen3-32b-cs" Model__Poe__Ray2 ModelID = "lumalabs/ray2" Model__Poe__Runway ModelID = "runwayml/runway" Model__Poe__Runway__Gen__4__Turbo ModelID = "runwayml/runway-gen-4-turbo" Model__Poe__Sora__2 ModelID = "openai/sora-2" Model__Poe__Sora__2__Pro__2 ModelID = "openai/sora-2-pro" Model__Poe__Stablediffusionxl ModelID = "stabilityai/stablediffusionxl" Model__Poe__Tako ModelID = "trytako/tako" Model__Poe__Topazlabs ModelID = "topazlabs-co/topazlabs" Model__Poe__Veo__2 ModelID = "google/veo-2" Model__Poe__Veo__3 ModelID = "google/veo-3" Model__Poe__Veo__3_1 ModelID = "google/veo-3.1" Model__Poe__Veo__3_1__Fast ModelID = "google/veo-3.1-fast" Model__Poe__Veo__3__Fast ModelID = "google/veo-3-fast" Model__Poolside__Laguna__M__1 ModelID = "poolside/laguna-m.1" Model__Poolside__Laguna__Xs__2 ModelID = "poolside/laguna-xs.2" Model__Poolside__Laguna__Xs__2_1 ModelID = "poolside/laguna-xs-2.1" Model__PrivatemodeAI__GPT__Oss__120b ModelID = "gpt-oss-120b" Model__PrivatemodeAI__Gemma__3__27b__3 ModelID = "gemma-3-27b" Model__PrivatemodeAI__Qwen3__Coder__30b__A3b__3 ModelID = "qwen3-coder-30b-a3b" Model__PrivatemodeAI__Qwen3__Embedding__4b__3 ModelID = "qwen3-embedding-4b" Model__PrivatemodeAI__Whisper__Large__V3__3 ModelID = "whisper-large-v3" Model__QiHangAI__Claude__Haiku__4_5__20251001 ModelID = "claude-haiku-4-5-20251001" Model__QiHangAI__Claude__Opus__4_5__20251101 ModelID = "claude-opus-4-5-20251101" Model__QiHangAI__Claude__Sonnet__4_5__20250929 ModelID = "claude-sonnet-4-5-20250929" Model__QiHangAI__GPT__5_2 ModelID = "gpt-5.2" Model__QiHangAI__GPT__5__2__Codex__5_2 ModelID = "gpt-5.2-codex" Model__QiHangAI__GPT__5__Mini__5 ModelID = "gpt-5-mini" Model__QiHangAI__Gemini__2__5__Flash__2_5 ModelID = "gemini-2.5-flash" Model__QiHangAI__Gemini__3__Flash__3__Preview ModelID = "gemini-3-flash-preview" Model__QiHangAI__Gemini__3__Pro__3__Preview ModelID = "gemini-3-pro-preview" Model__QiniuAI__Autoglm__Phone__9b ModelID = "z-ai/autoglm-phone-9b" Model__QiniuAI__Claude__3__5__Haiku__3_5 ModelID = "claude-3.5-haiku" Model__QiniuAI__Claude__3__5__Sonnet__3_5 ModelID = "claude-3.5-sonnet" Model__QiniuAI__Claude__3__7__Sonnet__3_7 ModelID = "claude-3.7-sonnet" Model__QiniuAI__Claude__4__0__Opus__4_0 ModelID = "claude-4.0-opus" Model__QiniuAI__Claude__4__0__Sonnet__4_0 ModelID = "claude-4.0-sonnet" Model__QiniuAI__Claude__4__1__Opus__4_1 ModelID = "claude-4.1-opus" Model__QiniuAI__Claude__4__5__Haiku__4_5 ModelID = "claude-4.5-haiku" Model__QiniuAI__Claude__4__5__Opus__4_5 ModelID = "claude-4.5-opus" Model__QiniuAI__Claude__4__5__Sonnet__4_5 ModelID = "claude-4.5-sonnet" Model__QiniuAI__DeepSeek__Math__V2 ModelID = "deepseek/deepseek-math-v2" Model__QiniuAI__DeepSeek__R1 ModelID = "deepseek-r1" Model__QiniuAI__DeepSeek__R1__0528 ModelID = "deepseek-r1-0528" Model__QiniuAI__DeepSeek__V3 ModelID = "deepseek-v3" Model__QiniuAI__DeepSeek__V3__0324 ModelID = "deepseek-v3-0324" Model__QiniuAI__DeepSeek__V3__1 ModelID = "deepseek-v3.1" Model__QiniuAI__DeepSeek__V3__1__Terminus ModelID = "deepseek/deepseek-v3.1-terminus" Model__QiniuAI__DeepSeek__V3__1__Terminus__Thinking ModelID = "deepseek/deepseek-v3.1-terminus-thinking" Model__QiniuAI__DeepSeek__V3__2__251201 ModelID = "deepseek/deepseek-v3.2-251201" Model__QiniuAI__DeepSeek__V3__2__Exp ModelID = "deepseek/deepseek-v3.2-exp" Model__QiniuAI__DeepSeek__V3__2__Exp__Thinking ModelID = "deepseek/deepseek-v3.2-exp-thinking" Model__QiniuAI__Doubao__1__5__Pro__32k__1_5 ModelID = "doubao-1.5-pro-32k" Model__QiniuAI__Doubao__1__5__Thinking__Pro__1_5 ModelID = "doubao-1.5-thinking-pro" Model__QiniuAI__Doubao__1__5__Vision__Pro__1_5 ModelID = "doubao-1.5-vision-pro" Model__QiniuAI__Doubao__Seed__1_6 ModelID = "doubao-seed-1.6" Model__QiniuAI__Doubao__Seed__1_6__Thinking ModelID = "doubao-seed-1.6-thinking" Model__QiniuAI__Doubao__Seed__1__6__Flash__1_6 ModelID = "doubao-seed-1.6-flash" Model__QiniuAI__Doubao__Seed__2_0__Code ModelID = "doubao-seed-2.0-code" Model__QiniuAI__Doubao__Seed__2__0__Lite__2_0 ModelID = "doubao-seed-2.0-lite" Model__QiniuAI__Doubao__Seed__2__0__Mini__2_0 ModelID = "doubao-seed-2.0-mini" Model__QiniuAI__Doubao__Seed__2__0__Pro__2_0 ModelID = "doubao-seed-2.0-pro" Model__QiniuAI__GLM__4_5 ModelID = "glm-4.5" Model__QiniuAI__GLM__4_6 ModelID = "z-ai/glm-4.6" Model__QiniuAI__GLM__4_7 ModelID = "z-ai/glm-4.7" Model__QiniuAI__GLM__4__5__Air__4_5 ModelID = "glm-4.5-air" Model__QiniuAI__GLM__5 ModelID = "z-ai/glm-5" Model__QiniuAI__GPT__5 ModelID = "openai/gpt-5" Model__QiniuAI__GPT__5_2 ModelID = "openai/gpt-5.2" Model__QiniuAI__GPT__Oss__120b ModelID = "gpt-oss-120b" Model__QiniuAI__GPT__Oss__20b ModelID = "gpt-oss-20b" Model__QiniuAI__Gelab__Zero__4b__Preview ModelID = "stepfun-ai/gelab-zero-4b-preview" Model__QiniuAI__Gemini__2__0__Flash__2_0 ModelID = "gemini-2.0-flash" Model__QiniuAI__Gemini__2__0__Flash__Lite__2_0 ModelID = "gemini-2.0-flash-lite" Model__QiniuAI__Gemini__2__5__Flash__2_5 ModelID = "gemini-2.5-flash" Model__QiniuAI__Gemini__2__5__Flash__Image__2_5 ModelID = "gemini-2.5-flash-image" Model__QiniuAI__Gemini__2__5__Flash__Lite__2_5 ModelID = "gemini-2.5-flash-lite" Model__QiniuAI__Gemini__2__5__Pro__2_5 ModelID = "gemini-2.5-pro" Model__QiniuAI__Gemini__3__0__Flash__3_0__Preview ModelID = "gemini-3.0-flash-preview" Model__QiniuAI__Gemini__3__0__Pro__3_0__Preview ModelID = "gemini-3.0-pro-preview" Model__QiniuAI__Gemini__3__0__Pro__Image__3_0__Preview ModelID = "gemini-3.0-pro-image-preview" Model__QiniuAI__Grok__4_1__Fast ModelID = "x-ai/grok-4.1-fast" Model__QiniuAI__Grok__4_1__ReasoningFast ModelID = "x-ai/grok-4.1-fast-reasoning" Model__QiniuAI__Grok__4__1__Fast__Non__Reasoning__4_1__Non_Reasoning ModelID = "x-ai/grok-4.1-fast-non-reasoning" Model__QiniuAI__Grok__4__Fast ModelID = "x-ai/grok-4-fast" Model__QiniuAI__Grok__4__Fast__Non__Reasoning__4__Non_Reasoning ModelID = "x-ai/grok-4-fast-non-reasoning" Model__QiniuAI__Grok__4__ReasoningFast ModelID = "x-ai/grok-4-fast-reasoning" Model__QiniuAI__Grok__Code__Fast__1 ModelID = "x-ai/grok-code-fast-1" Model__QiniuAI__Kimi__K2__0905__2 ModelID = "moonshotai/kimi-k2-0905" Model__QiniuAI__Kimi__K2__2 ModelID = "kimi-k2" Model__QiniuAI__Kimi__K2__2__Thinking ModelID = "moonshotai/kimi-k2-thinking" Model__QiniuAI__Kimi__K2__5__2_5 ModelID = "moonshotai/kimi-k2.5" Model__QiniuAI__Kling__V2__6 ModelID = "kling-v2-6" Model__QiniuAI__Longcat__Flash__Chat ModelID = "meituan/longcat-flash-chat" Model__QiniuAI__Longcat__Flash__Lite ModelID = "meituan/longcat-flash-lite" Model__QiniuAI__Mimo__V2__Flash ModelID = "mimo-v2-flash" Model__QiniuAI__Mimo__V2__Flash__Xiaomi ModelID = "xiaomi/mimo-v2-flash" Model__QiniuAI__MiniMax__M1__1 ModelID = "MiniMax-M1" Model__QiniuAI__MiniMax__M2__1__2_1 ModelID = "minimax/minimax-m2.1" Model__QiniuAI__MiniMax__M2__2 ModelID = "minimax/minimax-m2" Model__QiniuAI__MiniMax__M2__5__2_5 ModelID = "minimax/minimax-m2.5" Model__QiniuAI__MiniMax__M2__5__2_5__Highspeed ModelID = "minimax/minimax-m2.5-highspeed" Model__QiniuAI__Qwen2__5__Vl__72b__2_5__Instruct ModelID = "qwen2.5-vl-72b-instruct" Model__QiniuAI__Qwen2__5__Vl__7b__2_5__Instruct ModelID = "qwen2.5-vl-7b-instruct" Model__QiniuAI__Qwen3__235b__A22b__3 ModelID = "qwen3-235b-a22b" Model__QiniuAI__Qwen3__235b__A22b__Instruct__2507__3__Instruct ModelID = "qwen3-235b-a22b-instruct-2507" Model__QiniuAI__Qwen3__235b__A22b__Thinking__2507__3__Thinking ModelID = "qwen3-235b-a22b-thinking-2507" Model__QiniuAI__Qwen3__30b__A3b__3 ModelID = "qwen3-30b-a3b" Model__QiniuAI__Qwen3__30b__A3b__Instruct__2507__3__Instruct ModelID = "qwen3-30b-a3b-instruct-2507" Model__QiniuAI__Qwen3__30b__A3b__Thinking__2507__3__Thinking ModelID = "qwen3-30b-a3b-thinking-2507" Model__QiniuAI__Qwen3__32b__3 ModelID = "qwen3-32b" Model__QiniuAI__Qwen3__5__397b__A17b__3_5 ModelID = "qwen3.5-397b-a17b" Model__QiniuAI__Qwen3__Coder__480b__A35b__3__Instruct ModelID = "qwen3-coder-480b-a35b-instruct" Model__QiniuAI__Qwen3__Max__3 ModelID = "qwen3-max" Model__QiniuAI__Qwen3__Max__3__Preview ModelID = "qwen3-max-preview" Model__QiniuAI__Qwen3__Next__80b__A3b__3__Instruct ModelID = "qwen3-next-80b-a3b-instruct" Model__QiniuAI__Qwen3__Next__80b__A3b__3__Thinking ModelID = "qwen3-next-80b-a3b-thinking" Model__QiniuAI__Qwen3__Vl__30b__A3b__3__Thinking ModelID = "qwen3-vl-30b-a3b-thinking" Model__QiniuAI__Qwen__Max__20250125 ModelID = "qwen-max-2025-01-25" Model__QiniuAI__Qwen__Turbo ModelID = "qwen-turbo" Model__QiniuAI__Qwen__Vl__Max__20250125 ModelID = "qwen-vl-max-2025-01-25" Model__QiniuAI__Step__3__5__Flash__3_5 ModelID = "stepfun/step-3.5-flash" Model__RegoloAI__GPT__Oss__120b ModelID = "gpt-oss-120b" Model__RegoloAI__GPT__Oss__20b ModelID = "gpt-oss-20b" Model__RegoloAI__Llama__3__1__8b__3_1__Instruct ModelID = "llama-3.1-8b-instruct" Model__RegoloAI__Llama__3__3__70b__3_3__Instruct ModelID = "llama-3.3-70b-instruct" Model__RegoloAI__MiniMax__M2__5__2_5 ModelID = "minimax-m2.5" Model__RegoloAI__Mistral__Small3__2 ModelID = "mistral-small3.2" Model__RegoloAI__Mistral__Small__4__119b__4 ModelID = "mistral-small-4-119b" Model__RegoloAI__Qwen3__5__122b__3_5 ModelID = "qwen3.5-122b" Model__RegoloAI__Qwen3__5__9b__3_5 ModelID = "qwen3.5-9b" Model__RegoloAI__Qwen3__Coder__Next__3 ModelID = "qwen3-coder-next" Model__RegoloAI__Qwen3__Embedding__8b__3 ModelID = "qwen3-embedding-8b" Model__RegoloAI__Qwen3__Reranker__4b__3 ModelID = "qwen3-reranker-4b" Model__RegoloAI__Qwen__Image ModelID = "qwen-image" Model__Requesty__Claude__3__7__Sonnet__3_7 ModelID = "anthropic/claude-3-7-sonnet" Model__Requesty__Claude__Haiku__4_5 ModelID = "anthropic/claude-haiku-4-5" Model__Requesty__Claude__Opus__4 ModelID = "anthropic/claude-opus-4" Model__Requesty__Claude__Opus__4_1 ModelID = "anthropic/claude-opus-4-1" Model__Requesty__Claude__Opus__4_5 ModelID = "anthropic/claude-opus-4-5" Model__Requesty__Claude__Opus__4_6 ModelID = "anthropic/claude-opus-4-6" Model__Requesty__Claude__Sonnet__4 ModelID = "anthropic/claude-sonnet-4" Model__Requesty__Claude__Sonnet__4_5 ModelID = "anthropic/claude-sonnet-4-5" Model__Requesty__Claude__Sonnet__4_6 ModelID = "anthropic/claude-sonnet-4-6" Model__Requesty__GPT__4_1 ModelID = "openai/gpt-4.1" Model__Requesty__GPT__4__1__Mini__4_1 ModelID = "openai/gpt-4.1-mini" Model__Requesty__GPT__4o__Mini ModelID = "openai/gpt-4o-mini" Model__Requesty__GPT__5 ModelID = "openai/gpt-5" Model__Requesty__GPT__5_1 ModelID = "openai/gpt-5.1" Model__Requesty__GPT__5_1__Chat ModelID = "openai/gpt-5.1-chat" Model__Requesty__GPT__5_2 ModelID = "openai/gpt-5.2" Model__Requesty__GPT__5_2__Chat ModelID = "openai/gpt-5.2-chat" Model__Requesty__GPT__5_4 ModelID = "openai/gpt-5.4" Model__Requesty__GPT__5__1__Codex__5_1 ModelID = "openai/gpt-5.1-codex" Model__Requesty__GPT__5__1__Codex__Max__5_1 ModelID = "openai/gpt-5.1-codex-max" Model__Requesty__GPT__5__1__Codex__Mini__5_1 ModelID = "openai/gpt-5.1-codex-mini" Model__Requesty__GPT__5__2__Codex__5_2 ModelID = "openai/gpt-5.2-codex" Model__Requesty__GPT__5__2__Pro__5_2 ModelID = "openai/gpt-5.2-pro" Model__Requesty__GPT__5__3__Codex__5_3 ModelID = "openai/gpt-5.3-codex" Model__Requesty__GPT__5__4__Pro__5_4 ModelID = "openai/gpt-5.4-pro" Model__Requesty__GPT__5__Chat ModelID = "openai/gpt-5-chat" Model__Requesty__GPT__5__Codex__5 ModelID = "openai/gpt-5-codex" Model__Requesty__GPT__5__Image__5 ModelID = "openai/gpt-5-image" Model__Requesty__GPT__5__Mini__5 ModelID = "openai/gpt-5-mini" Model__Requesty__GPT__5__Nano__5 ModelID = "openai/gpt-5-nano" Model__Requesty__GPT__5__Pro__5 ModelID = "openai/gpt-5-pro" Model__Requesty__Gemini__2__5__Flash__2_5 ModelID = "google/gemini-2.5-flash" Model__Requesty__Gemini__2__5__Pro__2_5 ModelID = "google/gemini-2.5-pro" Model__Requesty__Gemini__3__Flash__3__Preview ModelID = "google/gemini-3-flash-preview" Model__Requesty__Gemini__3__Pro__3__Preview ModelID = "google/gemini-3-pro-preview" Model__Requesty__Grok__4 ModelID = "xai/grok-4" Model__Requesty__Grok__4__Fast ModelID = "xai/grok-4-fast" Model__Requesty__O4__4__Mini ModelID = "openai/o4-mini" Model__RoutingRun__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__RoutingRun__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__RoutingRun__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__RoutingRun__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__RoutingRun__GLM__5_2 ModelID = "glm-5.2" Model__RoutingRun__GLM__5__2__Nitro__5_2 ModelID = "glm-5.2-nitro" Model__RoutingRun__GPT__5__6__Luna__5_6 ModelID = "gpt-5.6-luna" Model__RoutingRun__GPT__5__6__Sol__5_6 ModelID = "gpt-5.6-sol" Model__RoutingRun__GPT__5__6__Terra__5_6 ModelID = "gpt-5.6-terra" Model__RoutingRun__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__RoutingRun__Kimi__K2__6__Nitro ModelID = "kimi-k2.6-nitro" Model__RoutingRun__Kimi__K2__7__2_7__Code ModelID = "kimi-k2.7-code" Model__RoutingRun__Kimi__K2__7__Code__Nitro ModelID = "kimi-k2.7-code-nitro" Model__RoutingRun__Nemotron__3__Ultra__3 ModelID = "nemotron-3-ultra" Model__RoutingRun__Qwen3__5__9b__3_5 ModelID = "qwen3.5-9b" Model__SAPAICore__Anthropic__Claude__3__5__Sonnet ModelID = "anthropic--claude-3.5-sonnet" Model__SAPAICore__Anthropic__Claude__3__7__Sonnet ModelID = "anthropic--claude-3.7-sonnet" Model__SAPAICore__Anthropic__Claude__3__Haiku ModelID = "anthropic--claude-3-haiku" Model__SAPAICore__Anthropic__Claude__3__Opus ModelID = "anthropic--claude-3-opus" Model__SAPAICore__Anthropic__Claude__3__Sonnet ModelID = "anthropic--claude-3-sonnet" Model__SAPAICore__Anthropic__Claude__4__5__Haiku ModelID = "anthropic--claude-4.5-haiku" Model__SAPAICore__Anthropic__Claude__4__5__Opus ModelID = "anthropic--claude-4.5-opus" Model__SAPAICore__Anthropic__Claude__4__5__Sonnet ModelID = "anthropic--claude-4.5-sonnet" Model__SAPAICore__Anthropic__Claude__4__6__Opus ModelID = "anthropic--claude-4.6-opus" Model__SAPAICore__Anthropic__Claude__4__6__Sonnet ModelID = "anthropic--claude-4.6-sonnet" Model__SAPAICore__Anthropic__Claude__4__7__Opus ModelID = "anthropic--claude-4.7-opus" Model__SAPAICore__Anthropic__Claude__4__8__Opus ModelID = "anthropic--claude-4.8-opus" Model__SAPAICore__Anthropic__Claude__4__Opus ModelID = "anthropic--claude-4-opus" Model__SAPAICore__Anthropic__Claude__4__Sonnet ModelID = "anthropic--claude-4-sonnet" Model__SAPAICore__GPT__4_1 ModelID = "gpt-4.1" Model__SAPAICore__GPT__4__1__Mini__4_1 ModelID = "gpt-4.1-mini" Model__SAPAICore__GPT__5 ModelID = "gpt-5" Model__SAPAICore__GPT__5_4 ModelID = "gpt-5.4" Model__SAPAICore__GPT__5_5 ModelID = "gpt-5.5" Model__SAPAICore__GPT__5__Mini__5 ModelID = "gpt-5-mini" Model__SAPAICore__GPT__5__Nano__5 ModelID = "gpt-5-nano" Model__SAPAICore__Gemini__2__5__Flash__2_5 ModelID = "gemini-2.5-flash" Model__SAPAICore__Gemini__2__5__Flash__Lite__2_5 ModelID = "gemini-2.5-flash-lite" Model__SAPAICore__Gemini__2__5__Pro__2_5 ModelID = "gemini-2.5-pro" Model__SAPAICore__Gemini__3__1__Flash__Lite__3_1 ModelID = "gemini-3.1-flash-lite" Model__SAPAICore__Gemini__3__5__Flash__3_5 ModelID = "gemini-3.5-flash" Model__SAPAICore__Sonar ModelID = "sonar" Model__SAPAICore__Sonar__Deep__Research ModelID = "sonar-deep-research" Model__SAPAICore__Sonar__Pro ModelID = "sonar-pro" Model__STACKIT__E5__Mistral__7b__Instruct ModelID = "intfloat/e5-mistral-7b-instruct" Model__STACKIT__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__STACKIT__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__STACKIT__Gemma__3__27b__It__3 ModelID = "google/gemma-3-27b-it" Model__STACKIT__Llama__3__3__70B__Instruct__Fp8__Dynamic__3_3__Instruct ModelID = "cortecs/Llama-3.3-70B-Instruct-FP8-Dynamic" Model__STACKIT__Qwen3__6__27B__3_6 ModelID = "Qwen/Qwen3.6-27B" Model__STACKIT__Qwen3__Vl__235B__A22b__Instruct__Fp8__3__Instruct ModelID = "Qwen/Qwen3-VL-235B-A22B-Instruct-FP8" Model__STACKIT__Qwen3__Vl__Embedding__8B__3 ModelID = "Qwen/Qwen3-VL-Embedding-8B" Model__Sakana__Fugu ModelID = "fugu" Model__Sakana__Fugu__Ultra ModelID = "fugu-ultra" Model__Sakana__Fugu__Ultra__20260615 ModelID = "fugu-ultra-20260615" Model__Sarvam__Sarvam__105b ModelID = "sarvam-105b" Model__Sarvam__Sarvam__30b ModelID = "sarvam-30b" Model__Scaleway__Bge__Multilingual__Gemma2 ModelID = "bge-multilingual-gemma2" Model__Scaleway__Devstral__2__123b__Instruct__2512__2__Instruct ModelID = "devstral-2-123b-instruct-2512" Model__Scaleway__GLM__5_2 ModelID = "glm-5.2" Model__Scaleway__GPT__Oss__120b ModelID = "gpt-oss-120b" Model__Scaleway__Gemma__3__27b__It__3 ModelID = "gemma-3-27b-it" Model__Scaleway__Gemma__4__26b__A4b__It__4 ModelID = "gemma-4-26b-a4b-it" Model__Scaleway__Llama__3__3__70b__3_3__Instruct ModelID = "llama-3.3-70b-instruct" Model__Scaleway__Mistral__Medium__3__5__128b__3_5 ModelID = "mistral-medium-3.5-128b" Model__Scaleway__Mistral__Small__3__2__24b__Instruct__2506__3_2__Instruct ModelID = "mistral-small-3.2-24b-instruct-2506" Model__Scaleway__Pixtral__12b__2409 ModelID = "pixtral-12b-2409" Model__Scaleway__Qwen3__235b__A22b__Instruct__2507__3__Instruct ModelID = "qwen3-235b-a22b-instruct-2507" Model__Scaleway__Qwen3__5__397b__A17b__3_5 ModelID = "qwen3.5-397b-a17b" Model__Scaleway__Qwen3__6__35b__A3b__3_6 ModelID = "qwen3.6-35b-a3b" Model__Scaleway__Qwen3__Coder__30b__A3b__3__Instruct ModelID = "qwen3-coder-30b-a3b-instruct" Model__Scaleway__Qwen3__Embedding__8b__3 ModelID = "qwen3-embedding-8b" Model__Scaleway__Voxtral__Small__24b__2507 ModelID = "voxtral-small-24b-2507" Model__Scaleway__Whisper__Large__V3__3 ModelID = "whisper-large-v3" Model__SiliconFlowCN__DeepSeek__Ocr ModelID = "deepseek-ai/DeepSeek-OCR" Model__SiliconFlowCN__DeepSeek__R1__Thinking__DeepSeekAI ModelID = "deepseek-ai/DeepSeek-R1" Model__SiliconFlowCN__DeepSeek__R1__Thinking__ProDeepSeekAI ModelID = "Pro/deepseek-ai/DeepSeek-R1" Model__SiliconFlowCN__DeepSeek__V3__1__Terminus__DeepSeekAI ModelID = "deepseek-ai/DeepSeek-V3.1-Terminus" Model__SiliconFlowCN__DeepSeek__V3__1__Terminus__ProDeepSeekAI ModelID = "Pro/deepseek-ai/DeepSeek-V3.1-Terminus" Model__SiliconFlowCN__DeepSeek__V3__2__DeepSeekAI ModelID = "deepseek-ai/DeepSeek-V3.2" Model__SiliconFlowCN__DeepSeek__V3__2__ProDeepSeekAI ModelID = "Pro/deepseek-ai/DeepSeek-V3.2" Model__SiliconFlowCN__DeepSeek__V3__DeepSeekAI ModelID = "deepseek-ai/DeepSeek-V3" Model__SiliconFlowCN__DeepSeek__V3__ProDeepSeekAI ModelID = "Pro/deepseek-ai/DeepSeek-V3" Model__SiliconFlowCN__DeepSeek__V4__Flash ModelID = "deepseek-ai/DeepSeek-V4-Flash" Model__SiliconFlowCN__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-ai/DeepSeek-V4-Pro" Model__SiliconFlowCN__Ernie__4__5__300B__A47b__4_5 ModelID = "baidu/ERNIE-4.5-300B-A47B" Model__SiliconFlowCN__GLM__4__5__Air__4_5 ModelID = "zai-org/GLM-4.5-Air" Model__SiliconFlowCN__GLM__5 ModelID = "Pro/zai-org/GLM-5" Model__SiliconFlowCN__GLM__5_1 ModelID = "Pro/zai-org/GLM-5.1" Model__SiliconFlowCN__GLM__5_2 ModelID = "zai-org/GLM-5.2" Model__SiliconFlowCN__Hunyuan__A13b__Instruct ModelID = "tencent/Hunyuan-A13B-Instruct" Model__SiliconFlowCN__Kimi__K2__5__2_5 ModelID = "Pro/moonshotai/Kimi-K2.5" Model__SiliconFlowCN__Kimi__K2__6__2_6 ModelID = "Pro/moonshotai/Kimi-K2.6" Model__SiliconFlowCN__Ling__Flash__2_0 ModelID = "inclusionAI/Ling-flash-2.0" Model__SiliconFlowCN__MiniMax__M2__5__2_5 ModelID = "Pro/MiniMaxAI/MiniMax-M2.5" Model__SiliconFlowCN__Paddleocr__Vl__1_5 ModelID = "PaddlePaddle/PaddleOCR-VL-1.5" Model__SiliconFlowCN__Qwen2__5__72B__2_5__Instruct ModelID = "Qwen/Qwen2.5-72B-Instruct" Model__SiliconFlowCN__Qwen2__5__7B__2_5__Instruct ModelID = "Qwen/Qwen2.5-7B-Instruct" Model__SiliconFlowCN__Qwen3__14B__3 ModelID = "Qwen/Qwen3-14B" Model__SiliconFlowCN__Qwen3__235B__A22b__Thinking__2507__3__Thinking ModelID = "Qwen/Qwen3-235B-A22B-Thinking-2507" Model__SiliconFlowCN__Qwen3__30B__A3b__Instruct__2507__3__Instruct ModelID = "Qwen/Qwen3-30B-A3B-Instruct-2507" Model__SiliconFlowCN__Qwen3__32B__3 ModelID = "Qwen/Qwen3-32B" Model__SiliconFlowCN__Qwen3__5__122B__A10b__3_5 ModelID = "Qwen/Qwen3.5-122B-A10B" Model__SiliconFlowCN__Qwen3__5__27B__3_5 ModelID = "Qwen/Qwen3.5-27B" Model__SiliconFlowCN__Qwen3__5__35B__A3b__3_5 ModelID = "Qwen/Qwen3.5-35B-A3B" Model__SiliconFlowCN__Qwen3__5__397B__A17b__3_5 ModelID = "Qwen/Qwen3.5-397B-A17B" Model__SiliconFlowCN__Qwen3__5__4B__3_5 ModelID = "Qwen/Qwen3.5-4B" Model__SiliconFlowCN__Qwen3__5__9B__3_5 ModelID = "Qwen/Qwen3.5-9B" Model__SiliconFlowCN__Qwen3__6__35B__A3b__3_6 ModelID = "Qwen/Qwen3.6-35B-A3B" Model__SiliconFlowCN__Qwen3__8B__3 ModelID = "Qwen/Qwen3-8B" Model__SiliconFlowCN__Qwen3__Coder__30B__A3b__3__Instruct ModelID = "Qwen/Qwen3-Coder-30B-A3B-Instruct" Model__SiliconFlowCN__Qwen3__Coder__480B__A35b__3__Instruct ModelID = "Qwen/Qwen3-Coder-480B-A35B-Instruct" Model__SiliconFlowCN__Qwen3__Vl__235B__A22b__3__Instruct ModelID = "Qwen/Qwen3-VL-235B-A22B-Instruct" Model__SiliconFlowCN__Qwen3__Vl__235B__A22b__3__Thinking ModelID = "Qwen/Qwen3-VL-235B-A22B-Thinking" Model__SiliconFlowCN__Qwen3__Vl__30B__A3b__3__Instruct ModelID = "Qwen/Qwen3-VL-30B-A3B-Instruct" Model__SiliconFlowCN__Qwen3__Vl__30B__A3b__3__Thinking ModelID = "Qwen/Qwen3-VL-30B-A3B-Thinking" Model__SiliconFlowCN__Qwen3__Vl__32B__3__Instruct ModelID = "Qwen/Qwen3-VL-32B-Instruct" Model__SiliconFlowCN__Qwen3__Vl__32B__3__Thinking ModelID = "Qwen/Qwen3-VL-32B-Thinking" Model__SiliconFlowCN__Qwen3__Vl__8B__3__Instruct ModelID = "Qwen/Qwen3-VL-8B-Instruct" Model__SiliconFlowCN__Seed__Oss__36B__Instruct ModelID = "ByteDance-Seed/Seed-OSS-36B-Instruct" Model__SiliconFlowCN__Step__3__5__Flash__3_5 ModelID = "stepfun-ai/Step-3.5-Flash" Model__SiliconFlow__DeepSeek__R1__Thinking ModelID = "deepseek-ai/DeepSeek-R1" Model__SiliconFlow__DeepSeek__V3 ModelID = "deepseek-ai/DeepSeek-V3" Model__SiliconFlow__DeepSeek__V3__1 ModelID = "deepseek-ai/DeepSeek-V3.1" Model__SiliconFlow__DeepSeek__V3__1__Terminus ModelID = "deepseek-ai/DeepSeek-V3.1-Terminus" Model__SiliconFlow__DeepSeek__V3__2 ModelID = "deepseek-ai/DeepSeek-V3.2" Model__SiliconFlow__DeepSeek__V3__2__Exp ModelID = "deepseek-ai/DeepSeek-V3.2-Exp" Model__SiliconFlow__DeepSeek__V4__Flash ModelID = "deepseek-ai/DeepSeek-V4-Flash" Model__SiliconFlow__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-ai/DeepSeek-V4-Pro" Model__SiliconFlow__Ernie__4__5__300B__A47b__4_5 ModelID = "baidu/ERNIE-4.5-300B-A47B" Model__SiliconFlow__GLM__4__5__Air__4_5 ModelID = "zai-org/GLM-4.5-Air" Model__SiliconFlow__GLM__5 ModelID = "zai-org/GLM-5" Model__SiliconFlow__GLM__5V__5__Turbo ModelID = "zai-org/GLM-5V-Turbo" Model__SiliconFlow__GLM__5_1 ModelID = "zai-org/GLM-5.1" Model__SiliconFlow__GLM__5_2 ModelID = "zai-org/GLM-5.2" Model__SiliconFlow__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__SiliconFlow__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__SiliconFlow__Gemma__4__26B__A4b__It__4 ModelID = "google/gemma-4-26B-A4B-it" Model__SiliconFlow__Gemma__4__31B__It__4 ModelID = "google/gemma-4-31B-it" Model__SiliconFlow__Hunyuan__A13b__Instruct ModelID = "tencent/Hunyuan-A13B-Instruct" Model__SiliconFlow__Hy3__3__Preview ModelID = "tencent/Hy3-preview" Model__SiliconFlow__Kimi__K2__5__2_5 ModelID = "moonshotai/Kimi-K2.5" Model__SiliconFlow__Kimi__K2__6__2_6 ModelID = "moonshotai/Kimi-K2.6" Model__SiliconFlow__Ling__Flash__2_0 ModelID = "inclusionAI/Ling-flash-2.0" Model__SiliconFlow__MiniMax__M2__5__2_5 ModelID = "MiniMaxAI/MiniMax-M2.5" Model__SiliconFlow__Qwen2__5__72B__2_5__Instruct ModelID = "Qwen/Qwen2.5-72B-Instruct" Model__SiliconFlow__Qwen2__5__7B__2_5__Instruct ModelID = "Qwen/Qwen2.5-7B-Instruct" Model__SiliconFlow__Qwen3__14B__3 ModelID = "Qwen/Qwen3-14B" Model__SiliconFlow__Qwen3__235B__A22b__Thinking__2507__3__Thinking ModelID = "Qwen/Qwen3-235B-A22B-Thinking-2507" Model__SiliconFlow__Qwen3__30B__A3b__Instruct__2507__3__Instruct ModelID = "Qwen/Qwen3-30B-A3B-Instruct-2507" Model__SiliconFlow__Qwen3__32B__3 ModelID = "Qwen/Qwen3-32B" Model__SiliconFlow__Qwen3__5__122B__A10b__3_5 ModelID = "Qwen/Qwen3.5-122B-A10B" Model__SiliconFlow__Qwen3__5__27B__3_5 ModelID = "Qwen/Qwen3.5-27B" Model__SiliconFlow__Qwen3__5__35B__A3b__3_5 ModelID = "Qwen/Qwen3.5-35B-A3B" Model__SiliconFlow__Qwen3__5__397B__A17b__3_5 ModelID = "Qwen/Qwen3.5-397B-A17B" Model__SiliconFlow__Qwen3__5__9B__3_5 ModelID = "Qwen/Qwen3.5-9B" Model__SiliconFlow__Qwen3__6__27B__3_6 ModelID = "Qwen/Qwen3.6-27B" Model__SiliconFlow__Qwen3__6__35B__A3b__3_6 ModelID = "Qwen/Qwen3.6-35B-A3B" Model__SiliconFlow__Qwen3__8B__3 ModelID = "Qwen/Qwen3-8B" Model__SiliconFlow__Qwen3__Coder__30B__A3b__3__Instruct ModelID = "Qwen/Qwen3-Coder-30B-A3B-Instruct" Model__SiliconFlow__Qwen3__Coder__480B__A35b__3__Instruct ModelID = "Qwen/Qwen3-Coder-480B-A35B-Instruct" Model__SiliconFlow__Qwen3__Vl__235B__A22b__3__Instruct ModelID = "Qwen/Qwen3-VL-235B-A22B-Instruct" Model__SiliconFlow__Qwen3__Vl__235B__A22b__3__Thinking ModelID = "Qwen/Qwen3-VL-235B-A22B-Thinking" Model__SiliconFlow__Qwen3__Vl__30B__A3b__3__Instruct ModelID = "Qwen/Qwen3-VL-30B-A3B-Instruct" Model__SiliconFlow__Qwen3__Vl__30B__A3b__3__Thinking ModelID = "Qwen/Qwen3-VL-30B-A3B-Thinking" Model__SiliconFlow__Qwen3__Vl__32B__3__Instruct ModelID = "Qwen/Qwen3-VL-32B-Instruct" Model__SiliconFlow__Qwen3__Vl__32B__3__Thinking ModelID = "Qwen/Qwen3-VL-32B-Thinking" Model__SiliconFlow__Qwen3__Vl__8B__3__Instruct ModelID = "Qwen/Qwen3-VL-8B-Instruct" Model__SiliconFlow__Seed__Oss__36B__Instruct ModelID = "ByteDance-Seed/Seed-OSS-36B-Instruct" Model__SiliconFlow__Step__3__5__Flash__3_5 ModelID = "stepfun-ai/Step-3.5-Flash" Model__SnowflakeCortex__Claude__Fable__5 ModelID = "claude-fable-5" Model__SnowflakeCortex__Claude__Haiku__4_5 ModelID = "claude-haiku-4-5" Model__SnowflakeCortex__Claude__Opus__4_7 ModelID = "claude-opus-4-7" Model__SnowflakeCortex__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__SnowflakeCortex__Claude__Sonnet__4_5 ModelID = "claude-sonnet-4-5" Model__SnowflakeCortex__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__SnowflakeCortex__DeepSeek__R1__Thinking ModelID = "deepseek-r1" Model__SnowflakeCortex__Gemini__3__1__Pro__3_1 ModelID = "gemini-3.1-pro" Model__SnowflakeCortex__Mistral__Large2 ModelID = "mistral-large2" Model__SnowflakeCortex__OpenAI__GPT__4__1 ModelID = "openai-gpt-4.1" Model__SnowflakeCortex__OpenAI__GPT__5 ModelID = "openai-gpt-5" Model__SnowflakeCortex__OpenAI__GPT__5__1 ModelID = "openai-gpt-5.1" Model__SnowflakeCortex__OpenAI__GPT__5__2 ModelID = "openai-gpt-5.2" Model__SnowflakeCortex__OpenAI__GPT__5__4 ModelID = "openai-gpt-5.4" Model__SnowflakeCortex__OpenAI__GPT__5__5 ModelID = "openai-gpt-5.5" Model__SnowflakeCortex__OpenAI__GPT__5__Mini ModelID = "openai-gpt-5-mini" Model__SnowflakeCortex__OpenAI__GPT__5__Nano ModelID = "openai-gpt-5-nano" Model__SnowflakeCortex__Snowflake__Llama3__3__70b ModelID = "snowflake-llama3.3-70b" Model__StepFunAI__Step__1__32k__1 ModelID = "step-1-32k" Model__StepFunAI__Step__2__16k__2 ModelID = "step-2-16k" Model__StepFunAI__Step__3__5__Flash__2603__3_5 ModelID = "step-3.5-flash-2603" Model__StepFunAI__Step__3__5__Flash__3_5 ModelID = "step-3.5-flash" Model__StepFunAI__Step__3__7__Flash__3_7 ModelID = "step-3.7-flash" Model__StepFunAI__Step__Tts__2 ModelID = "step-tts-2" Model__StepFunAI__Stepaudio__2__5__Asr ModelID = "stepaudio-2.5-asr" Model__StepFunAI__Stepaudio__2__5__Tts ModelID = "stepaudio-2.5-tts" Model__StepFun__Step__1__32k__1 ModelID = "step-1-32k" Model__StepFun__Step__2__16k__2 ModelID = "step-2-16k" Model__StepFun__Step__3__5__Flash__2603__3_5 ModelID = "step-3.5-flash-2603" Model__StepFun__Step__3__5__Flash__3_5 ModelID = "step-3.5-flash" Model__StepFun__Step__3__7__Flash__3_7 ModelID = "step-3.7-flash" Model__StepFun__Step__Tts__2 ModelID = "step-tts-2" Model__StepFun__Stepaudio__2__5__Asr ModelID = "stepaudio-2.5-asr" Model__StepFun__Stepaudio__2__5__Tts ModelID = "stepaudio-2.5-tts" Model__Subconscious__GLM__5_2 ModelID = "subconscious/glm-5.2" Model__Subconscious__Tim__Qwen3__6__27b ModelID = "subconscious/tim-qwen3.6-27b" Model__Submodel__DeepSeek__R1__0528__Thinking ModelID = "deepseek-ai/DeepSeek-R1-0528" Model__Submodel__DeepSeek__V3__0324 ModelID = "deepseek-ai/DeepSeek-V3-0324" Model__Submodel__DeepSeek__V3__1 ModelID = "deepseek-ai/DeepSeek-V3.1" Model__Submodel__GLM__4__5__Air__4_5 ModelID = "zai-org/GLM-4.5-Air" Model__Submodel__GLM__4__5__Fp8__4_5 ModelID = "zai-org/GLM-4.5-FP8" Model__Submodel__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__Submodel__Qwen3__235B__A22b__Instruct__2507__3__Instruct ModelID = "Qwen/Qwen3-235B-A22B-Instruct-2507" Model__Submodel__Qwen3__235B__A22b__Thinking__2507__3__Thinking ModelID = "Qwen/Qwen3-235B-A22B-Thinking-2507" Model__Submodel__Qwen3__Coder__480B__A35b__Instruct__Fp8__3__Instruct ModelID = "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8" Model__Synthetic__GLM__4__7__Flash__4_7 ModelID = "hf:zai-org/GLM-4.7-Flash" Model__Synthetic__GLM__5_2 ModelID = "hf:zai-org/GLM-5.2" Model__Synthetic__GPT__Oss__120b ModelID = "hf:openai/gpt-oss-120b" Model__Synthetic__Kimi__K2__7__2_7__Code ModelID = "hf:moonshotai/Kimi-K2.7-Code" Model__Synthetic__MiniMax__M3__3 ModelID = "hf:MiniMaxAI/MiniMax-M3" Model__Synthetic__Nvidia__Nemotron__3__Super__120B__A12b__Nvfp4 ModelID = "hf:nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4" Model__Synthetic__Qwen3__6__27B__3_6 ModelID = "hf:Qwen/Qwen3.6-27B" Model__TencentCodingPlan__GLM__5 ModelID = "glm-5" Model__TencentCodingPlan__Hunyuan__2_0__Instruct ModelID = "hunyuan-2.0-instruct" Model__TencentCodingPlan__Hunyuan__2_0__Thinking ModelID = "hunyuan-2.0-thinking" Model__TencentCodingPlan__Hunyuan__T1 ModelID = "hunyuan-t1" Model__TencentCodingPlan__Hunyuan__Turbos ModelID = "hunyuan-turbos" Model__TencentCodingPlan__Kimi__K2__5__2_5 ModelID = "kimi-k2.5" Model__TencentCodingPlan__MiniMax__M2__5__2_5 ModelID = "minimax-m2.5" Model__TencentCodingPlan__Tc__LatestCode ModelID = "tc-code-latest" Model__TencentTokenHub__Hy3__3 ModelID = "hy3" Model__TencentTokenHub__Hy3__3__Preview ModelID = "hy3-preview" Model__TencentTokenPlan__Hy3__3 ModelID = "hy3" Model__TheGridAI__Agent__Max ModelID = "agent-max" Model__TheGridAI__Agent__Prime ModelID = "agent-prime" Model__TheGridAI__Agent__Standard ModelID = "agent-standard" Model__TheGridAI__Code__Max ModelID = "code-max" Model__TheGridAI__Code__Prime ModelID = "code-prime" Model__TheGridAI__Code__Standard ModelID = "code-standard" Model__TheGridAI__Text__Max ModelID = "text-max" Model__TheGridAI__Text__Prime ModelID = "text-prime" Model__TheGridAI__Text__Standard ModelID = "text-standard" Model__Tinfoil__GLM__5_2 ModelID = "glm-5-2" Model__Tinfoil__GPT__Oss__120b ModelID = "gpt-oss-120b" Model__Tinfoil__GPT__Oss__Safeguard__120b ModelID = "gpt-oss-safeguard-120b" Model__Tinfoil__Gemma4__31b ModelID = "gemma4-31b" Model__Tinfoil__Kimi__K2__6__2_6 ModelID = "kimi-k2-6" Model__Tinfoil__Llama3__3__70b ModelID = "llama3-3-70b" Model__Tinfoil__Nomic__Embed__Text ModelID = "nomic-embed-text" Model__TogetherAI__Cogito__V2__1__671b__1 ModelID = "deepcogito/cogito-v2-1-671b" Model__TogetherAI__DeepSeek__R1__Thinking ModelID = "deepseek-ai/DeepSeek-R1" Model__TogetherAI__DeepSeek__V3 ModelID = "deepseek-ai/DeepSeek-V3" Model__TogetherAI__DeepSeek__V3__1 ModelID = "deepseek-ai/DeepSeek-V3-1" Model__TogetherAI__DeepSeek__V4__Pro ModelID = "deepseek-ai/DeepSeek-V4-Pro" Model__TogetherAI__GLM__5 ModelID = "zai-org/GLM-5" Model__TogetherAI__GLM__5_1 ModelID = "zai-org/GLM-5.1" Model__TogetherAI__GLM__5_2 ModelID = "zai-org/GLM-5.2" Model__TogetherAI__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__TogetherAI__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__TogetherAI__Gemma__3n__E4b__It ModelID = "google/gemma-3n-E4B-it" Model__TogetherAI__Gemma__4__31B__It__4 ModelID = "google/gemma-4-31B-it" Model__TogetherAI__Gemma__4__31b__It__4 ModelID = "pearl-ai/gemma-4-31b-it" Model__TogetherAI__Kimi__K2__5__2_5 ModelID = "moonshotai/Kimi-K2.5" Model__TogetherAI__Kimi__K2__6__2_6 ModelID = "moonshotai/Kimi-K2.6" Model__TogetherAI__Kimi__K2__7__2_7__Code ModelID = "moonshotai/Kimi-K2.7-Code" Model__TogetherAI__Lfm2__24B__A2b ModelID = "LiquidAI/LFM2-24B-A2B" Model__TogetherAI__Llama__3__3__70B__3_3__TurboInstruct ModelID = "meta-llama/Llama-3.3-70B-Instruct-Turbo" Model__TogetherAI__Meta__Llama__3__8B__Instruct__Lite__3 ModelID = "meta-llama/Meta-Llama-3-8B-Instruct-Lite" Model__TogetherAI__MiniMax__M2__5__2_5 ModelID = "MiniMaxAI/MiniMax-M2.5" Model__TogetherAI__MiniMax__M2__7__2_7 ModelID = "MiniMaxAI/MiniMax-M2.7" Model__TogetherAI__MiniMax__M3__3 ModelID = "MiniMaxAI/MiniMax-M3" Model__TogetherAI__Nemotron__3__Ultra__550b__A55b__3 ModelID = "nvidia/nemotron-3-ultra-550b-a55b" Model__TogetherAI__Qwen2__5__7B__Instruct__Turbo__2_5 ModelID = "Qwen/Qwen2.5-7B-Instruct-Turbo" Model__TogetherAI__Qwen3__235B__A22b__Instruct__2507__Tput__3__Instruct ModelID = "Qwen/Qwen3-235B-A22B-Instruct-2507-tput" Model__TogetherAI__Qwen3__5__397B__A17b__3_5 ModelID = "Qwen/Qwen3.5-397B-A17B" Model__TogetherAI__Qwen3__5__9B__3_5 ModelID = "Qwen/Qwen3.5-9B" Model__TogetherAI__Qwen3__6__Plus__3_6 ModelID = "Qwen/Qwen3.6-Plus" Model__TogetherAI__Qwen3__7__Max__3_7 ModelID = "Qwen/Qwen3.7-Max" Model__TogetherAI__Qwen3__Coder__480B__A35b__Instruct__Fp8__3__Instruct ModelID = "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8" Model__TogetherAI__Qwen3__Coder__Next__Fp8__3 ModelID = "Qwen/Qwen3-Coder-Next-FP8" Model__TogetherAI__Rnj__1__Instruct ModelID = "essentialai/Rnj-1-Instruct" Model__TrustedRouter__Auto ModelID = "auto" Model__TrustedRouter__Cheap ModelID = "cheap" Model__TrustedRouter__E2e ModelID = "e2e" Model__TrustedRouter__Fast__Fast ModelID = "fast" Model__TrustedRouter__Synth ModelID = "synth" Model__TrustedRouter__Synth__Code ModelID = "synth-code" Model__TrustedRouter__Zdr ModelID = "zdr" Model__UmansAICodingPlan__Umans__Coder ModelID = "umans-coder" Model__UmansAICodingPlan__Umans__Flash ModelID = "umans-flash" Model__UmansAICodingPlan__Umans__GLM__5__1 ModelID = "umans-glm-5.1" Model__UmansAICodingPlan__Umans__GLM__5__2 ModelID = "umans-glm-5.2" Model__UmansAICodingPlan__Umans__Kimi__K2__7 ModelID = "umans-kimi-k2.7" Model__UmansAICodingPlan__Umans__Qwen3__6__35b__A3b ModelID = "umans-qwen3.6-35b-a3b" Model__UmansAI__Umans__Coder ModelID = "umans-coder" Model__UmansAI__Umans__Flash ModelID = "umans-flash" Model__UmansAI__Umans__GLM__5__1 ModelID = "umans-glm-5.1" Model__UmansAI__Umans__GLM__5__2 ModelID = "umans-glm-5.2" Model__UmansAI__Umans__Kimi__K2__7 ModelID = "umans-kimi-k2.7" Model__UnoRouter__Claude__Haiku__4_5__20251001 ModelID = "claude-haiku-4-5-20251001" Model__UnoRouter__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__UnoRouter__Claude__Sonnet__5 ModelID = "claude-sonnet-5" Model__UnoRouter__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__UnoRouter__DeepSeek__V4__Flash__Free ModelID = "deepseek-v4-flash:free" Model__UnoRouter__DeepSeek__V4__Pro__Free__Thinking ModelID = "deepseek-v4-pro:free" Model__UnoRouter__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__UnoRouter__GLM__4__5__Flash__Free__4_5 ModelID = "glm-4.5-flash:free" Model__UnoRouter__GLM__5_2 ModelID = "glm-5.2" Model__UnoRouter__GLM__5__2__Free ModelID = "glm-5.2:free" Model__UnoRouter__GPT__5_2 ModelID = "gpt-5.2" Model__UnoRouter__GPT__5_4 ModelID = "gpt-5.4" Model__UnoRouter__GPT__5_5 ModelID = "gpt-5.5" Model__UnoRouter__GPT__5__4__Free ModelID = "gpt-5.4:free" Model__UnoRouter__GPT__5__5__Free ModelID = "gpt-5.5:free" Model__UnoRouter__Gemini__3__5__Flash__3_5 ModelID = "gemini-3.5-flash" Model__UnoRouter__Gemma__4__31b__It__Free__4 ModelID = "gemma-4-31b-it:free" Model__UnoRouter__Kimi__K2__6__2_6 ModelID = "kimi-k2.6" Model__UnoRouter__MiniMax__M2__7__2_7 ModelID = "minimax-m2.7" Model__UnoRouter__MiniMax__M2__7__Free__2_7 ModelID = "minimax-m2.7:free" Model__UnoRouter__Nemotron__3__Ultra__550b__A55b__Free__3 ModelID = "nemotron-3-ultra-550b-a55b:free" Model__UnoRouter__Qwen3__5__397b__A17b__Free__3_5 ModelID = "qwen3.5-397b-a17b:free" Model__UnoRouter__Step__3__7__Flash__Free__3_7 ModelID = "step-3.7-flash:free" Model__Upstage__Solar__Mini ModelID = "solar-mini" Model__Upstage__Solar__Pro2 ModelID = "solar-pro2" Model__Upstage__Solar__Pro3 ModelID = "solar-pro3" Model__V0__V0__1__0__Md__1_0 ModelID = "v0-1.0-md" Model__V0__V0__1__5__Lg__1_5 ModelID = "v0-1.5-lg" Model__V0__V0__1__5__Md__1_5 ModelID = "v0-1.5-md" Model__Venice__Aion__Labs__Aion__2_0 ModelID = "aion-labs-aion-2-0" Model__Venice__Aion__Labs__Aion__3_0 ModelID = "aion-labs-aion-3-0" Model__Venice__Aion__Labs__Aion__3__0__Mini__3_0 ModelID = "aion-labs-aion-3-0-mini" Model__Venice__Claude__Fable__5 ModelID = "claude-fable-5" Model__Venice__Claude__Opus__4_5 ModelID = "claude-opus-4-5" Model__Venice__Claude__Opus__4_6 ModelID = "claude-opus-4-6" Model__Venice__Claude__Opus__4_7 ModelID = "claude-opus-4-7" Model__Venice__Claude__Opus__4_7__Fast ModelID = "claude-opus-4-7-fast" Model__Venice__Claude__Opus__4_8 ModelID = "claude-opus-4-8" Model__Venice__Claude__Opus__4_8__Fast ModelID = "claude-opus-4-8-fast" Model__Venice__Claude__Sonnet__4_5 ModelID = "claude-sonnet-4-5" Model__Venice__Claude__Sonnet__4_6 ModelID = "claude-sonnet-4-6" Model__Venice__Claude__Sonnet__5 ModelID = "claude-sonnet-5" Model__Venice__DeepSeek__V3__2 ModelID = "deepseek-v3.2" Model__Venice__DeepSeek__V4__Flash ModelID = "deepseek-v4-flash" Model__Venice__DeepSeek__V4__Pro ModelID = "deepseek-v4-pro" Model__Venice__Gemini__3__1__Pro__3_1__Preview ModelID = "gemini-3-1-pro-preview" Model__Venice__Gemini__3__5__Flash__3_5 ModelID = "gemini-3-5-flash" Model__Venice__Gemini__3__Flash__3__Preview ModelID = "gemini-3-flash-preview" Model__Venice__Gemma__4__Uncensored__4 ModelID = "gemma-4-uncensored" Model__Venice__Google__Gemma__3__27b__It ModelID = "google-gemma-3-27b-it" Model__Venice__Google__Gemma__4__26b__A4b__It ModelID = "google-gemma-4-26b-a4b-it" Model__Venice__Google__Gemma__4__31b__It ModelID = "google-gemma-4-31b-it" Model__Venice__Grok__4_20 ModelID = "grok-4-20" Model__Venice__Grok__4_3 ModelID = "grok-4-3" Model__Venice__Grok__4_5 ModelID = "grok-4-5" Model__Venice__Grok__4__20__Multi__Agent__4_20 ModelID = "grok-4-20-multi-agent" Model__Venice__Grok__Build__0_1 ModelID = "grok-build-0-1" Model__Venice__Hermes__3__Llama__3__1__405b__3 ModelID = "hermes-3-llama-3.1-405b" Model__Venice__Kimi__K2__5__2_5 ModelID = "kimi-k2-5" Model__Venice__Kimi__K2__6__2_6 ModelID = "kimi-k2-6" Model__Venice__Kimi__K2__7__2_7__Code ModelID = "kimi-k2-7-code" Model__Venice__Llama__3__2__3b__3_2 ModelID = "llama-3.2-3b" Model__Venice__Llama__3__3__70b__3_3 ModelID = "llama-3.3-70b" Model__Venice__Mercury__2 ModelID = "mercury-2" Model__Venice__MiniMax__M25__25 ModelID = "minimax-m25" Model__Venice__MiniMax__M27__27 ModelID = "minimax-m27" Model__Venice__MiniMax__M3__3__Preview ModelID = "minimax-m3-preview" Model__Venice__Mistral__Small__2603 ModelID = "mistral-small-2603" Model__Venice__Mistral__Small__3__2__24b__3_2__Instruct ModelID = "mistral-small-3-2-24b-instruct" Model__Venice__Nvidia__Nemotron__3__Nano__30b__A3b ModelID = "nvidia-nemotron-3-nano-30b-a3b" Model__Venice__Nvidia__Nemotron__3__Ultra__550b__A55b ModelID = "nvidia-nemotron-3-ultra-550b-a55b" Model__Venice__Nvidia__Nemotron__Cascade__2__30b__A3b ModelID = "nvidia-nemotron-cascade-2-30b-a3b" Model__Venice__Olafangensan__GLM__4__7__Flash__Heretic ModelID = "olafangensan-glm-4.7-flash-heretic" Model__Venice__OpenAI__GPT__4o__20241120 ModelID = "openai-gpt-4o-2024-11-20" Model__Venice__OpenAI__GPT__4o__Mini__Mini__20240718 ModelID = "openai-gpt-4o-mini-2024-07-18" Model__Venice__OpenAI__GPT__52 ModelID = "openai-gpt-52" Model__Venice__OpenAI__GPT__52__Codex ModelID = "openai-gpt-52-codex" Model__Venice__OpenAI__GPT__53__Codex ModelID = "openai-gpt-53-codex" Model__Venice__OpenAI__GPT__54 ModelID = "openai-gpt-54" Model__Venice__OpenAI__GPT__54__Mini ModelID = "openai-gpt-54-mini" Model__Venice__OpenAI__GPT__54__Pro ModelID = "openai-gpt-54-pro" Model__Venice__OpenAI__GPT__55 ModelID = "openai-gpt-55" Model__Venice__OpenAI__GPT__55__Pro ModelID = "openai-gpt-55-pro" Model__Venice__OpenAI__GPT__56__Luna ModelID = "openai-gpt-56-luna" Model__Venice__OpenAI__GPT__56__Luna__Pro ModelID = "openai-gpt-56-luna-pro" Model__Venice__OpenAI__GPT__56__Sol ModelID = "openai-gpt-56-sol" Model__Venice__OpenAI__GPT__56__Sol__Pro ModelID = "openai-gpt-56-sol-pro" Model__Venice__OpenAI__GPT__56__Terra ModelID = "openai-gpt-56-terra" Model__Venice__OpenAI__GPT__56__Terra__Pro ModelID = "openai-gpt-56-terra-pro" Model__Venice__OpenAI__GPT__Oss__120b ModelID = "openai-gpt-oss-120b" Model__Venice__Qwen3__235b__A22b__Instruct__2507__3__Instruct ModelID = "qwen3-235b-a22b-instruct-2507" Model__Venice__Qwen3__235b__A22b__Thinking__2507__3__Thinking ModelID = "qwen3-235b-a22b-thinking-2507" Model__Venice__Qwen3__5__35b__A3b__3 ModelID = "qwen3-5-35b-a3b" Model__Venice__Qwen3__5__397b__A17b__3 ModelID = "qwen3-5-397b-a17b" Model__Venice__Qwen3__5__9b__3 ModelID = "qwen3-5-9b" Model__Venice__Qwen3__6__27b__3 ModelID = "qwen3-6-27b" Model__Venice__Qwen3__Coder__480b__A35b__Instruct__Turbo__3 ModelID = "qwen3-coder-480b-a35b-instruct-turbo" Model__Venice__Qwen3__Next__80b__3 ModelID = "qwen3-next-80b" Model__Venice__Qwen3__Vl__235b__A22b__3 ModelID = "qwen3-vl-235b-a22b" Model__Venice__Qwen__3__6__Plus__3_6 ModelID = "qwen-3-6-plus" Model__Venice__Qwen__3__7__Max__3_7 ModelID = "qwen-3-7-max" Model__Venice__Qwen__3__7__Plus__3_7 ModelID = "qwen-3-7-plus" Model__Venice__Venice__Uncensored__1_2 ModelID = "venice-uncensored-1-2" Model__Venice__Venice__Uncensored__Role__Play ModelID = "venice-uncensored-role-play" Model__Venice__Xiaomi__Mimo__V2__5__2_5 ModelID = "xiaomi-mimo-v2-5" Model__Venice__Z__AI__GLM__5__Turbo ModelID = "z-ai-glm-5-turbo" Model__Venice__Z__AI__GLM__5v__5__TurboZ ModelID = "z-ai-glm-5v-turbo" Model__Venice__Zai__Org__GLM__4__6 ModelID = "zai-org-glm-4.6" Model__Venice__Zai__Org__GLM__4__7 ModelID = "zai-org-glm-4.7" Model__Venice__Zai__Org__GLM__4__7__Flash ModelID = "zai-org-glm-4.7-flash" Model__Venice__Zai__Org__GLM__5 ModelID = "zai-org-glm-5" Model__Venice__Zai__Org__GLM__5__1 ModelID = "zai-org-glm-5-1" Model__Venice__Zai__Org__GLM__5__2 ModelID = "zai-org-glm-5-2" Model__Vercel__Arrow__1__1 ModelID = "quiverai/arrow-1.1" Model__Vercel__Claude__3__5__Haiku__3_5 ModelID = "anthropic/claude-3.5-haiku" Model__Vercel__Claude__3__Haiku__3 ModelID = "anthropic/claude-3-haiku" Model__Vercel__Claude__Fable__5 ModelID = "anthropic/claude-fable-5" Model__Vercel__Claude__Haiku__4_5 ModelID = "anthropic/claude-haiku-4.5" Model__Vercel__Claude__Opus__4 ModelID = "anthropic/claude-opus-4" Model__Vercel__Claude__Opus__4_1 ModelID = "anthropic/claude-opus-4.1" Model__Vercel__Claude__Opus__4_5 ModelID = "anthropic/claude-opus-4.5" Model__Vercel__Claude__Opus__4_6 ModelID = "anthropic/claude-opus-4.6" Model__Vercel__Claude__Opus__4_7 ModelID = "anthropic/claude-opus-4.7" Model__Vercel__Claude__Opus__4_8 ModelID = "anthropic/claude-opus-4.8" Model__Vercel__Claude__Sonnet__4 ModelID = "anthropic/claude-sonnet-4" Model__Vercel__Claude__Sonnet__4_5 ModelID = "anthropic/claude-sonnet-4.5" Model__Vercel__Claude__Sonnet__4_6 ModelID = "anthropic/claude-sonnet-4.6" Model__Vercel__Claude__Sonnet__5 ModelID = "anthropic/claude-sonnet-5" Model__Vercel__Codestral ModelID = "mistral/codestral" Model__Vercel__Codestral__Embed ModelID = "mistral/codestral-embed" Model__Vercel__Command__A ModelID = "cohere/command-a" Model__Vercel__DeepSeek__R1__Thinking ModelID = "deepseek/deepseek-r1" Model__Vercel__DeepSeek__V3 ModelID = "deepseek/deepseek-v3" Model__Vercel__DeepSeek__V3__1 ModelID = "deepseek/deepseek-v3.1" Model__Vercel__DeepSeek__V3__1__Terminus ModelID = "deepseek/deepseek-v3.1-terminus" Model__Vercel__DeepSeek__V3__2 ModelID = "deepseek/deepseek-v3.2" Model__Vercel__DeepSeek__V3__2__Thinking ModelID = "deepseek/deepseek-v3.2-thinking" Model__Vercel__DeepSeek__V4__Flash ModelID = "deepseek/deepseek-v4-flash" Model__Vercel__DeepSeek__V4__Pro ModelID = "deepseek/deepseek-v4-pro" Model__Vercel__Devstral__2 ModelID = "mistral/devstral-2" Model__Vercel__Devstral__Small ModelID = "mistral/devstral-small" Model__Vercel__Devstral__Small__2 ModelID = "mistral/devstral-small-2" Model__Vercel__Embed__V4__0 ModelID = "cohere/embed-v4.0" Model__Vercel__Flux__2__Flex__2 ModelID = "bfl/flux-2-flex" Model__Vercel__Flux__2__Klein__4b__2 ModelID = "bfl/flux-2-klein-4b" Model__Vercel__Flux__2__Klein__9b__2 ModelID = "bfl/flux-2-klein-9b" Model__Vercel__Flux__2__Max__2 ModelID = "bfl/flux-2-max" Model__Vercel__Flux__2__Pro__2 ModelID = "bfl/flux-2-pro" Model__Vercel__Flux__Fast__Schnell ModelID = "prodia/flux-fast-schnell" Model__Vercel__Flux__Kontext__Max ModelID = "bfl/flux-kontext-max" Model__Vercel__Flux__Kontext__Pro ModelID = "bfl/flux-kontext-pro" Model__Vercel__Flux__Pro__1_1 ModelID = "bfl/flux-pro-1.1" Model__Vercel__Flux__Pro__1__0__Fill ModelID = "bfl/flux-pro-1.0-fill" Model__Vercel__Flux__Pro__1__1__Ultra__1_1 ModelID = "bfl/flux-pro-1.1-ultra" Model__Vercel__Fugu__Ultra ModelID = "sakana/fugu-ultra" Model__Vercel__GLM__4_5 ModelID = "zai/glm-4.5" Model__Vercel__GLM__4_6 ModelID = "zai/glm-4.6" Model__Vercel__GLM__4_7 ModelID = "zai/glm-4.7" Model__Vercel__GLM__4__5__Air__4_5 ModelID = "zai/glm-4.5-air" Model__Vercel__GLM__4__5v__4_5 ModelID = "zai/glm-4.5v" Model__Vercel__GLM__4__6v__4_6 ModelID = "zai/glm-4.6v" Model__Vercel__GLM__4__6v__4_6__Flash ModelID = "zai/glm-4.6v-flash" Model__Vercel__GLM__4__7__Flash__4_7 ModelID = "zai/glm-4.7-flash" Model__Vercel__GLM__4__7__Flashx__4_7 ModelID = "zai/glm-4.7-flashx" Model__Vercel__GLM__5 ModelID = "zai/glm-5" Model__Vercel__GLM__5_1 ModelID = "zai/glm-5.1" Model__Vercel__GLM__5_2 ModelID = "zai/glm-5.2" Model__Vercel__GLM__5_2__Fast ModelID = "zai/glm-5.2-fast" Model__Vercel__GLM__5__Turbo ModelID = "zai/glm-5-turbo" Model__Vercel__GLM__5v__5__Turbo ModelID = "zai/glm-5v-turbo" Model__Vercel__GPT__3_5__Turbo ModelID = "openai/gpt-3.5-turbo" Model__Vercel__GPT__3_5__TurboInstruct ModelID = "openai/gpt-3.5-turbo-instruct" Model__Vercel__GPT__4_1 ModelID = "openai/gpt-4.1" Model__Vercel__GPT__4__1__Mini__4_1 ModelID = "openai/gpt-4.1-mini" Model__Vercel__GPT__4__1__Nano__4_1 ModelID = "openai/gpt-4.1-nano" Model__Vercel__GPT__4__Turbo ModelID = "openai/gpt-4-turbo" Model__Vercel__GPT__4o ModelID = "openai/gpt-4o" Model__Vercel__GPT__4o__Mini ModelID = "openai/gpt-4o-mini" Model__Vercel__GPT__4o__Mini__Search__PreviewMini ModelID = "openai/gpt-4o-mini-search-preview" Model__Vercel__GPT__4o__Mini__Transcribe__Mini ModelID = "openai/gpt-4o-mini-transcribe" Model__Vercel__GPT__4o__Transcribe ModelID = "openai/gpt-4o-transcribe" Model__Vercel__GPT__5 ModelID = "openai/gpt-5" Model__Vercel__GPT__5_1__Thinking ModelID = "openai/gpt-5.1-thinking" Model__Vercel__GPT__5_2 ModelID = "openai/gpt-5.2" Model__Vercel__GPT__5_2__Chat ModelID = "openai/gpt-5.2-chat" Model__Vercel__GPT__5_3__Chat ModelID = "openai/gpt-5.3-chat" Model__Vercel__GPT__5_4 ModelID = "openai/gpt-5.4" Model__Vercel__GPT__5_5 ModelID = "openai/gpt-5.5" Model__Vercel__GPT__5__1__Codex__5_1 ModelID = "openai/gpt-5.1-codex" Model__Vercel__GPT__5__1__Codex__Max__5_1 ModelID = "openai/gpt-5.1-codex-max" Model__Vercel__GPT__5__1__Codex__Mini__5_1 ModelID = "openai/gpt-5.1-codex-mini" Model__Vercel__GPT__5__1__Instant__5_1 ModelID = "openai/gpt-5.1-instant" Model__Vercel__GPT__5__2__Codex__5_2 ModelID = "openai/gpt-5.2-codex" Model__Vercel__GPT__5__2__Pro__5_2 ModelID = "openai/gpt-5.2-pro" Model__Vercel__GPT__5__3__Codex__5_3 ModelID = "openai/gpt-5.3-codex" Model__Vercel__GPT__5__4__Mini__5_4 ModelID = "openai/gpt-5.4-mini" Model__Vercel__GPT__5__4__Nano__5_4 ModelID = "openai/gpt-5.4-nano" Model__Vercel__GPT__5__4__Pro__5_4 ModelID = "openai/gpt-5.4-pro" Model__Vercel__GPT__5__5__Pro__5_5 ModelID = "openai/gpt-5.5-pro" Model__Vercel__GPT__5__6__Luna__5_6 ModelID = "openai/gpt-5.6-luna" Model__Vercel__GPT__5__6__Sol__5_6 ModelID = "openai/gpt-5.6-sol" Model__Vercel__GPT__5__6__Terra__5_6 ModelID = "openai/gpt-5.6-terra" Model__Vercel__GPT__5__Chat ModelID = "openai/gpt-5-chat" Model__Vercel__GPT__5__Codex__5 ModelID = "openai/gpt-5-codex" Model__Vercel__GPT__5__Mini__5 ModelID = "openai/gpt-5-mini" Model__Vercel__GPT__5__Nano__5 ModelID = "openai/gpt-5-nano" Model__Vercel__GPT__5__Pro__5 ModelID = "openai/gpt-5-pro" Model__Vercel__GPT__Image__1 ModelID = "openai/gpt-image-1" Model__Vercel__GPT__Image__1_5 ModelID = "openai/gpt-image-1.5" Model__Vercel__GPT__Image__1__Mini ModelID = "openai/gpt-image-1-mini" Model__Vercel__GPT__Image__2 ModelID = "openai/gpt-image-2" Model__Vercel__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__Vercel__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__Vercel__GPT__Oss__Safeguard__20b ModelID = "openai/gpt-oss-safeguard-20b" Model__Vercel__GPT__Realtime__1_5__Realtime ModelID = "openai/gpt-realtime-1.5" Model__Vercel__GPT__Realtime__2_1__Realtime ModelID = "openai/gpt-realtime-2.1" Model__Vercel__GPT__Realtime__2__Realtime ModelID = "openai/gpt-realtime-2" Model__Vercel__GPT__Realtime__Mini__Realtime ModelID = "openai/gpt-realtime-mini" Model__Vercel__Gemini__2__5__Flash__2_5 ModelID = "google/gemini-2.5-flash" Model__Vercel__Gemini__2__5__Flash__Image__2_5 ModelID = "google/gemini-2.5-flash-image" Model__Vercel__Gemini__2__5__Flash__Lite__2_5 ModelID = "google/gemini-2.5-flash-lite" Model__Vercel__Gemini__2__5__Pro__2_5 ModelID = "google/gemini-2.5-pro" Model__Vercel__Gemini__3__1__Flash__Image__3_1 ModelID = "google/gemini-3.1-flash-image" Model__Vercel__Gemini__3__1__Flash__Image__3_1__Preview ModelID = "google/gemini-3.1-flash-image-preview" Model__Vercel__Gemini__3__1__Flash__Lite__3_1 ModelID = "google/gemini-3.1-flash-lite" Model__Vercel__Gemini__3__1__Flash__Lite__3_1__Preview ModelID = "google/gemini-3.1-flash-lite-preview" Model__Vercel__Gemini__3__1__Flash__Lite__Image__3_1 ModelID = "google/gemini-3.1-flash-lite-image" Model__Vercel__Gemini__3__1__Pro__3_1__Preview ModelID = "google/gemini-3.1-pro-preview" Model__Vercel__Gemini__3__5__Flash__3_5 ModelID = "google/gemini-3.5-flash" Model__Vercel__Gemini__3__Flash__3 ModelID = "google/gemini-3-flash" Model__Vercel__Gemini__3__Pro__3__Preview ModelID = "google/gemini-3-pro-preview" Model__Vercel__Gemini__3__Pro__Image__3 ModelID = "google/gemini-3-pro-image" Model__Vercel__Gemini__Embedding__001 ModelID = "google/gemini-embedding-001" Model__Vercel__Gemini__Embedding__2 ModelID = "google/gemini-embedding-2" Model__Vercel__Gemini__Omni__Flash__PreviewOmni ModelID = "google/gemini-omni-flash-preview" Model__Vercel__Gemma__4__26b__A4b__It__4 ModelID = "google/gemma-4-26b-a4b-it" Model__Vercel__Gemma__4__31b__It__4 ModelID = "google/gemma-4-31b-it" Model__Vercel__Grok__4_1__ReasoningFast ModelID = "xai/grok-4.1-fast-reasoning" Model__Vercel__Grok__4_20__Reasoning ModelID = "xai/grok-4.20-reasoning" Model__Vercel__Grok__4_3 ModelID = "xai/grok-4.3" Model__Vercel__Grok__4_5 ModelID = "xai/grok-4.5" Model__Vercel__Grok__4__1__Fast__Non__Reasoning__4_1__Non_Reasoning ModelID = "xai/grok-4.1-fast-non-reasoning" Model__Vercel__Grok__4__20__Multi__Agent__4_20 ModelID = "xai/grok-4.20-multi-agent" Model__Vercel__Grok__4__20__Multi__Agent__Beta__4_20 ModelID = "xai/grok-4.20-multi-agent-beta" Model__Vercel__Grok__4__20__Non__Reasoning__4_20__Non_Reasoning ModelID = "xai/grok-4.20-non-reasoning" Model__Vercel__Grok__4__20__Non__Reasoning__Beta__4_20__Non_Reasoning ModelID = "xai/grok-4.20-non-reasoning-beta" Model__Vercel__Grok__4__20__Reasoning__Beta__4_20__Reasoning ModelID = "xai/grok-4.20-reasoning-beta" Model__Vercel__Grok__Build__0_1 ModelID = "xai/grok-build-0.1" Model__Vercel__Grok__Imagine__Image ModelID = "xai/grok-imagine-image" Model__Vercel__Grok__Imagine__Video ModelID = "xai/grok-imagine-video" Model__Vercel__Grok__Imagine__Video__1__5 ModelID = "xai/grok-imagine-video-1.5" Model__Vercel__Grok__Imagine__Video__1__5__Preview ModelID = "xai/grok-imagine-video-1.5-preview" Model__Vercel__Grok__Stt ModelID = "xai/grok-stt" Model__Vercel__Grok__Tts ModelID = "xai/grok-tts" Model__Vercel__Grok__Voice__Think__Fast__1__0 ModelID = "xai/grok-voice-think-fast-1.0" Model__Vercel__Imagen__4__0__Fast__Generate__001__4_0 ModelID = "google/imagen-4.0-fast-generate-001" Model__Vercel__Imagen__4__0__Generate__001__4_0 ModelID = "google/imagen-4.0-generate-001" Model__Vercel__Imagen__4__0__Ultra__Generate__001__4_0 ModelID = "google/imagen-4.0-ultra-generate-001" Model__Vercel__Interfaze__Beta ModelID = "interfaze/interfaze-beta" Model__Vercel__Kat__Coder__Air__V2__5 ModelID = "kwaipilot/kat-coder-air-v2.5" Model__Vercel__Kat__Coder__Pro__V1 ModelID = "kwaipilot/kat-coder-pro-v1" Model__Vercel__Kat__Coder__Pro__V2 ModelID = "kwaipilot/kat-coder-pro-v2" Model__Vercel__Kat__Coder__Pro__V2__5 ModelID = "kwaipilot/kat-coder-pro-v2.5" Model__Vercel__Kimi__K2__2 ModelID = "moonshotai/kimi-k2" Model__Vercel__Kimi__K2__2__Thinking ModelID = "moonshotai/kimi-k2-thinking" Model__Vercel__Kimi__K2__5__2_5 ModelID = "moonshotai/kimi-k2.5" Model__Vercel__Kimi__K2__6__2_6 ModelID = "moonshotai/kimi-k2.6" Model__Vercel__Kimi__K2__7__2_7__Code ModelID = "moonshotai/kimi-k2.7-code" Model__Vercel__Kimi__K2__7__Code__Highspeed__2_7 ModelID = "moonshotai/kimi-k2.7-code-highspeed" Model__Vercel__Kling__V2__5__Turbo__I2v ModelID = "klingai/kling-v2.5-turbo-i2v" Model__Vercel__Kling__V2__5__Turbo__T2v ModelID = "klingai/kling-v2.5-turbo-t2v" Model__Vercel__Kling__V2__6__I2v ModelID = "klingai/kling-v2.6-i2v" Model__Vercel__Kling__V2__6__Motion__Control ModelID = "klingai/kling-v2.6-motion-control" Model__Vercel__Kling__V2__6__T2v ModelID = "klingai/kling-v2.6-t2v" Model__Vercel__Kling__V3__0__I2v ModelID = "klingai/kling-v3.0-i2v" Model__Vercel__Kling__V3__0__Motion__Control ModelID = "klingai/kling-v3.0-motion-control" Model__Vercel__Kling__V3__0__T2v ModelID = "klingai/kling-v3.0-t2v" Model__Vercel__Llama__3__1__70b__3_1 ModelID = "meta/llama-3.1-70b" Model__Vercel__Llama__3__1__8b__3_1 ModelID = "meta/llama-3.1-8b" Model__Vercel__Llama__3__2__11b__3_2 ModelID = "meta/llama-3.2-11b" Model__Vercel__Llama__3__2__1b__3_2 ModelID = "meta/llama-3.2-1b" Model__Vercel__Llama__3__2__3b__3_2 ModelID = "meta/llama-3.2-3b" Model__Vercel__Llama__3__2__90b__3_2 ModelID = "meta/llama-3.2-90b" Model__Vercel__Llama__3__3__70b__3_3 ModelID = "meta/llama-3.3-70b" Model__Vercel__Llama__4__Maverick__4 ModelID = "meta/llama-4-maverick" Model__Vercel__Llama__4__Scout__4 ModelID = "meta/llama-4-scout" Model__Vercel__Longcat__Flash__Chat ModelID = "meituan/longcat-flash-chat" Model__Vercel__Longcat__Flash__Thinking__2601__Thinking ModelID = "meituan/longcat-flash-thinking-2601" Model__Vercel__Magistral__Medium ModelID = "mistral/magistral-medium" Model__Vercel__Magistral__Small ModelID = "mistral/magistral-small" Model__Vercel__Mercury__2 ModelID = "inception/mercury-2" Model__Vercel__Mercury__Coder__Small ModelID = "inception/mercury-coder-small" Model__Vercel__Mimo__V2__2__Pro ModelID = "xiaomi/mimo-v2-pro" Model__Vercel__Mimo__V2__5__2_5 ModelID = "xiaomi/mimo-v2.5" Model__Vercel__Mimo__V2__5__2_5__Pro ModelID = "xiaomi/mimo-v2.5-pro" Model__Vercel__Mimo__V2__Flash ModelID = "xiaomi/mimo-v2-flash" Model__Vercel__MiniMax__M2__1__2_1 ModelID = "minimax/minimax-m2.1" Model__Vercel__MiniMax__M2__1__2_1__Lightning ModelID = "minimax/minimax-m2.1-lightning" Model__Vercel__MiniMax__M2__2 ModelID = "minimax/minimax-m2" Model__Vercel__MiniMax__M2__5__2_5 ModelID = "minimax/minimax-m2.5" Model__Vercel__MiniMax__M2__5__2_5__Highspeed ModelID = "minimax/minimax-m2.5-highspeed" Model__Vercel__MiniMax__M2__7__2_7 ModelID = "minimax/minimax-m2.7" Model__Vercel__MiniMax__M2__7__2_7__Highspeed ModelID = "minimax/minimax-m2.7-highspeed" Model__Vercel__MiniMax__M3__3 ModelID = "minimax/minimax-m3" Model__Vercel__Ministral__14b ModelID = "mistral/ministral-14b" Model__Vercel__Ministral__3b ModelID = "mistral/ministral-3b" Model__Vercel__Ministral__8b ModelID = "mistral/ministral-8b" Model__Vercel__Mistral__Embed ModelID = "mistral/mistral-embed" Model__Vercel__Mistral__Large__3 ModelID = "mistral/mistral-large-3" Model__Vercel__Mistral__Medium ModelID = "mistral/mistral-medium" Model__Vercel__Mistral__Medium__3_5 ModelID = "mistral/mistral-medium-3.5" Model__Vercel__Mistral__Nemo ModelID = "mistral/mistral-nemo" Model__Vercel__Mistral__Small ModelID = "mistral/mistral-small" Model__Vercel__Morph__V3__Fast ModelID = "morph/morph-v3-fast" Model__Vercel__Morph__V3__Large ModelID = "morph/morph-v3-large" Model__Vercel__Muse__Spark__1_1 ModelID = "meta/muse-spark-1.1" Model__Vercel__Nemotron__3__Nano__30b__A3b__3 ModelID = "nvidia/nemotron-3-nano-30b-a3b" Model__Vercel__Nemotron__3__Super__120b__A12b__3 ModelID = "nvidia/nemotron-3-super-120b-a12b" Model__Vercel__Nemotron__3__Ultra__550b__A55b__3 ModelID = "nvidia/nemotron-3-ultra-550b-a55b" Model__Vercel__Nemotron__Nano__12b__V2__Vl ModelID = "nvidia/nemotron-nano-12b-v2-vl" Model__Vercel__Nemotron__Nano__9b__V2 ModelID = "nvidia/nemotron-nano-9b-v2" Model__Vercel__Nova__2__Lite__2 ModelID = "amazon/nova-2-lite" Model__Vercel__Nova__Lite ModelID = "amazon/nova-lite" Model__Vercel__Nova__Micro ModelID = "amazon/nova-micro" Model__Vercel__Nova__Pro ModelID = "amazon/nova-pro" Model__Vercel__O1__1 ModelID = "openai/o1" Model__Vercel__O3__3 ModelID = "openai/o3" Model__Vercel__O3__3__Mini ModelID = "openai/o3-mini" Model__Vercel__O3__3__Pro ModelID = "openai/o3-pro" Model__Vercel__O3__Deep__Research__3__Deep_Research ModelID = "openai/o3-deep-research" Model__Vercel__O4__4__Mini ModelID = "openai/o4-mini" Model__Vercel__Pixtral__12b ModelID = "mistral/pixtral-12b" Model__Vercel__Pixtral__Large ModelID = "mistral/pixtral-large" Model__Vercel__Qwen3__235b__A22b__3__Thinking ModelID = "alibaba/qwen3-235b-a22b-thinking" Model__Vercel__Qwen3__5__Flash__3_5 ModelID = "alibaba/qwen3.5-flash" Model__Vercel__Qwen3__5__Plus__3_5 ModelID = "alibaba/qwen3.5-plus" Model__Vercel__Qwen3__6__27b__3_6 ModelID = "alibaba/qwen3.6-27b" Model__Vercel__Qwen3__6__Plus__3_6 ModelID = "alibaba/qwen3.6-plus" Model__Vercel__Qwen3__7__Max__3_7 ModelID = "alibaba/qwen3.7-max" Model__Vercel__Qwen3__7__Plus__3_7 ModelID = "alibaba/qwen3.7-plus" Model__Vercel__Qwen3__Coder__3 ModelID = "alibaba/qwen3-coder" Model__Vercel__Qwen3__Coder__30b__A3b__3 ModelID = "alibaba/qwen3-coder-30b-a3b" Model__Vercel__Qwen3__Coder__Next__3 ModelID = "alibaba/qwen3-coder-next" Model__Vercel__Qwen3__Coder__Plus__3 ModelID = "alibaba/qwen3-coder-plus" Model__Vercel__Qwen3__Embedding__0__6b__3 ModelID = "alibaba/qwen3-embedding-0.6b" Model__Vercel__Qwen3__Embedding__4b__3 ModelID = "alibaba/qwen3-embedding-4b" Model__Vercel__Qwen3__Embedding__8b__3 ModelID = "alibaba/qwen3-embedding-8b" Model__Vercel__Qwen3__Max__3 ModelID = "alibaba/qwen3-max" Model__Vercel__Qwen3__Max__3__Preview ModelID = "alibaba/qwen3-max-preview" Model__Vercel__Qwen3__Max__3__Thinking ModelID = "alibaba/qwen3-max-thinking" Model__Vercel__Qwen3__Next__80b__A3b__3__Instruct ModelID = "alibaba/qwen3-next-80b-a3b-instruct" Model__Vercel__Qwen3__Next__80b__A3b__3__Thinking ModelID = "alibaba/qwen3-next-80b-a3b-thinking" Model__Vercel__Qwen3__Vl__235b__A22b__3__Instruct ModelID = "alibaba/qwen3-vl-235b-a22b-instruct" Model__Vercel__Qwen3__Vl__3__Instruct ModelID = "alibaba/qwen3-vl-instruct" Model__Vercel__Qwen3__Vl__3__Thinking ModelID = "alibaba/qwen3-vl-thinking" Model__Vercel__Qwen__3__14b__3 ModelID = "alibaba/qwen-3-14b" Model__Vercel__Qwen__3__235b__3 ModelID = "alibaba/qwen-3-235b" Model__Vercel__Qwen__3__30b__3 ModelID = "alibaba/qwen-3-30b" Model__Vercel__Qwen__3__32b__3 ModelID = "alibaba/qwen-3-32b" Model__Vercel__Qwen__3__6__Max__3_6__Preview ModelID = "alibaba/qwen-3.6-max-preview" Model__Vercel__Recraft__V2 ModelID = "recraft/recraft-v2" Model__Vercel__Recraft__V3 ModelID = "recraft/recraft-v3" Model__Vercel__Recraft__V4 ModelID = "recraft/recraft-v4" Model__Vercel__Recraft__V4__1 ModelID = "recraft/recraft-v4.1" Model__Vercel__Recraft__V4__1__Pro ModelID = "recraft/recraft-v4.1-pro" Model__Vercel__Recraft__V4__1__Utility ModelID = "recraft/recraft-v4.1-utility" Model__Vercel__Recraft__V4__1__Utility__Pro ModelID = "recraft/recraft-v4.1-utility-pro" Model__Vercel__Recraft__V4__Pro ModelID = "recraft/recraft-v4-pro" Model__Vercel__Rerank__2__5 ModelID = "voyage/rerank-2.5" Model__Vercel__Rerank__2__5__Lite ModelID = "voyage/rerank-2.5-lite" Model__Vercel__Rerank__V3__5 ModelID = "cohere/rerank-v3.5" Model__Vercel__Rerank__V4__Fast ModelID = "cohere/rerank-v4-fast" Model__Vercel__Rerank__V4__Pro ModelID = "cohere/rerank-v4-pro" Model__Vercel__Seed__1_6 ModelID = "bytedance/seed-1.6" Model__Vercel__Seed__1_8 ModelID = "bytedance/seed-1.8" Model__Vercel__Seedance__2__0 ModelID = "bytedance/seedance-2.0" Model__Vercel__Seedance__2__0__Fast ModelID = "bytedance/seedance-2.0-fast" Model__Vercel__Seedance__V1__0__Pro ModelID = "bytedance/seedance-v1.0-pro" Model__Vercel__Seedance__V1__0__Pro__Fast ModelID = "bytedance/seedance-v1.0-pro-fast" Model__Vercel__Seedance__V1__5__Pro ModelID = "bytedance/seedance-v1.5-pro" Model__Vercel__Seedream__4__0 ModelID = "bytedance/seedream-4.0" Model__Vercel__Seedream__4__5 ModelID = "bytedance/seedream-4.5" Model__Vercel__Seedream__5__0__Lite ModelID = "bytedance/seedream-5.0-lite" Model__Vercel__Seedream__5__0__Pro ModelID = "bytedance/seedream-5.0-pro" Model__Vercel__Sonar ModelID = "perplexity/sonar" Model__Vercel__Sonar__Pro ModelID = "perplexity/sonar-pro" Model__Vercel__Sonar__Reasoning__Pro ModelID = "perplexity/sonar-reasoning-pro" Model__Vercel__Step__3__5__Flash__3_5 ModelID = "stepfun/step-3.5-flash" Model__Vercel__Step__3__7__Flash__3_7 ModelID = "stepfun/step-3.7-flash" Model__Vercel__Text__Embedding__005 ModelID = "google/text-embedding-005" Model__Vercel__Text__Embedding__3__Large__3 ModelID = "openai/text-embedding-3-large" Model__Vercel__Text__Embedding__3__Small__3 ModelID = "openai/text-embedding-3-small" Model__Vercel__Text__Embedding__Ada__002 ModelID = "openai/text-embedding-ada-002" Model__Vercel__Text__Multilingual__Embedding__002 ModelID = "google/text-multilingual-embedding-002" Model__Vercel__Titan__Embed__Text__V2 ModelID = "amazon/titan-embed-text-v2" Model__Vercel__Trinity__Large__Preview ModelID = "arcee-ai/trinity-large-preview" Model__Vercel__Trinity__Large__Thinking ModelID = "arcee-ai/trinity-large-thinking" Model__Vercel__Trinity__Mini ModelID = "arcee-ai/trinity-mini" Model__Vercel__Tts__1 ModelID = "openai/tts-1" Model__Vercel__Tts__1__Hd ModelID = "openai/tts-1-hd" Model__Vercel__Veo__3__0__Fast__Generate__001__3_0 ModelID = "google/veo-3.0-fast-generate-001" Model__Vercel__Veo__3__0__Generate__001__3_0 ModelID = "google/veo-3.0-generate-001" Model__Vercel__Veo__3__1__Fast__Generate__001__3_1 ModelID = "google/veo-3.1-fast-generate-001" Model__Vercel__Veo__3__1__Generate__001__3_1 ModelID = "google/veo-3.1-generate-001" Model__Vercel__Voyage__3_5 ModelID = "voyage/voyage-3.5" Model__Vercel__Voyage__3__5__Lite__3_5 ModelID = "voyage/voyage-3.5-lite" Model__Vercel__Voyage__3__Large__3 ModelID = "voyage/voyage-3-large" Model__Vercel__Voyage__4 ModelID = "voyage/voyage-4" Model__Vercel__Voyage__4__Large__4 ModelID = "voyage/voyage-4-large" Model__Vercel__Voyage__4__Lite__4 ModelID = "voyage/voyage-4-lite" Model__Vercel__Voyage__Code__2 ModelID = "voyage/voyage-code-2" Model__Vercel__Voyage__Code__3 ModelID = "voyage/voyage-code-3" Model__Vercel__Voyage__Finance__2 ModelID = "voyage/voyage-finance-2" Model__Vercel__Voyage__Law__2 ModelID = "voyage/voyage-law-2" Model__Vercel__Wan__V2__5__T2v__Preview ModelID = "alibaba/wan-v2.5-t2v-preview" Model__Vercel__Wan__V2__6__I2v ModelID = "alibaba/wan-v2.6-i2v" Model__Vercel__Wan__V2__6__I2v__Flash ModelID = "alibaba/wan-v2.6-i2v-flash" Model__Vercel__Wan__V2__6__R2v ModelID = "alibaba/wan-v2.6-r2v" Model__Vercel__Wan__V2__6__R2v__Flash ModelID = "alibaba/wan-v2.6-r2v-flash" Model__Vercel__Wan__V2__6__T2v ModelID = "alibaba/wan-v2.6-t2v" Model__Vercel__Wan__V2__7__R2v ModelID = "alibaba/wan-v2.7-r2v" Model__Vercel__Wan__V2__7__T2v ModelID = "alibaba/wan-v2.7-t2v" Model__Vercel__Whisper__1 ModelID = "openai/whisper-1" Model__Vivgrid__DeepSeek__V3__2 ModelID = "deepseek-v3.2" Model__Vivgrid__DeepSeek__V4__Pro__Thinking ModelID = "deepseek-v4-pro" Model__Vivgrid__GLM__5_2 ModelID = "glm-5.2" Model__Vivgrid__GPT__5_4 ModelID = "gpt-5.4" Model__Vivgrid__GPT__5_5 ModelID = "gpt-5.5" Model__Vivgrid__GPT__5__1__Codex__5_1 ModelID = "gpt-5.1-codex" Model__Vivgrid__GPT__5__1__Codex__Max__5_1 ModelID = "gpt-5.1-codex-max" Model__Vivgrid__GPT__5__2__Codex__5_2 ModelID = "gpt-5.2-codex" Model__Vivgrid__GPT__5__3__Codex__5_3 ModelID = "gpt-5.3-codex" Model__Vivgrid__GPT__5__4__Mini__5_4 ModelID = "gpt-5.4-mini" Model__Vivgrid__GPT__5__4__Nano__5_4 ModelID = "gpt-5.4-nano" Model__Vivgrid__GPT__5__6__Luna__5_6 ModelID = "gpt-5.6-luna" Model__Vivgrid__GPT__5__6__Sol__5_6 ModelID = "gpt-5.6-sol" Model__Vivgrid__GPT__5__6__Terra__5_6 ModelID = "gpt-5.6-terra" Model__Vivgrid__GPT__5__Mini__5 ModelID = "gpt-5-mini" Model__Vivgrid__Gemini__3__1__Flash__Lite__3_1__Preview ModelID = "gemini-3.1-flash-lite-preview" Model__Vivgrid__Gemini__3__1__Pro__3_1__Preview ModelID = "gemini-3.1-pro-preview" Model__Vultr__DeepSeek__V3__2__Nvfp4 ModelID = "nvidia/DeepSeek-V3.2-NVFP4" Model__Vultr__DeepSeek__V4__Flash ModelID = "deepseek-ai/DeepSeek-V4-Flash" Model__Vultr__GLM__5__2__Fp8__5_2 ModelID = "zai-org/GLM-5.2-FP8" Model__Vultr__Kimi__K2__6__2_6 ModelID = "moonshotai/Kimi-K2.6" Model__Vultr__Mimo__V2__5__2_5__Pro ModelID = "XiaomiMiMo/MiMo-V2.5-Pro" Model__Vultr__MiniMax__M2__7__2_7 ModelID = "MiniMaxAI/MiniMax-M2.7" Model__Vultr__Nemotron__3__Nano__Omni__30B__A3b__Reasoning__Bf16__3__ReasoningOmni ModelID = "nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16" Model__Vultr__Nemotron__Cascade__2__30B__A3b__2 ModelID = "nvidia/Nemotron-Cascade-2-30B-A3B" Model__Vultr__Qwen3__5__397B__A17b__3_5 ModelID = "Qwen/Qwen3.5-397B-A17B" Model__Vultr__Qwen3__6__27B__3_6 ModelID = "Qwen/Qwen3.6-27B" Model__WaferAI__GLM__5_1 ModelID = "GLM-5.1" Model__WaferAI__GLM__5_2 ModelID = "GLM-5.2" Model__WaferAI__Glm5__2__5_2__Fast ModelID = "glm5.2-fast" Model__WaferAI__Kimi__K2__6__2_6 ModelID = "Kimi-K2.6" Model__WaferAI__MiniMax__M3__3 ModelID = "MiniMax-M3" Model__Wandb__DeepSeek__V3__1 ModelID = "deepseek-ai/DeepSeek-V3.1" Model__Wandb__DeepSeek__V4__Flash ModelID = "deepseek-ai/DeepSeek-V4-Flash" Model__Wandb__DeepSeek__V4__Pro ModelID = "deepseek-ai/DeepSeek-V4-Pro" Model__Wandb__GLM__5_1 ModelID = "zai-org/GLM-5.1" Model__Wandb__GLM__5_2 ModelID = "zai-org/GLM-5.2" Model__Wandb__GPT__Oss__120b ModelID = "openai/gpt-oss-120b" Model__Wandb__GPT__Oss__20b ModelID = "openai/gpt-oss-20b" Model__Wandb__Gemma__4__31B__It__4 ModelID = "google/gemma-4-31B-it" Model__Wandb__Granite__4__1__8b__4_1 ModelID = "ibm-granite/granite-4.1-8b" Model__Wandb__Kimi__K2__5__2_5 ModelID = "moonshotai/Kimi-K2.5" Model__Wandb__Kimi__K2__6__2_6 ModelID = "moonshotai/Kimi-K2.6" Model__Wandb__Kimi__K2__7__2_7__Code ModelID = "moonshotai/Kimi-K2.7-Code" Model__Wandb__Llama__3__1__70B__3_1__Instruct ModelID = "meta-llama/Llama-3.1-70B-Instruct" Model__Wandb__Llama__3__1__8B__3_1__Instruct ModelID = "meta-llama/Llama-3.1-8B-Instruct" Model__Wandb__Llama__3__3__70B__3_3__Instruct ModelID = "meta-llama/Llama-3.3-70B-Instruct" Model__Wandb__Mellum2__12B__A2__5B__Instruct ModelID = "JetBrains/Mellum2-12B-A2.5B-Instruct" Model__Wandb__MiniMax__M2__5__2_5 ModelID = "MiniMaxAI/MiniMax-M2.5" Model__Wandb__Nvidia__Nemotron__3__Super__120B__A12b__Fp8 ModelID = "nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8" Model__Wandb__Nvidia__Nemotron__3__Ultra__550B__A55b ModelID = "nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B" Model__Wandb__Phi__4__Mini__4__Instruct ModelID = "microsoft/Phi-4-mini-instruct" Model__Wandb__Qwen3__14B__3__Instruct ModelID = "OpenPipe/Qwen3-14B-Instruct" Model__Wandb__Qwen3__235B__A22b__Instruct__2507__3__Instruct ModelID = "Qwen/Qwen3-235B-A22B-Instruct-2507" Model__Wandb__Qwen3__235B__A22b__Thinking__2507__3__Thinking ModelID = "Qwen/Qwen3-235B-A22B-Thinking-2507" Model__Wandb__Qwen3__30B__A3b__Instruct__2507__3__Instruct ModelID = "Qwen/Qwen3-30B-A3B-Instruct-2507" Model__Wandb__Qwen3__5__27B__3_5 ModelID = "Qwen/Qwen3.5-27B" Model__Wandb__Qwen3__5__35B__A3b__3_5 ModelID = "Qwen/Qwen3.5-35B-A3B" Model__Wandb__Qwen3__6__27B__3_6 ModelID = "Qwen/Qwen3.6-27B" Model__Wandb__Qwen3__6__35B__A3b__3_6 ModelID = "Qwen/Qwen3.6-35B-A3B" Model__Wandb__Qwen3__Coder__480B__A35b__3__Instruct ModelID = "Qwen/Qwen3-Coder-480B-A35B-Instruct" Model__XiaomiTokenPlanAMS__Mimo__V2__2__Pro ModelID = "mimo-v2-pro" Model__XiaomiTokenPlanAMS__Mimo__V2__5__2_5 ModelID = "mimo-v2.5" Model__XiaomiTokenPlanAMS__Mimo__V2__5__2_5__Pro ModelID = "mimo-v2.5-pro" Model__XiaomiTokenPlanAMS__Mimo__V2__5__Tts ModelID = "mimo-v2.5-tts" Model__XiaomiTokenPlanAMS__Mimo__V2__5__Tts__Voiceclone ModelID = "mimo-v2.5-tts-voiceclone" Model__XiaomiTokenPlanAMS__Mimo__V2__5__Tts__Voicedesign ModelID = "mimo-v2.5-tts-voicedesign" Model__XiaomiTokenPlanAMS__Mimo__V2__Tts ModelID = "mimo-v2-tts" Model__XiaomiTokenPlanCN__Mimo__V2__2__Pro ModelID = "mimo-v2-pro" Model__XiaomiTokenPlanCN__Mimo__V2__5__2_5 ModelID = "mimo-v2.5" Model__XiaomiTokenPlanCN__Mimo__V2__5__2_5__Pro ModelID = "mimo-v2.5-pro" Model__XiaomiTokenPlanCN__Mimo__V2__5__Tts ModelID = "mimo-v2.5-tts" Model__XiaomiTokenPlanCN__Mimo__V2__5__Tts__Voiceclone ModelID = "mimo-v2.5-tts-voiceclone" Model__XiaomiTokenPlanCN__Mimo__V2__5__Tts__Voicedesign ModelID = "mimo-v2.5-tts-voicedesign" Model__XiaomiTokenPlanCN__Mimo__V2__Tts ModelID = "mimo-v2-tts" Model__XiaomiTokenPlanSGP__Mimo__V2__2__Pro ModelID = "mimo-v2-pro" Model__XiaomiTokenPlanSGP__Mimo__V2__5__2_5 ModelID = "mimo-v2.5" Model__XiaomiTokenPlanSGP__Mimo__V2__5__2_5__Pro ModelID = "mimo-v2.5-pro" Model__XiaomiTokenPlanSGP__Mimo__V2__5__Tts ModelID = "mimo-v2.5-tts" Model__XiaomiTokenPlanSGP__Mimo__V2__5__Tts__Voiceclone ModelID = "mimo-v2.5-tts-voiceclone" Model__XiaomiTokenPlanSGP__Mimo__V2__5__Tts__Voicedesign ModelID = "mimo-v2.5-tts-voicedesign" Model__XiaomiTokenPlanSGP__Mimo__V2__Tts ModelID = "mimo-v2-tts" Model__Xiaomi__Mimo__V2__2__Omni ModelID = "mimo-v2-omni" Model__Xiaomi__Mimo__V2__2__Pro ModelID = "mimo-v2-pro" Model__Xiaomi__Mimo__V2__5__2_5 ModelID = "mimo-v2.5" Model__Xiaomi__Mimo__V2__5__2_5__Pro ModelID = "mimo-v2.5-pro" Model__Xiaomi__Mimo__V2__5__Pro__Ultraspeed ModelID = "mimo-v2.5-pro-ultraspeed" Model__Xiaomi__Mimo__V2__Flash ModelID = "mimo-v2-flash" Model__Xpersona__Claude__Fable__5 ModelID = "claude-fable-5" Model__Xpersona__Xpersona__Frieren__Coder ModelID = "xpersona-frieren-coder" Model__Xpersona__Xpersona__GPT__5__5 ModelID = "xpersona-gpt-5.5" Model__ZaiCodingPlan__GLM__4_7 ModelID = "glm-4.7" Model__ZaiCodingPlan__GLM__4__5__Air__4_5 ModelID = "glm-4.5-air" Model__ZaiCodingPlan__GLM__5_1 ModelID = "glm-5.1" Model__ZaiCodingPlan__GLM__5_2 ModelID = "glm-5.2" Model__ZaiCodingPlan__GLM__5__Turbo ModelID = "glm-5-turbo" Model__ZaiCodingPlan__GLM__5v__5__Turbo ModelID = "glm-5v-turbo" Model__Zai__GLM__4_5 ModelID = "glm-4.5" Model__Zai__GLM__4_6 ModelID = "glm-4.6" Model__Zai__GLM__4_7 ModelID = "glm-4.7" Model__Zai__GLM__4__5__Air__4_5 ModelID = "glm-4.5-air" Model__Zai__GLM__4__5__Flash__4_5 ModelID = "glm-4.5-flash" Model__Zai__GLM__4__5v__4_5 ModelID = "glm-4.5v" Model__Zai__GLM__4__6v__4_6 ModelID = "glm-4.6v" Model__Zai__GLM__4__7__Flash__4_7 ModelID = "glm-4.7-flash" Model__Zai__GLM__4__7__Flashx__4_7 ModelID = "glm-4.7-flashx" Model__Zai__GLM__5 ModelID = "glm-5" Model__Zai__GLM__5_1 ModelID = "glm-5.1" Model__Zai__GLM__5_2 ModelID = "glm-5.2" Model__Zai__GLM__5__Turbo ModelID = "glm-5-turbo" Model__Zai__GLM__5v__5__Turbo ModelID = "glm-5v-turbo" Model__Zeldoc__Z__Code ModelID = "z-code" Model__ZenMux__Agnes__1__5__Lite__1_5 ModelID = "sapiens-ai/agnes-1.5-lite" Model__ZenMux__Agnes__1__5__Pro__1_5 ModelID = "sapiens-ai/agnes-1.5-pro" Model__ZenMux__Claude__3__5__Haiku__3_5 ModelID = "anthropic/claude-3.5-haiku" Model__ZenMux__Claude__3__7__Sonnet__3_7 ModelID = "anthropic/claude-3.7-sonnet" Model__ZenMux__Claude__Fable__5 ModelID = "anthropic/claude-fable-5" Model__ZenMux__Claude__Haiku__4_5 ModelID = "anthropic/claude-haiku-4.5" Model__ZenMux__Claude__Opus__4 ModelID = "anthropic/claude-opus-4" Model__ZenMux__Claude__Opus__4_1 ModelID = "anthropic/claude-opus-4.1" Model__ZenMux__Claude__Opus__4_5 ModelID = "anthropic/claude-opus-4.5" Model__ZenMux__Claude__Opus__4_6 ModelID = "anthropic/claude-opus-4.6" Model__ZenMux__Claude__Opus__4_7 ModelID = "anthropic/claude-opus-4.7" Model__ZenMux__Claude__Opus__4_8 ModelID = "anthropic/claude-opus-4.8" Model__ZenMux__Claude__Sonnet__4 ModelID = "anthropic/claude-sonnet-4" Model__ZenMux__Claude__Sonnet__4_5 ModelID = "anthropic/claude-sonnet-4.5" Model__ZenMux__Claude__Sonnet__4_6 ModelID = "anthropic/claude-sonnet-4.6" Model__ZenMux__Claude__Sonnet__5 ModelID = "anthropic/claude-sonnet-5" Model__ZenMux__Claude__Sonnet__5__Free ModelID = "anthropic/claude-sonnet-5-free" Model__ZenMux__DeepSeek__Chat ModelID = "deepseek/deepseek-chat" Model__ZenMux__DeepSeek__V3__2 ModelID = "deepseek/deepseek-v3.2" Model__ZenMux__DeepSeek__V3__2__Exp ModelID = "deepseek/deepseek-v3.2-exp" Model__ZenMux__DeepSeek__V4__Flash ModelID = "deepseek/deepseek-v4-flash" Model__ZenMux__DeepSeek__V4__Pro__Thinking ModelID = "deepseek/deepseek-v4-pro" Model__ZenMux__Doubao__Seed__1_8 ModelID = "volcengine/doubao-seed-1.8" Model__ZenMux__Doubao__Seed__2_0__Code ModelID = "volcengine/doubao-seed-2.0-code" Model__ZenMux__Doubao__Seed__2__0__Lite__2_0 ModelID = "volcengine/doubao-seed-2.0-lite" Model__ZenMux__Doubao__Seed__2__0__Mini__2_0 ModelID = "volcengine/doubao-seed-2.0-mini" Model__ZenMux__Doubao__Seed__2__0__Pro__2_0 ModelID = "volcengine/doubao-seed-2.0-pro" Model__ZenMux__Doubao__Seed__Code ModelID = "volcengine/doubao-seed-code" Model__ZenMux__Ernie__5_0__ThinkingPreview ModelID = "baidu/ernie-5.0-thinking-preview" Model__ZenMux__GLM__4_5 ModelID = "z-ai/glm-4.5" Model__ZenMux__GLM__4_6 ModelID = "z-ai/glm-4.6" Model__ZenMux__GLM__4_7 ModelID = "z-ai/glm-4.7" Model__ZenMux__GLM__4__5__Air__4_5 ModelID = "z-ai/glm-4.5-air" Model__ZenMux__GLM__4__6v__4_6 ModelID = "z-ai/glm-4.6v" Model__ZenMux__GLM__4__6v__4_6__Flash ModelID = "z-ai/glm-4.6v-flash" Model__ZenMux__GLM__4__6v__Flash__Free__4_6__Flash ModelID = "z-ai/glm-4.6v-flash-free" Model__ZenMux__GLM__4__7__Flash__Free__4_7 ModelID = "z-ai/glm-4.7-flash-free" Model__ZenMux__GLM__4__7__Flashx__4_7 ModelID = "z-ai/glm-4.7-flashx" Model__ZenMux__GLM__5 ModelID = "z-ai/glm-5" Model__ZenMux__GLM__5_1 ModelID = "z-ai/glm-5.1" Model__ZenMux__GLM__5_2 ModelID = "z-ai/glm-5.2" Model__ZenMux__GLM__5__2__Free__5_2 ModelID = "z-ai/glm-5.2-free" Model__ZenMux__GLM__5__Turbo ModelID = "z-ai/glm-5-turbo" Model__ZenMux__GLM__5v__5__Turbo ModelID = "z-ai/glm-5v-turbo" Model__ZenMux__GPT__5 ModelID = "openai/gpt-5" Model__ZenMux__GPT__5_1 ModelID = "openai/gpt-5.1" Model__ZenMux__GPT__5_1__Chat ModelID = "openai/gpt-5.1-chat" Model__ZenMux__GPT__5_2 ModelID = "openai/gpt-5.2" Model__ZenMux__GPT__5_3__Chat ModelID = "openai/gpt-5.3-chat" Model__ZenMux__GPT__5_4 ModelID = "openai/gpt-5.4" Model__ZenMux__GPT__5_5 ModelID = "openai/gpt-5.5" Model__ZenMux__GPT__5__1__Codex__5_1 ModelID = "openai/gpt-5.1-codex" Model__ZenMux__GPT__5__1__Codex__Mini__5_1 ModelID = "openai/gpt-5.1-codex-mini" Model__ZenMux__GPT__5__2__Codex__5_2 ModelID = "openai/gpt-5.2-codex" Model__ZenMux__GPT__5__2__Pro__5_2 ModelID = "openai/gpt-5.2-pro" Model__ZenMux__GPT__5__3__Codex__5_3 ModelID = "openai/gpt-5.3-codex" Model__ZenMux__GPT__5__4__Mini__5_4 ModelID = "openai/gpt-5.4-mini" Model__ZenMux__GPT__5__4__Nano__5_4 ModelID = "openai/gpt-5.4-nano" Model__ZenMux__GPT__5__4__Pro__5_4 ModelID = "openai/gpt-5.4-pro" Model__ZenMux__GPT__5__5__Instant__5_5 ModelID = "openai/gpt-5.5-instant" Model__ZenMux__GPT__5__5__Pro__5_5 ModelID = "openai/gpt-5.5-pro" Model__ZenMux__GPT__5__6__Luna__5_6 ModelID = "openai/gpt-5.6-luna" Model__ZenMux__GPT__5__6__Sol__5_6 ModelID = "openai/gpt-5.6-sol" Model__ZenMux__GPT__5__6__Terra__5_6 ModelID = "openai/gpt-5.6-terra" Model__ZenMux__GPT__5__Codex__5 ModelID = "openai/gpt-5-codex" Model__ZenMux__Gemini__2__5__Flash__2_5 ModelID = "google/gemini-2.5-flash" Model__ZenMux__Gemini__2__5__Flash__Lite__2_5 ModelID = "google/gemini-2.5-flash-lite" Model__ZenMux__Gemini__2__5__Pro__2_5 ModelID = "google/gemini-2.5-pro" Model__ZenMux__Gemini__3__1__Flash__Lite__3_1 ModelID = "google/gemini-3.1-flash-lite" Model__ZenMux__Gemini__3__1__Flash__Lite__3_1__Preview ModelID = "google/gemini-3.1-flash-lite-preview" Model__ZenMux__Gemini__3__1__Pro__3_1__Preview ModelID = "google/gemini-3.1-pro-preview" Model__ZenMux__Gemini__3__5__Flash__3_5 ModelID = "google/gemini-3.5-flash" Model__ZenMux__Gemini__3__Flash__3__Preview ModelID = "google/gemini-3-flash-preview" Model__ZenMux__Grok__4 ModelID = "x-ai/grok-4" Model__ZenMux__Grok__4_1__Fast ModelID = "x-ai/grok-4.1-fast" Model__ZenMux__Grok__4_2__Fast ModelID = "x-ai/grok-4.2-fast" Model__ZenMux__Grok__4_3 ModelID = "x-ai/grok-4.3" Model__ZenMux__Grok__4_5 ModelID = "x-ai/grok-4.5" Model__ZenMux__Grok__4__1__Fast__Non__Reasoning__4_1__Non_Reasoning ModelID = "x-ai/grok-4.1-fast-non-reasoning" Model__ZenMux__Grok__4__2__Fast__Non__Reasoning__4_2__Non_Reasoning ModelID = "x-ai/grok-4.2-fast-non-reasoning" Model__ZenMux__Grok__4__Fast ModelID = "x-ai/grok-4-fast" Model__ZenMux__Grok__Build__0_1 ModelID = "x-ai/grok-build-0.1" Model__ZenMux__Grok__Code__Fast__1 ModelID = "x-ai/grok-code-fast-1" Model__ZenMux__Hy3__3__Preview ModelID = "tencent/hy3-preview" Model__ZenMux__Kat__Coder__Pro__V2 ModelID = "kuaishou/kat-coder-pro-v2" Model__ZenMux__Kimi__K2__0905__2 ModelID = "moonshotai/kimi-k2-0905" Model__ZenMux__Kimi__K2__2__Thinking ModelID = "moonshotai/kimi-k2-thinking" Model__ZenMux__Kimi__K2__2__ThinkingTurbo ModelID = "moonshotai/kimi-k2-thinking-turbo" Model__ZenMux__Kimi__K2__5__2_5 ModelID = "moonshotai/kimi-k2.5" Model__ZenMux__Kimi__K2__6__2_6 ModelID = "moonshotai/kimi-k2.6" Model__ZenMux__Kimi__K2__7__2_7__Code ModelID = "moonshotai/kimi-k2.7-code" Model__ZenMux__Kimi__K2__7__Code__Free ModelID = "moonshotai/kimi-k2.7-code-free" Model__ZenMux__Ling__1t ModelID = "inclusionai/ling-1t" Model__ZenMux__Mimo__V2__2__Omni ModelID = "xiaomi/mimo-v2-omni" Model__ZenMux__Mimo__V2__2__Pro ModelID = "xiaomi/mimo-v2-pro" Model__ZenMux__Mimo__V2__5__2_5 ModelID = "xiaomi/mimo-v2.5" Model__ZenMux__Mimo__V2__5__2_5__Pro ModelID = "xiaomi/mimo-v2.5-pro" Model__ZenMux__Mimo__V2__Flash ModelID = "xiaomi/mimo-v2-flash" Model__ZenMux__MiniMax__M2__1__2_1 ModelID = "minimax/minimax-m2.1" Model__ZenMux__MiniMax__M2__2 ModelID = "minimax/minimax-m2" Model__ZenMux__MiniMax__M2__5__2_5 ModelID = "minimax/minimax-m2.5" Model__ZenMux__MiniMax__M2__5__2_5__Lightning ModelID = "minimax/minimax-m2.5-lightning" Model__ZenMux__MiniMax__M2__7__2_7 ModelID = "minimax/minimax-m2.7" Model__ZenMux__MiniMax__M2__7__2_7__Highspeed ModelID = "minimax/minimax-m2.7-highspeed" Model__ZenMux__MiniMax__M3__3 ModelID = "minimax/minimax-m3" Model__ZenMux__Qwen3__5__Flash__3_5 ModelID = "qwen/qwen3.5-flash" Model__ZenMux__Qwen3__5__Plus__3_5 ModelID = "qwen/qwen3.5-plus" Model__ZenMux__Qwen3__6__Plus__3_6 ModelID = "qwen/qwen3.6-plus" Model__ZenMux__Qwen3__7__Max__3_7 ModelID = "qwen/qwen3.7-max" Model__ZenMux__Qwen3__7__Plus__3_7 ModelID = "qwen/qwen3.7-plus" Model__ZenMux__Qwen3__Coder__Plus__3 ModelID = "qwen/qwen3-coder-plus" Model__ZenMux__Qwen3__Max__3 ModelID = "qwen/qwen3-max" Model__ZenMux__Ring__1t ModelID = "inclusionai/ring-1t" Model__ZenMux__Ring__2__6__1t__2_6 ModelID = "inclusionai/ring-2.6-1t" Model__ZenMux__Step__3 ModelID = "stepfun/step-3" Model__ZenMux__Step__3__5__Flash__3_5 ModelID = "stepfun/step-3.5-flash" Model__ZenMux__Step__3__7__Flash__3_7 ModelID = "stepfun/step-3.7-flash" Model__ZenMux__Step__3__7__Flash__Free__3_7 ModelID = "stepfun/step-3.7-flash-free" Model__Zenifra__Qwen3__6__35b__A3b__3_6 ModelID = "alibaba/qwen3.6-35b-a3b" Model__ZhipuaiCodingPlan__GLM__4_7 ModelID = "glm-4.7" Model__ZhipuaiCodingPlan__GLM__4__5__Air__4_5 ModelID = "glm-4.5-air" Model__ZhipuaiCodingPlan__GLM__4__6v__4_6 ModelID = "glm-4.6v" Model__ZhipuaiCodingPlan__GLM__5_1 ModelID = "glm-5.1" Model__ZhipuaiCodingPlan__GLM__5_2 ModelID = "glm-5.2" Model__ZhipuaiCodingPlan__GLM__5__Turbo ModelID = "glm-5-turbo" Model__ZhipuaiCodingPlan__GLM__5v__5__Turbo ModelID = "glm-5v-turbo" Model__Zhipuai__GLM__4_5 ModelID = "glm-4.5" Model__Zhipuai__GLM__4_6 ModelID = "glm-4.6" Model__Zhipuai__GLM__4_7 ModelID = "glm-4.7" Model__Zhipuai__GLM__4__5__Air__4_5 ModelID = "glm-4.5-air" Model__Zhipuai__GLM__4__5__Flash__4_5 ModelID = "glm-4.5-flash" Model__Zhipuai__GLM__4__5v__4_5 ModelID = "glm-4.5v" Model__Zhipuai__GLM__4__6v__4_6 ModelID = "glm-4.6v" Model__Zhipuai__GLM__4__7__Flash__4_7 ModelID = "glm-4.7-flash" Model__Zhipuai__GLM__4__7__Flashx__4_7 ModelID = "glm-4.7-flashx" Model__Zhipuai__GLM__5 ModelID = "glm-5" Model__Zhipuai__GLM__5_1 ModelID = "glm-5.1" Model__Zhipuai__GLM__5_2 ModelID = "glm-5.2" Model__Zhipuai__GLM__5v__5__Turbo ModelID = "glm-5v-turbo" Model__iFlowCN__DeepSeek__R1__Thinking ModelID = "deepseek-r1" Model__iFlowCN__DeepSeek__V3 ModelID = "deepseek-v3" Model__iFlowCN__DeepSeek__V3__2 ModelID = "deepseek-v3.2" Model__iFlowCN__GLM__4_6 ModelID = "glm-4.6" Model__iFlowCN__Kimi__K2__0905__2 ModelID = "kimi-k2-0905" Model__iFlowCN__Kimi__K2__2 ModelID = "kimi-k2" Model__iFlowCN__Qwen3__235b__3 ModelID = "qwen3-235b" Model__iFlowCN__Qwen3__235b__A22b__3__Instruct ModelID = "qwen3-235b-a22b-instruct" Model__iFlowCN__Qwen3__235b__A22b__Thinking__2507__3__Thinking ModelID = "qwen3-235b-a22b-thinking-2507" Model__iFlowCN__Qwen3__32b__3 ModelID = "qwen3-32b" Model__iFlowCN__Qwen3__Coder__Plus__3 ModelID = "qwen3-coder-plus" Model__iFlowCN__Qwen3__Max__3 ModelID = "qwen3-max" Model__iFlowCN__Qwen3__Max__3__Preview ModelID = "qwen3-max-preview" Model__iFlowCN__Qwen3__Vl__Plus__3 ModelID = "qwen3-vl-plus" Model__xAI__Grok__4_3 ModelID = "grok-4.3" Model__xAI__Grok__4_5 ModelID = "grok-4.5" Model__xAI__Grok__4__20__0309__4_20__Reasoning ModelID = "grok-4.20-0309-reasoning" Model__xAI__Grok__4__20__0309__Non__Reasoning__4_20__Non_Reasoning ModelID = "grok-4.20-0309-non-reasoning" Model__xAI__Grok__4__20__Multi__Agent__0309__4_20 ModelID = "grok-4.20-multi-agent-0309" Model__xAI__Grok__Build__0_1 ModelID = "grok-build-0.1" Model__xAI__Grok__Imagine__Image ModelID = "grok-imagine-image" Model__xAI__Grok__Imagine__Image__Quality ModelID = "grok-imagine-image-quality" Model__xAI__Grok__Imagine__Video ModelID = "grok-imagine-video" )
Model__* constants provide compile-time references to every eligible model in the static model registry. Names follow the pattern:
Model__<Provider>__<Family>__<Variant>?__<Version>?__<Date>?
where each component uses the same casing rules as Provider and Family constants. Double underscores separate top-level components; single underscores appear only within a component (e.g. version "4.5" → "4_5", "4o" stays "4o" within a component).
func ModelIDs ¶
func ModelIDs() []ModelID
ModelIDs returns the canonical Model_<...> constant values from the codegen pipeline. The name diverges from the original spec (Models() []ModelID) to avoid clashing with registry.go:Models() []ModelInfo.
The returned slice is a defensive copy; mutating it does not affect future calls. See Models() in registry.go for the full ModelInfo slice (metadata + constants).
type ModelInfo ¶
type ModelInfo struct {
ID ModelID
Provider Provider
DisplayName string
RawFamily Family // raw API family field verbatim (e.g. "claude-opus")
// Family is the canonical family identifier extracted from RawFamily
// (or inferred from ID when RawFamily is empty). Populated at codegen time.
Family Family
// Variant is the variant suffix extracted from RawFamily (e.g. "opus",
// "pro", "flash-lite"). Empty when the model has no variant. Populated at codegen time.
Variant string
// Version is the model version extracted from the model ID
// (primary source, e.g. "claude-opus-4-5-20251101" → "4.5") or, when the
// family string itself carries a version component, from the family string
// (fallback, e.g. "gemini-2.5-flash" → "2.5"). Empty when no separable
// version is found. Populated at codegen time.
Version string
// Date is the release date extracted from the model ID or ReleaseDate
// field, in YYYY-MM-DD format. Empty when no date is found. Populated at codegen time.
Date string
// Modifier is the LIST of known trailing tokens extracted from the model ID
// that carry semantic meaning beyond family/variant/version/date (e.g.
// ["thinking"], ["vision", "instruct"]). nil when no known modifier is found.
// The list is stored in deterministic CANONICAL ORDER (see CanonicalizeModifiers
// in modifier.go): capability > speed > format/stage, with an alphabetical
// fallback. Populated by the parse pipeline at codegen time.
// widened string → []string for lossless
// multi-modifier capture (kimi-k2-thinking-turbo → [thinking, turbo]).
//
// Release-stage tokens (preview/latest/original) REMAIN in this list as data —
// the extraction still captures them — but they are excluded from entity keys
// and from the canonical {mods}/[attrs] rendering: the Stage field carries that
// axis (see ReleaseStage in stage.go), and EntityModifiers/attributeModifiers
// route them out before classification.
Modifier []string
// ParamSize is the canonical parameter-size token for this model instance
// (e.g. "70b", "8b", "0.5b"). Empty when the size is unknown or not applicable.
// Populated at codegen time from curated data; participates in entity identity
// via the #size segment of EntityRef.String().
ParamSize string
// TotalParams, ActiveParams, PerExpertParams, and ExpertCount are the flat
// parameter-shape facts decomposed from ParamSize (see ParamShape and
// ParseParamShape). They are DERIVED presentation facts, never entity-key
// material — the identity carrier is ParamSize (the raw #size token). Each is an
// in-domain NULLable integer under the ParamShapeNull sentinel contract:
// ParamShapeNull (-1) means "not populated by the parser or curation" (the shape
// does not carry that fact, or the size is unknown), a positive value is an
// attested count, and a genuine 0 is reachable ONLY for ExpertCount (a dense
// shape attests zero experts). All four are ParamShapeNull when ParamSize is
// empty. They are grouped along parameter-shape joints, never collapsed: an NxM
// MoE token ("8x22b") records ExpertCount and PerExpertParams but leaves
// TotalParams and ActiveParams NULL (the product is deliberately not computed),
// while an active-MoE token ("30b-a3b") records TotalParams and ActiveParams and
// leaves PerExpertParams/ExpertCount NULL.
// TotalParams is the total parameter count (e.g. 30_000_000_000 for "30b");
// ParamShapeNull (-1) when the shape carries no total (NxM, count-suffixed) or
// the size is unknown.
TotalParams int64
// ActiveParams is the active (per-forward-pass) parameter count of a MoE model
// (e.g. 3_000_000_000 for "30b-a3b", 17_000_000_000 for "17b-16e").
// ParamShapeNull (-1) for a dense model or when the size is unknown.
ActiveParams int64
// PerExpertParams is the per-expert parameter count of an NxM MoE token (e.g.
// 22_000_000_000 for "8x22b"). ParamShapeNull (-1) unless the shape is NxM.
PerExpertParams int64
// ExpertCount is the number of experts of a MoE model (8 for "8x22b", 16 for
// "17b-16e"). A genuine 0 for a dense model (it attests zero experts);
// ParamShapeNull (-1) for a MoE shape that carries no count (active-MoE
// "30b-a3b") or when the size is unknown.
ExpertCount int
ContextWindow int
MaxOutput int
Reasoning bool
ToolCall bool
Attachment bool
Temperature bool
StructuredOutput bool
Interleaved Capability
OpenWeights bool
CostInputPerMTok *float64
CostOutputPerMTok *float64
CostReasoningPerMTok *float64
CostCacheReadPerMTok *float64
CostCacheWritePerMTok *float64
ReleaseDate string
Knowledge string
Modalities Modalities
// Host is the serving host / backend infrastructure that runs this model
// instance, distinct from Provider. It is a per-instance ATTRIBUTE and never
// participates in entity identity. HostNone (zero value) when unknown or when
// the provider serves the model directly. Populated by the host-split slice.
Host Host
// Lineage is the set of derivation edges from this model to its parent
// model(s) (finetune, merge, distillation, …). nil when the model is a base
// model or no curated lineage is known. Populated at codegen time from the
// curated lineage table by the lineage slice.
Lineage []LineageEdge
// QuantVRAM is the per-quantization weight and VRAM footprint for this model
// instance. nil when no quantization data is available. Populated at codegen
// time from curated data; live-sync rows carry nil (curated VRAM is not
// available from the live API).
QuantVRAM []QuantVRAM
// Source is the data source that provided this model row. DataSourceNone
// (zero value, empty string) on live-sync rows; populated at codegen time
// from curated ingest data.
Source DataSourceID
// Description is the upstream model description. Empty when none is provided.
Description string
// Status is the upstream release status for this instance (StatusNone when
// none is declared, which means generally available / stable). Status is an
// instance-level fact — it is present on the api.json side only and never on
// EntityMetadata.
Status ModelStatus
// StatusRaw carries the verbatim upstream status token, populated only when
// Status is StatusOther (an unrecognized token); empty otherwise.
StatusRaw string
// Stage is the release stage DERIVED from this model's ID (preview / beta /
// latest / original), distinct in provenance from Status: Status is the
// upstream-DECLARED lifecycle from the api.json side, while Stage is read out
// of the ID token stream by DetectStageFromID at the same enrichment joints as
// ParamSize. StageNone (the zero value) when the ID carries no recognized stage
// marker. Stage is a per-instance attribute and never participates in entity
// identity (a "-beta"/"-latest" marker does not split the entity). Populated by
// enrichModelInfo (pure function of the ID); see stage.go.
Stage ReleaseStage
// StageRaw carries the verbatim stage token, populated only when Stage is
// StageOther — the RESERVED bucket for a future non-ID stage feeder. The
// ID-detection path never yields StageOther, so StageRaw is empty for every
// ID-derived stage this epoch (mirroring StatusRaw's Other-only convention).
StageRaw string
// ReasoningOptions are the reasoning-control options this model exposes
// (toggle / effort / budget-tokens). nil when the model exposes none.
ReasoningOptions []ReasoningOption
// CostInputAudioPerMTok is the audio-input cost in USD per million tokens, or
// nil when unknown.
CostInputAudioPerMTok *float64
// CostOutputAudioPerMTok is the audio-output cost in USD per million tokens,
// or nil when unknown.
CostOutputAudioPerMTok *float64
// CostContextOver200k is the fixed context-over-200k-tokens pricing override,
// or nil when the model declares none. It is upstream's legacy fixed-threshold
// special case, kept distinct from CostTiers for wire fidelity.
CostContextOver200k *TierCost
// CostTiers are the general context-size-conditional price tiers. nil when the
// model declares none.
CostTiers []CostTier
LastSynced string // RFC3339
}
ModelInfo holds metadata for a single AI model as returned by the models.dev API.
Canonical fields (Family, Variant, Version, Date) are populated at codegen time by the bestiary-gen tool invoking bestiary.ParseFamily, bestiary.ExtractDate, and bestiary.InferFamilyFromID. They are zero-value for models loaded from the SQLite cache (pre-normalization epoch) until a sync is performed.
RawFamily is the raw API family value verbatim (e.g. "claude-opus", "gemini-flash"). Family is the canonical/normalized family (e.g. "claude", "gemini").
func LookupModel ¶
LookupModel searches the static registry for a model by its ID. It returns the model and true if found, or the zero value and false otherwise.
func LookupModelByProvider ¶
LookupModelByProvider searches the static registry for a model matching both the given provider and name (model ID string). It returns the model and true if found, or the zero value and false otherwise.
func MergeModels ¶
MergeModels merges static and cached model lists. Deduplicates by (ModelID, Provider) pair. When both sources have the same (ID, Provider), the entry with the more recent LastSynced timestamp wins. Models with the same ID but different providers are kept as distinct entries. Since LastSynced uses RFC3339 UTC format, lexicographic string comparison correctly determines recency.
func Models ¶
func Models() []ModelInfo
Models returns all available models. It delegates to StaticModels and returns a defensive copy so callers cannot mutate the registry. This is the preferred API for external callers; StaticModels is an implementation detail.
See ModelIDs() (in models_constants_gen.go) for the canonical Model_* constant slice.
func ModelsByFamily ¶
ModelsByFamily returns all static models with the given raw API family string. The family parameter matches the RawFamily field (verbatim API value, e.g. "claude-opus", "gemini-flash").
func ModelsByProvider ¶
ModelsByProvider returns all static models from the given provider.
func ParseAPIJSON ¶ added in v0.2.5
ParseAPIJSON decodes an api.json artifact (a models.dev provider map) into the public ModelInfo slice. It is the SAME decode path Client.FetchModels uses, so codegen and tests can parse a committed api.json snapshot offline with identical results. Model order follows API map iteration and is not sorted; callers that need determinism sort the result themselves.
func StaticModels ¶
func StaticModels() []ModelInfo
StaticModels returns a defensive copy of the compiled-in model data. Modifying the returned slice does not affect the registry.
func (ModelInfo) Ref ¶
Ref returns a ModelRef for this ModelInfo. Every field is populated: ID from the API model ID, RawFamily from the raw API family field, and Family, Variant, Version, ParamSize, Date, Modifier, Host from the codegen-baked normalization. ParamSize carries the canonical parameter-size token so identity-level consumers (e.g. Resolve's ambiguity grouping) can keep distinct sizes of one family apart.
type ModelLink ¶ added in v0.2.5
type ModelLink struct {
// Label is the human-facing link text.
Label string
// URL is the link target.
URL string
// Type is the classified link type.
Type LinkType
// TypeRaw carries the verbatim upstream type token, populated only when Type
// is LinkOther (an unrecognized tag); empty otherwise.
TypeRaw string
}
ModelLink is one reference link for a model: a labeled URL with a classified type. Upstream weights[] rows fold in here with Type == LinkWeights.
type ModelRef ¶
type ModelRef struct {
ID ModelID // Original API model ID (e.g. "claude-opus-4-20250514")
Provider Provider // Hosting provider
RawFamily Family // API family field verbatim (e.g., "claude-opus")
Family Family // Canonical family (e.g., "claude"); empty if not yet normalized
Variant string // Canonical variant (e.g., "opus"); empty if no variant
Version string // Model version extracted from family (e.g., "4.5", "2.5"); empty if none
ParamSize string // Canonical parameter-size token (e.g. "70b", "8b"); empty when unknown. Part of identity.
Date string // Release date in YYYY-MM-DD format; empty if none
Modifier []string // Known trailing tokens in canonical order (e.g., ["vision","instruct"]); nil if none
Host Host // Serving host/backend (per-instance attribute, never part of identity); HostNone if unknown
}
ModelRef represents the canonical identity of a model.
The tuple (ID, Provider, RawFamily, Family, Variant, Version, ParamSize, Date, Modifier) is the stable anchor for cross-provider queries, canonical formatting, and the normalization pipeline. ID is the original API model identifier (e.g. "claude-opus-4-20250514"). Family, Variant, Version, ParamSize, and Modifier are populated at codegen time by the normalization pipeline in cmd/bestiary-gen.
ParamSize is part of the canonical entity identity (mirroring EntityRef): a 70B and an 8B of one family are distinct models, so the size participates in identity-level bucketing (e.g. Resolve's ambiguity grouping). It is empty when the model's size is unknown. Host is a per-instance attribute and is NEVER part of identity.
func Resolve ¶
func Resolve(input string, opts ...ResolveOption) ([]ModelRef, error)
Resolve returns the set of ModelRefs that match the given input string.
Disambiguation rule ¶
Cross-provider hosting: if all matches share the same Canonical triple (Family, Variant, Date) — meaning the same conceptual model is hosted by multiple providers — Resolve returns a non-nil []ModelRef with err == nil. The caller can iterate by Provider.
Multiple distinct canonicals: if the input matches models that resolve to two or more distinct Canonical triples (e.g., "claude" matches claude/opus, claude/sonnet, and claude/haiku), Resolve returns nil, *ErrAmbiguous with the candidate list. The caller should refine the input or use WithScheme(SchemeRaw) with an exact API model ID.
Zero matches: returns nil, *ErrNotFound.
Scheme auto-detection ¶
- "pkg:huggingface/<provider>/<id>" → SchemePURL: strip prefix, apply provider filter
- "<family>/<variant>[@date]" or multi-segment form with "@" or versioned token → SchemeCanonical
- "<provider>/<id>" (two slash segments, no "pkg:" prefix, no canonical signals) → SchemeHuggingFace: strip provider prefix, match raw ID
- Otherwise → SchemeRaw: exact model ID match
Bare-family fallback: when SchemeRaw produces zero matches and the input contains no slashes or special characters, Resolve retries with SchemeCanonical family-only matching. If multiple distinct canonical triples match, *ErrAmbiguous is returned. If a single group matches, refs are returned. This surfaces *ErrAmbiguous for inputs like "claude" instead of ErrNotFound.
Variant-aware bare-family fallback: when the Family-exact retry also yields zero matches and the bare input is a hyphenated "<family>-<variant>" shorthand whose leading token is a registered Family and trailing token names a Variant within it (e.g. "claude-opus"), Resolve matches that variant group and returns *ErrAmbiguous with the variant's candidates. See matchBareFamilyVariant for the conservative matching rule.
Use WithScheme to override auto-detection.
func (ModelRef) Designations ¶
func (r ModelRef) Designations() []Designation
Designations returns all string designations for this ModelRef. Every designation carries AcceptabilityAdmitted in this epoch. Promotion to Preferred is deferred to a follow-up curation epoch.
The returned slice contains:
- A SchemeRaw designation using the original API model ID.
- A SchemeCanonical designation (the canonical slash-separated form).
- A SchemeHuggingFace designation.
- A SchemePURL designation.
func (ModelRef) Format ¶
func (r ModelRef) Format(s CanonicalScheme) string
Format serializes the ModelRef according to the given CanonicalScheme.
- SchemeCanonical: "<provider>/<family>/<variant>@<date>" — the variant segment is included only when non-empty; the "@<date>" suffix is included only when date is non-empty. Falls back to "<provider>/<raw-id>" when both Family and Variant are empty (e.g., provider-specific representation).
- SchemeHuggingFace: "<provider>/<raw-id>" (HuggingFace Hub form).
- SchemePURL: "pkg:huggingface/<provider>/<raw-id>" (purl-spec + ECMA-427).
- SchemeRaw: string(r.ID) — the original API model identifier verbatim.
type ModelStatus ¶ added in v0.2.5
type ModelStatus int
ModelStatus classifies the release status an upstream provider declares for a model instance (from the api.json status field). It is a closed int enum (like DerivationKind and Quantization) because the set of statuses is small and well-understood.
The zero value is StatusNone: on this SCALAR field absence is meaningful — a model with no declared status is generally available / stable — so None sits at zero and StatusOther is the fail-safe bucket for an unknown-but-present token (the raw token is carried on ModelInfo.StatusRaw). This None-at-zero convention deliberately differs from the Other-at-zero convention on the element enums LinkType and ReasoningOptionKind; see the file-level comment.
Wire names are lowercase ASCII strings; MarshalText / UnmarshalText implement encoding.TextMarshaler / encoding.TextUnmarshaler so a ModelStatus serializes as a JSON/YAML string rather than an integer.
const ( // StatusNone is the zero value: no status declared (generally available / stable). StatusNone ModelStatus = iota // StatusAlpha: an early, unstable preview. StatusAlpha // StatusBeta: a later preview, more stable than alpha but not yet GA. StatusBeta // StatusDeprecated: scheduled for or already past end-of-life. StatusDeprecated // StatusOther is the fail-safe for a status token present in the upstream // data but not covered by the named constants above. The raw token is carried // on ModelInfo.StatusRaw. detectModelStatus maps an unrecognized token here; // ParseModelStatus never does (it returns an actionable error instead). StatusOther )
func ParseModelStatus ¶ added in v0.2.5
func ParseModelStatus(s string) (ModelStatus, error)
ParseModelStatus parses a ModelStatus from a string using a case-insensitive exact match against the canonical wire names. It is the CLI path (e.g. list --status): the empty string returns StatusNone with no error, a recognized name returns its constant, and any other non-empty string returns an actionable error that names what was received and lists the valid values. Unlike detectModelStatus, ParseModelStatus never silently maps an unrecognized token to StatusOther, and it rejects the internal "other" sentinel (it is not a user-selectable status).
func (ModelStatus) IsKnown ¶ added in v0.2.5
func (s ModelStatus) IsKnown() bool
IsKnown reports whether s is a named constant in this package (i.e. not an out-of-range integer). StatusOther is considered known — it is a named member of the enum; only truly out-of-range integers return false.
func (ModelStatus) MarshalText ¶ added in v0.2.5
func (s ModelStatus) MarshalText() ([]byte, error)
MarshalText implements encoding.TextMarshaler, emitting the canonical wire name (so ModelStatus serializes as a JSON string, not an integer). An out-of-range value is a programming error and yields an actionable error.
func (ModelStatus) String ¶ added in v0.2.5
func (s ModelStatus) String() string
String returns the canonical lowercase wire name of the status. An out-of-range value renders as "modelstatus(<n>)" so logs never silently drop an unexpected value.
func (*ModelStatus) UnmarshalText ¶ added in v0.2.5
func (s *ModelStatus) UnmarshalText(text []byte) error
UnmarshalText implements encoding.TextUnmarshaler, parsing a canonical wire name back into a ModelStatus. Parsing is case-insensitive so mixed-case upstream tokens round-trip. An unrecognized token yields an actionable error.
type ModifierClass ¶ added in v0.2.3
type ModifierClass int
ModifierClass partitions a trailing model-ID modifier token (e.g. "instruct", "thinking", "turbo") into one of two roles relative to model IDENTITY:
- ModifierClassIdentity: the modifier distinguishes a genuinely different model artifact (different weights/behavior), so it is PART of the entity key. Example: "instruct" — meta/llama@3.1{instruct} is a distinct entity from meta/llama@3.1. Identity modifiers render in the "{...}" segment.
- ModifierClassAttribute: the modifier describes a per-instance presentation or runtime knob that does NOT change model identity, so it is EXCLUDED from the entity key. Example: "thinking" — claude/opus@4.5[thinking] is the same entity as claude/opus@4.5. Attribute modifiers render in the "[...]" segment.
The zero value is ModifierClassIdentity: an unknown/uncurated token defaults to Identity (fail-safe — never silently collapse two artifacts into one entity).
const ( // ModifierClassIdentity marks a modifier that is part of the entity key. // This is the zero value and the default for unknown tokens. ModifierClassIdentity ModifierClass = iota // ModifierClassAttribute marks a modifier that is excluded from the entity // key (a per-instance presentation/runtime attribute). ModifierClassAttribute )
func ClassifyModifier ¶ added in v0.2.3
func ClassifyModifier(token string, fam Family) ModifierClass
ClassifyModifier returns the ModifierClass of a single modifier token for the given family. The classification is family-aware because the same token can be identity-bearing for one family and a mere attribute for another (e.g. "turbo": identity for gpt-4-turbo, attribute for a speed-tier alias elsewhere).
Resolution order (per-family override BEATS the global table):
- family_overrides[fam][token] in modifier_class.json, if present;
- global[token] in modifier_class.json, if present;
- otherwise ModifierClassIdentity (the fail-safe default).
CONTRACT: unknown/uncurated tokens MUST classify as ModifierClassIdentity (the fail-safe default) and ClassifyModifier MUST NOT panic for any input — rendering and entity keying depend on this graceful-degrade guarantee. If the embedded table fails to load, classification degrades to the unknown->Identity default for every token (never a panic).
func (ModifierClass) String ¶ added in v0.2.3
func (c ModifierClass) String() string
String returns the lowercase name of the modifier class.
type OutputFormat ¶
type OutputFormat string
OutputFormat specifies how models are rendered for display.
const ( FormatJSON OutputFormat = "json" FormatYAML OutputFormat = "yaml" FormatTable OutputFormat = "table" )
type ParamShape ¶ added in v0.2.6
type ParamShape struct {
TotalParams int64
ActiveParams int64
PerExpertParams int64
ExpertCount int
}
ParamShape is the pure decomposition of a canonical parameter-size token into flat parameter-count facts. It is produced by ParseParamShape and carries the same four values that ModelInfo exposes inline (TotalParams / ActiveParams / PerExpertParams / ExpertCount).
Each field is a NULLable integer under the ParamShapeNull (-1) sentinel contract: a field the shape does not carry is ParamShapeNull, never a masquerading 0. The fields are grouped along parameter-shape joints and are NEVER concatenated or cross-computed. In particular an NxM MoE token ("8x22b") sets ExpertCount and PerExpertParams but leaves TotalParams and ActiveParams NULL — the total is deliberately NOT N*M, because upstream does not publish it and inventing it would misstate the footprint. An active-MoE token ("30b-a3b") sets TotalParams and ActiveParams and leaves PerExpertParams/ExpertCount NULL; a count-suffixed MoE token ("17b-16e") sets ActiveParams and ExpertCount and leaves TotalParams and PerExpertParams NULL; a dense token ("30b", "560m", "10.7b") sets TotalParams, leaves ActiveParams and PerExpertParams NULL, and sets ExpertCount to a genuine 0 (a dense model attests zero experts). The empty token leaves ALL FOUR NULL.
Counts are exact int64 parameter counts (e.g. 30_000_000_000 for "30b"), computed with string-digit decimal arithmetic so a decimal token such as "10.7b" yields exactly 10_700_000_000 (never a float64 rounding of 10.7e9).
func ParseParamShape ¶ added in v0.2.6
func ParseParamShape(sizeToken string) (ParamShape, error)
ParseParamShape decomposes a canonical parameter-size token into its flat parameter-count facts. It is a PURE, suffix-keyed decomposition: the token's shape (dense / NxM / active-MoE / count-suffixed-MoE) selects which fields are populated, and no field is ever cross-computed from another.
The counts are EXACT int64 values derived with string-digit decimal arithmetic (never a float64 multiply), so a decimal token is exact to the parameter: "10.7b" -> TotalParams 10_700_000_000 and "0.6b" -> TotalParams 600_000_000.
An NxM MoE token records ExpertCount and PerExpertParams but leaves TotalParams and ActiveParams at ParamShapeNull (-1) — the product is deliberately NOT computed (upstream does not publish a total for these and N*M would misstate the footprint). A count-suffixed token ("17b-16e") records ActiveParams and ExpertCount and leaves TotalParams/PerExpertParams NULL. See the ParamShapeNull sentinel contract.
Every field the matched shape does NOT carry is set to ParamShapeNull (-1), the in-domain NULL sentinel — never a masquerading 0. The sole genuine 0 is a dense token's ExpertCount (a dense model attests exactly zero experts). The empty token yields the ALL-NULL shape with no error (an unsized model). A non-empty token that is not a recognized size shape returns an actionable error AND the all-NULL shape (nothing was populated), the same rejection surface as ParseParamSize.
ParseParamShape("") -> {Total:-1, Active:-1, PerExpert:-1, Experts:-1}
ParseParamShape("8b") -> {Total: 8e9, Active:-1, PerExpert:-1, Experts: 0} // dense: Experts genuine 0
ParseParamShape("30b-a3b") -> {Total:30e9, Active: 3e9, PerExpert:-1, Experts:-1}
ParseParamShape("8x22b") -> {Total: -1, Active: -1, PerExpert:22e9, Experts: 8} // Total NEVER N*M
ParseParamShape("17b-16e") -> {Total: -1, Active:17e9, PerExpert:-1, Experts:16}
type ParseAttempt ¶ added in v0.2.0
type ParseAttempt struct {
Family Family `json:"family"`
Variant string `json:"variant"`
Version string `json:"version"`
Date string `json:"date"`
}
ParseAttempt records the partial result produced when parse heuristics could not fully decompose a raw family string. Fields mirror ModelInfo canonical fields (Family, Variant, Version, Date) to aid comparison.
type ParseFailure ¶ added in v0.2.0
type ParseFailure struct {
RawID ModelID `json:"raw_id"`
Provider Provider `json:"provider"`
RawFamily Family `json:"raw_family"`
AttemptedParse ParseAttempt `json:"attempted_parse"`
Reason ParseFailureReason `json:"reason"`
}
ParseFailure records a single parsing failure detected during family-string decomposition. It is produced by ParseFamilyDetailed when the parser's best-effort result is known to be incomplete or ambiguous.
JSON field names match the locked per-record format:
{
"raw_id": "claude-3-5-haiku-20241022",
"provider": "anthropic",
"raw_family": "claude-haiku",
"attempted_parse": {"family":"claude","variant":"haiku","version":"","date":"2024-10-22"},
"reason": "version digits between family-prefix and variant not extracted"
}
type ParseFailureReason ¶ added in v0.2.2
type ParseFailureReason string
ParseFailureReason is a typed string identifying the class of parse failure. Using a named type rather than bare string prevents accidental mixing of reason strings and enables exhaustive case analysis.
const ( // ReasonVersionDigitsNotExtracted is used when version digits appear between // the family prefix and the variant (e.g. "claude-3-5-haiku-20241022" where // the "3-5" version component is not extracted by the parse heuristics). ReasonVersionDigitsNotExtracted ParseFailureReason = "version digits between family-prefix and variant not extracted" // ReasonKnownSuffixOverflow is used when the trailing segment of the model ID // matches a known modifier token (thinking, vision, latest, code, preview, think). // The modifier is semantically meaningful but not yet extracted as a first-class // field. Extend the modifier allowlist in parse/data/modifiers.json when new // tokens are discovered. ReasonKnownSuffixOverflow ParseFailureReason = "suffix overflow: trailing token is a known modifier" // ReasonUnknownSuffixOverflow is used when the trailing segment of the model ID // does not match any known modifier token. This is an audit-log hint that the // modifier allowlist in parse/data/modifiers.json should be extended. ReasonUnknownSuffixOverflow ParseFailureReason = "suffix overflow: trailing token is an unknown modifier (extend allowlist)" // ReasonYYMMDateAsVersion is used for Mistral-style 4-digit numerals (e.g. 2401, // 2403) where the parser cannot reliably distinguish a YYMM date from a version. ReasonYYMMDateAsVersion ParseFailureReason = "YYMM-date-as-version false-positive" // ReasonResidualUnaccountedTokens is used when version extraction succeeds but // leaves one or more tokens in the model ID unaccounted for (e.g. nova-2-lite-v1 // yields version="2" but token "v1" is not explained by family/variant/version/date). // This is an honest-audit signal: the version is populated but there is residual // information the parser did not fully account for. ReasonResidualUnaccountedTokens ParseFailureReason = "residual unaccounted tokens after extraction" )
Reason constants for the known failure modes (use these constants verbatim to ensure consistent reason phrasing across all callers).
type ParseFailuresEnvelope ¶ added in v0.2.0
type ParseFailuresEnvelope struct {
SchemaVersion int `json:"schema_version"`
GeneratedAt time.Time `json:"generated_at"`
FailureCount int `json:"failure_count"`
Failures []ParseFailure `json:"failures"`
}
ParseFailuresEnvelope is the top-level JSON structure written by bestiary-gen to .bestiary-gen-cache/parse_failures.json after each codegen run. The file is overwritten on every run (full audit, not append).
type Provider ¶
type Provider string
Provider identifies the organization that hosts or publishes an AI model.
const ( Provider302AI Provider = "302ai" ProviderAbacus Provider = "abacus" ProviderAbliterationAI Provider = "abliteration-ai" ProviderAIRouter Provider = "ai-router" ProviderAIHubMix Provider = "aihubmix" ProviderAlibaba Provider = "alibaba" ProviderAlibabaCN Provider = "alibaba-cn" ProviderAlibabaCodingPlan Provider = "alibaba-coding-plan" ProviderAlibabaCodingPlanCN Provider = "alibaba-coding-plan-cn" ProviderAlibabaTokenPlan Provider = "alibaba-token-plan" ProviderAlibabaTokenPlanCN Provider = "alibaba-token-plan-cn" ProviderAmazonBedrock Provider = "amazon-bedrock" ProviderAmbient Provider = "ambient" ProviderAnthropic Provider = "anthropic" ProviderAnyAPI Provider = "anyapi" ProviderAtomicChat Provider = "atomic-chat" ProviderAuriko Provider = "auriko" ProviderAzure Provider = "azure" ProviderAzureCognitiveServices Provider = "azure-cognitive-services" ProviderBailing Provider = "bailing" ProviderBaseten Provider = "baseten" ProviderBerget Provider = "berget" ProviderBlueclaw Provider = "blueclaw" ProviderCerebras Provider = "cerebras" ProviderChutes Provider = "chutes" ProviderClarifai Provider = "clarifai" ProviderClaudinio Provider = "claudinio" ProviderCloudFerroSherlock Provider = "cloudferro-sherlock" ProviderCloudflareAIGateway Provider = "cloudflare-ai-gateway" ProviderCloudflareWorkersAI Provider = "cloudflare-workers-ai" ProviderCohere Provider = "cohere" ProviderCortecs Provider = "cortecs" ProviderCrof Provider = "crof" ProviderCrossModel Provider = "crossmodel" ProviderDaoXE Provider = "daoxe" ProviderDatabricks Provider = "databricks" ProviderDeepInfra Provider = "deepinfra" ProviderDeepSeek Provider = "deepseek" ProviderDigitalOcean Provider = "digitalocean" ProviderDInference Provider = "dinference" ProviderDrun Provider = "drun" ProviderEmpirioLabs Provider = "empiriolabs" ProviderEvroc Provider = "evroc" ProviderFastRouter Provider = "fastrouter" ProviderFireworksAI Provider = "fireworks-ai" ProviderFreeModel Provider = "freemodel" ProviderFriendli Provider = "friendli" ProviderFrogBot Provider = "frogbot" ProviderGitHubCopilot Provider = "github-copilot" ProviderGitHubModels Provider = "github-models" ProviderGitLab Provider = "gitlab" ProviderGMICloud Provider = "gmicloud" ProviderGoogle Provider = "google" ProviderGoogleVertex Provider = "google-vertex" ProviderGoogleVertexAnthropic Provider = "google-vertex-anthropic" ProviderGroq Provider = "groq" ProviderHelicone Provider = "helicone" ProviderHpcAI Provider = "hpc-ai" ProviderHuggingFace Provider = "huggingface" ProvideriFlowCN Provider = "iflowcn" ProviderInception Provider = "inception" ProviderInceptron Provider = "inceptron" ProviderInference Provider = "inference" ProviderInferX Provider = "inferx" ProviderIONet Provider = "io-net" ProviderJiekou Provider = "jiekou" ProviderKenari Provider = "kenari" ProviderKilo Provider = "kilo" ProviderKimiForCoding Provider = "kimi-for-coding" ProviderKUAECloudCodingPlan Provider = "kuae-cloud-coding-plan" ProviderLilac Provider = "lilac" ProviderLlama Provider = "llama" ProviderLlmGateway Provider = "llmgateway" ProviderLLMTR Provider = "llmtr" ProviderLMStudio Provider = "lmstudio" ProviderLongCat Provider = "longcat" ProviderLucidQuery Provider = "lucidquery" ProviderMeganova Provider = "meganova" ProviderMergeGateway Provider = "merge-gateway" ProviderMeta Provider = "meta" ProviderMiniMax Provider = "minimax" ProviderMiniMaxCN Provider = "minimax-cn" ProviderMiniMaxCNCodingPlan Provider = "minimax-cn-coding-plan" ProviderMiniMaxCodingPlan Provider = "minimax-coding-plan" ProviderMistral Provider = "mistral" ProviderMixlayer Provider = "mixlayer" ProviderMoark Provider = "moark" ProviderModelOracleAI Provider = "model-oracle-ai" ProviderModelScope Provider = "modelscope" ProviderMoonshotAI Provider = "moonshotai" ProviderMoonshotAICN Provider = "moonshotai-cn" ProviderMorph Provider = "morph" ProviderNanoGPT Provider = "nano-gpt" ProviderNearAI Provider = "nearai" ProviderNebius Provider = "nebius" ProviderNeon Provider = "neon" ProviderNeuralwatt Provider = "neuralwatt" ProviderNova Provider = "nova" ProviderNovitaAI Provider = "novita-ai" ProviderNvidia Provider = "nvidia" ProviderOllamaCloud Provider = "ollama-cloud" ProviderOpenAI Provider = "openai" ProviderOpenCode Provider = "opencode" ProviderOpenCodeGo Provider = "opencode-go" ProviderOpenRouter Provider = "openrouter" ProviderOrcaRouter Provider = "orcarouter" ProviderOVHcloud Provider = "ovhcloud" ProviderPerplexity Provider = "perplexity" ProviderPerplexityAgent Provider = "perplexity-agent" ProviderPioneer Provider = "pioneer" ProviderPoe Provider = "poe" ProviderPoolside Provider = "poolside" ProviderPrivatemodeAI Provider = "privatemode-ai" ProviderQiHangAI Provider = "qihang-ai" ProviderQiniuAI Provider = "qiniu-ai" ProviderRegoloAI Provider = "regolo-ai" ProviderRequesty Provider = "requesty" ProviderRoutingRun Provider = "routing-run" ProviderSakana Provider = "sakana" ProviderSAPAICore Provider = "sap-ai-core" ProviderSarvam Provider = "sarvam" ProviderScaleway Provider = "scaleway" ProviderSiliconFlow Provider = "siliconflow" ProviderSiliconFlowCN Provider = "siliconflow-cn" ProviderSnowflakeCortex Provider = "snowflake-cortex" ProviderSTACKIT Provider = "stackit" ProviderStepFun Provider = "stepfun" ProviderStepFunAI Provider = "stepfun-ai" ProviderSubconscious Provider = "subconscious" ProviderSubmodel Provider = "submodel" ProviderSynthetic Provider = "synthetic" ProviderTencentCodingPlan Provider = "tencent-coding-plan" ProviderTencentTokenPlan Provider = "tencent-token-plan" ProviderTencentTokenHub Provider = "tencent-tokenhub" ProviderTheGridAI Provider = "the-grid-ai" ProviderTinfoil Provider = "tinfoil" ProviderTogetherAI Provider = "togetherai" ProviderTrustedRouter Provider = "trustedrouter" ProviderUmansAI Provider = "umans-ai" ProviderUmansAICodingPlan Provider = "umans-ai-coding-plan" ProviderUnoRouter Provider = "unorouter" ProviderUpstage Provider = "upstage" ProviderV0 Provider = "v0" ProviderVenice Provider = "venice" ProviderVercel Provider = "vercel" ProviderVivgrid Provider = "vivgrid" ProviderVultr Provider = "vultr" ProviderWaferAI Provider = "wafer.ai" ProviderWandb Provider = "wandb" ProviderxAI Provider = "xai" ProviderXiaomi Provider = "xiaomi" ProviderXiaomiTokenPlanAMS Provider = "xiaomi-token-plan-ams" ProviderXiaomiTokenPlanCN Provider = "xiaomi-token-plan-cn" ProviderXiaomiTokenPlanSGP Provider = "xiaomi-token-plan-sgp" ProviderXpersona Provider = "xpersona" ProviderZai Provider = "zai" ProviderZaiCodingPlan Provider = "zai-coding-plan" ProviderZeldoc Provider = "zeldoc" ProviderZenifra Provider = "zenifra" ProviderZenMux Provider = "zenmux" ProviderZhipuai Provider = "zhipuai" ProviderZhipuaiCodingPlan Provider = "zhipuai-coding-plan" )
const ProviderLocal Provider = "local"
ProviderLocal is a bestiary-specific provider for locally-hosted models. It is not derived from the models.dev API and is always included in knownProviders (generated in providers_gen.go, appended last).
func Providers ¶
func Providers() []Provider
Providers returns all known Provider values as a defensive copy. The returned slice includes all API-derived providers plus ProviderLocal. Modifying the returned slice does not affect the package state.
func ProvidersForFamily ¶
ProvidersForFamily returns the set of providers that host models with the given raw API family string (e.g., "claude-opus", "gemini-flash"). The family parameter matches the RawFamily field (verbatim API value). The returned slice contains no duplicates. If no models match, a nil slice is returned.
func (Provider) IsKnown ¶
IsKnown reports whether p is a recognized Provider. The known set is generated from the models.dev API at codegen time and includes ProviderLocal as the final entry.
func (Provider) MarshalText ¶
MarshalText implements encoding.TextMarshaler.
func (*Provider) UnmarshalText ¶
UnmarshalText implements encoding.TextUnmarshaler. It accepts any string value; use IsKnown() to validate.
type ProviderInstance ¶ added in v0.2.3
type ProviderInstance struct {
ID ModelID
Provider Provider
Host Host
CostInputPerMTok *float64 // nil when unknown
CostOutputPerMTok *float64 // nil when unknown
ContextWindow int
MaxOutput int
// QuantVRAM is the per-quantization weight and VRAM footprint for this
// instance. nil when no quantization data is available for this row.
QuantVRAM []QuantVRAM
// Source is the data source that provided this row. DataSourceNone (zero
// value, empty string) when no source is recorded.
Source DataSourceID
}
ProviderInstance is a single concrete offering of an entity: one (provider, host) serving of the model, with its instance-specific pricing and limits. Many ProviderInstances roll up into one Entity. The fields here are exactly the per-instance ATTRIBUTES — they vary across instances of the same entity and so are excluded from EntityRef.
type QuantVRAM ¶ added in v0.2.4
type QuantVRAM struct {
// Quant is the parsed quantization type.
Quant Quantization
// QuantRaw is the verbatim quant token from the source data, preserving the
// original casing exactly as it appeared (e.g. "Q4_K_M" from an Ollama
// file_type field, or "q4_k_m" as written in a curated JSON file). It is
// populated for every row — not only when Quant is QuantizationOther —
// so callers can use it for lossless display or round-trip fidelity without
// a separate round-trip through Quant.String().
QuantRaw string
// WeightsBytes is the ingested GGUF file size in bytes — the ground-truth
// weights footprint for this quantization variant.
WeightsBytes int64
// VRAMBytes is weights + KV-cache at VRAMContextTokens; equals WeightsBytes
// when VRAMEstimatePartial is true.
VRAMBytes int64
// VRAMContextTokens is the context window (tokens) used to compute VRAMBytes.
VRAMContextTokens int
// Layers is the number of transformer layers; 0 when unknown.
Layers int
// KVHeads is the number of KV-attention heads (GQA-aware); 0 when unknown.
KVHeads int
// HeadDim is the embedding width per attention head (elements per head); 0 when unknown.
HeadDim int
// VRAMEstimatePartial is true when the KV-cache term was omitted from
// VRAMBytes because at least one of Layers, KVHeads, or HeadDim is zero.
// Callers must check this flag before treating VRAMBytes as a full estimate.
VRAMEstimatePartial bool
}
QuantVRAM captures the per-quantization weight and VRAM footprint for a single quantization variant of a model.
Field semantics:
- Quant is the parsed quantization constant; QuantRaw is the verbatim token from the source data, always populated for every row (preserves original casing, e.g. "Q4_K_M" from Ollama's file_type field).
- WeightsBytes is the ground-truth ingested GGUF file size in bytes. It is the primary measurement and is always sourced from the downloaded file, not derived from bits-per-weight.
- VRAMBytes is the estimated total VRAM requirement: WeightsBytes plus the KV-cache at VRAMContextTokens (the model's maximum context window). When arch-facts are absent (Layers/KVHeads/HeadDim all zero), VRAMBytes equals WeightsBytes and VRAMEstimatePartial is set true.
- VRAMContextTokens is the context-window size (tokens) used to compute the KV-cache term. It is the model-max context, not a user-chosen value.
- Layers, KVHeads, HeadDim are the architectural parameters used for the KV-cache computation. HeadDim is the embedding width per attention head (elements per head). Zero when the source did not supply them.
- VRAMEstimatePartial is true when the KV-cache term was excluded from VRAMBytes because one or more of Layers/KVHeads/HeadDim is zero. A true value means VRAMBytes is a weights-only lower bound, never a silent under-estimate.
Zero values mean unknown: int64 0 = unknown bytes, int 0 = unknown count. nil QuantVRAM slice on a ProviderInstance or ModelInfo means no quant data is available for that row.
func QuantVRAMFor ¶ added in v0.2.4
QuantVRAMFor returns the curated per-quantization weight-and-arch rows for the model identified by id, or nil when no curated rows exist for it. Matching is case-insensitive against the model_id keys in parse/data/quant_vram.json.
The returned rows have Quant/QuantRaw/WeightsBytes/Layers/KVHeads/HeadDim populated from the file. VRAMBytes, VRAMContextTokens, and VRAMEstimatePartial are always zero — they are computed and baked by the codegen caller (cmd/bestiary-gen) using EstimateVRAMBytes at the model's max context window. Callers must not treat a zero VRAMBytes as meaning "no VRAM data"; it means "not yet computed by codegen". Use WeightsBytes as the weights footprint.
On file or parse failure the function degrades gracefully: it returns nil without panicking. ValidateQuantVRAMTable returns the load error so codegen can abort on bad curation.
func (QuantVRAM) EstimateVRAM ¶ added in v0.2.4
EstimateVRAM recomputes the total VRAM estimate from the arch-facts stored in the QuantVRAM row at a caller-supplied context length.
This is a pure recompute: it calls EstimateVRAMBytes(q.WeightsBytes, contextTokens, q.Layers, q.KVHeads, q.HeadDim) with no additional state. It does NOT read or modify q.VRAMBytes, q.VRAMContextTokens, or q.VRAMEstimatePartial — those fields capture the baked-at-model-max snapshot; this method is for runtime recomputation at a different context length.
type Quantization ¶ added in v0.2.4
type Quantization int
Quantization identifies the numeric format / compression scheme applied to a model's weights. It is a closed int enum (like DerivationKind) because the set of formats served by Ollama + the reserved HF-ecosystem formats is small and well-understood. An open-ended passthrough is provided via QuantizationOther (+ a raw string carried on the instance) so that unknown tokens in ingested data are never silently dropped.
The zero value is QuantizationNone (format not specified / unknown).
Wire names are lowercase ASCII strings matching the llama.cpp / Ollama file_type field values (e.g. "q4_k_m", "f16"). MarshalText / UnmarshalText implement encoding.TextMarshaler / encoding.TextUnmarshaler for JSON and YAML round-trips.
const ( // QuantizationNone is the zero value: no quantization format specified. QuantizationNone Quantization = iota // QuantF16: 16-bit IEEE float (half precision). QuantF16 // QuantBF16: 16-bit bfloat (brain float). QuantBF16 // QuantF32: 32-bit IEEE float (single precision). QuantF32 // QuantQ4_0: legacy 4-bit block quant, scheme 0. QuantQ4_0 // QuantQ4_1: legacy 4-bit block quant, scheme 1. QuantQ4_1 // QuantQ5_0: legacy 5-bit block quant, scheme 0. QuantQ5_0 // QuantQ5_1: legacy 5-bit block quant, scheme 1. QuantQ5_1 // QuantQ8_0: legacy 8-bit block quant, scheme 0. QuantQ8_0 // QuantQ2_K: 2-bit k-quant. QuantQ2_K // QuantQ2_K_S: 2-bit k-quant, small super-block. QuantQ2_K_S // QuantQ3_K_S: 3-bit k-quant, small super-block. QuantQ3_K_S // QuantQ3_K_M: 3-bit k-quant, medium super-block. QuantQ3_K_M // QuantQ3_K_L: 3-bit k-quant, large super-block. QuantQ3_K_L // QuantQ4_K_S: 4-bit k-quant, small super-block. QuantQ4_K_S // QuantQ4_K_M: 4-bit k-quant, medium super-block (most popular). QuantQ4_K_M // QuantQ5_K_S: 5-bit k-quant, small super-block. QuantQ5_K_S // QuantQ5_K_M: 5-bit k-quant, medium super-block. QuantQ5_K_M // QuantQ6_K: 6-bit k-quant. QuantQ6_K // QuantIQ1_S: 1-bit i-quant, small. QuantIQ1_S // QuantIQ1_M: 1-bit i-quant, medium. QuantIQ1_M // QuantIQ2_XXS: 2-bit i-quant, extra-extra-small. QuantIQ2_XXS // QuantIQ2_XS: 2-bit i-quant, extra-small. QuantIQ2_XS // QuantIQ2_S: 2-bit i-quant, small. QuantIQ2_S // QuantIQ2_M: 2-bit i-quant, medium. QuantIQ2_M // QuantIQ3_XXS: 3-bit i-quant, extra-extra-small. QuantIQ3_XXS // QuantIQ3_XS: 3-bit i-quant, extra-small. QuantIQ3_XS // QuantIQ3_S: 3-bit i-quant, small. QuantIQ3_S // QuantIQ3_M: 3-bit i-quant, medium. QuantIQ3_M // QuantIQ4_XS: 4-bit i-quant, extra-small. QuantIQ4_XS // QuantIQ4_NL: 4-bit i-quant, non-linear (nearest-lookup). QuantIQ4_NL // QuantAWQ: Activation-aware Weight Quantization (HF/vLLM, 4-bit). QuantAWQ // QuantGPTQ: GPTQ post-training quantization (HF/AutoGPTQ, 3/4/8-bit). QuantGPTQ // QuantInt8: bitsandbytes 8-bit integer (HF transformers). QuantInt8 // QuantInt4: bitsandbytes 4-bit integer (HF transformers). QuantInt4 // QuantizationOther is the lossless escape for any token that is present // in ingested data but not yet covered by the named constants above. The // caller stores the raw string on the enclosing struct (e.g. QuantVRAM.QuantRaw). // ParseQuantization never silently maps an unrecognised token to this value; // DetectQuantization uses it for unrecognised tags found in model IDs. QuantizationOther )
func ParseQuantization ¶ added in v0.2.4
func ParseQuantization(s string) (Quantization, error)
ParseQuantization parses a Quantization from a string using a case-insensitive exact match against the canonical wire names. It is intended for CLI flag parsing and configuration input.
- "" returns (QuantizationNone, nil) — the empty string is treated as "not specified" without error.
- A recognised name (e.g. "Q4_K_M", "f16") returns the corresponding constant and nil.
- Any other non-empty string returns (QuantizationNone, error) with an actionable message that lists what was received and valid examples. Unlike DetectQuantization, ParseQuantization NEVER silently maps an unrecognised token to QuantizationOther.
func (Quantization) BitsPerWeight ¶ added in v0.2.4
func (q Quantization) BitsPerWeight() float64
BitsPerWeight returns the authoritative bits-per-weight for this quantization as documented in the llama.cpp quantize README (tools/quantize/README.md). Returns 0 for QuantizationNone, QuantizationOther, and the reserved HF-ecosystem constants (QuantAWQ, QuantGPTQ, QuantInt8, QuantInt4) whose effective bpw is configuration-dependent and not yet ingested.
func (Quantization) IsKnown ¶ added in v0.2.4
func (q Quantization) IsKnown() bool
IsKnown reports whether q is a named constant in this package (i.e. not an out-of-range integer). QuantizationOther is considered known (it is a named member of the enum); only truly out-of-range integers return false.
func (Quantization) MarshalText ¶ added in v0.2.4
func (q Quantization) MarshalText() ([]byte, error)
MarshalText implements encoding.TextMarshaler, emitting the canonical lowercase wire name so Quantization serializes as a JSON/YAML string rather than an integer. An out-of-range value is a programming error and returns an actionable error.
func (Quantization) String ¶ added in v0.2.4
func (q Quantization) String() string
String returns the canonical lowercase wire name of the quantization (e.g. "q4_k_m", "f16"). An out-of-range value renders as "quantization(<n>)" so that log messages never silently drop unexpected values.
func (*Quantization) UnmarshalText ¶ added in v0.2.4
func (q *Quantization) UnmarshalText(text []byte) error
UnmarshalText implements encoding.TextUnmarshaler, parsing a canonical lowercase wire name back into a Quantization. Parsing is case-insensitive so that Ollama's mixed-case file_type values (e.g. "Q4_K_M", "F16") round-trip correctly. Aliases such as "fp16" are NOT accepted; ingest layers must normalise fp16→f16 before unmarshalling (see TestDetectQuantization_FP16Alias). An unrecognised token yields an actionable error listing valid examples.
type ReasoningOption ¶ added in v0.2.5
type ReasoningOption struct {
// Kind discriminates which of the payload fields below are meaningful.
Kind ReasoningOptionKind
// KindRaw carries the verbatim upstream kind token, populated only when Kind
// is ReasoningOptionOther (an unrecognized tag); empty otherwise.
KindRaw string
// Values holds the discrete choices for a ReasoningEffort option; nil otherwise.
Values []string
// MinTokens is the lower budget bound for a ReasoningBudgetTokens option; 0 otherwise.
MinTokens int
// MaxTokens is the upper budget bound for a ReasoningBudgetTokens option; 0 otherwise.
MaxTokens int
}
ReasoningOption is one reasoning-control option a model exposes, as a strongly-typed discriminated union keyed by Kind. Only the fields relevant to Kind carry data: ReasoningEffort populates Values; ReasoningBudgetTokens populates MinTokens / MaxTokens; ReasoningToggle carries neither.
type ReasoningOptionKind ¶ added in v0.2.5
type ReasoningOptionKind int
ReasoningOptionKind discriminates the kind of a reasoning-control option an upstream model exposes. It is a closed int enum.
The zero value is ReasoningOptionOther: on this ELEMENT type the upstream discriminating tag is always present, so a zero value can only mean "the tag was unrecognized". The fail-safe bucket therefore sits at the zero value (the raw token is carried on ReasoningOption.KindRaw), the Other-at-zero convention shared with LinkType and deliberately distinct from ModelStatus; see the file-level comment.
const ( // ReasoningOptionOther is the zero value and fail-safe: an unrecognized // reasoning-option kind. The raw token is carried on ReasoningOption.KindRaw. ReasoningOptionOther ReasoningOptionKind = iota // ReasoningToggle: a plain on/off reasoning switch. ReasoningToggle // ReasoningEffort: a discrete effort selector; the choices are on Values. ReasoningEffort // ReasoningBudgetTokens: a token-budget control; the bounds are on // MinTokens / MaxTokens. ReasoningBudgetTokens )
func (ReasoningOptionKind) IsKnown ¶ added in v0.2.5
func (k ReasoningOptionKind) IsKnown() bool
IsKnown reports whether k is a named constant in this package. ReasoningOptionOther is considered known; only out-of-range integers return false.
func (ReasoningOptionKind) MarshalText ¶ added in v0.2.5
func (k ReasoningOptionKind) MarshalText() ([]byte, error)
MarshalText implements encoding.TextMarshaler, emitting the canonical wire name (so ReasoningOptionKind serializes as a JSON string, not an integer). An out-of-range value is a programming error and yields an actionable error.
func (ReasoningOptionKind) String ¶ added in v0.2.5
func (k ReasoningOptionKind) String() string
String returns the canonical lowercase wire name of the kind. An out-of-range value renders as "reasoningoptionkind(<n>)" so logs never silently drop an unexpected value.
func (*ReasoningOptionKind) UnmarshalText ¶ added in v0.2.5
func (k *ReasoningOptionKind) UnmarshalText(text []byte) error
UnmarshalText implements encoding.TextUnmarshaler, parsing a canonical wire name back into a ReasoningOptionKind. Parsing is case-insensitive. An unrecognized token yields an actionable error.
type ReleaseStage ¶ added in v0.2.6
type ReleaseStage int
ReleaseStage classifies the release stage a model instance advertises IN ITS ID (preview / beta / latest / …). It is a closed int enum, following the DerivationKind / Quantization / ModelStatus precedent: the set of stage tokens is small and well-understood, so a closed enum gives type safety at call sites without a stringly-typed axis.
ReleaseStage is DELIBERATELY separate from ModelStatus even though the two overlap on tokens like "beta". They are two different provenance levels:
- ModelStatus is upstream-DECLARED lifecycle metadata (the api.json `status` field): the provider tells us "this is beta".
- ReleaseStage is ID-token-DERIVED (an instance fact read out of the model ID by DetectStageFromID): bestiary infers "this ID carries a `-beta` marker".
A model can carry one, both, or neither. `show` renders them under distinct labels ("stage" vs "status") so the two provenance levels never blur together.
The zero value is StageNone: on this SCALAR field absence is meaningful — a model whose ID carries no stage marker is a normal, generally-available release — so None sits at zero. This None-at-zero convention matches ModelStatus (a scalar where absence carries information) and deliberately differs from the Other-at-zero convention on the models.dev element enums (LinkType, ReasoningOptionKind), whose every element always arrives with a discriminating tag.
Wire names are lowercase ASCII strings; MarshalText / UnmarshalText implement encoding.TextMarshaler / encoding.TextUnmarshaler so a ReleaseStage serializes as a JSON/YAML string rather than an integer.
const ( // StageNone is the zero value: the ID carries no recognized stage marker // (a normal, generally-available release). StageNone ReleaseStage = iota // StageStable: an explicitly stable/GA release. Enum member exists for CLI // and parse completeness; "stable" is NOT ID-detected this epoch (a bare // "stable" token in an ID is far more often a family name — see the // stable-diffusion guard in DetectReleaseStage — so detecting it would be // unsafe). ID-detection of "stable" is deferred (GH#13). StageStable // StagePreview: a preview / early-access release (ID-detected). StagePreview // StageBeta: a beta release (ID-detected). Detected without stripping — the // `beta` token stays in the ID's decomposition (it is entity-key material for // some families today, e.g. grok-4.20-beta-*), and re-keying it is deferred. StageBeta // StageAlpha: an early, unstable alpha release. Enum member exists for CLI // and parse completeness; "alpha" is NOT ID-detected this epoch (deferred, // GH#13). StageAlpha // StageExperimental: an experimental release. Enum member exists for CLI and // parse completeness; neither "experimental" nor its "-exp" short form is // ID-detected this epoch (deferred, GH#13). StageExperimental // StageLatest: a rolling "latest" alias (ID-detected). NOTE: "latest" (like // "original") NAMES A MOVING TARGET, not a fixed property of one artifact — // the model an id like "…-latest" resolves to changes over time. It is // recorded as a stage so the alias is visible, not because the artifact is // intrinsically "latest". StageLatest // StageOriginal: a rolling "original" alias (ID-detected). Like StageLatest, // this NAMES A MOVING TARGET (the pinned-original counterpart of a rolling // alias), not a fixed artifact property. StageOriginal // StageOther is the RESERVED fail-safe bucket for a stage token that is // present but not covered by the named constants above. Following the // Quantization / ModelStatus reserved-member precedent, it exists so the wire // format is stable when a FUTURE non-ID stage feeder lands (e.g. a metadata // field). It is UNUSED by the ID-detection path this epoch: DetectReleaseStage // returns known members only and NEVER StageOther, and ParseReleaseStage // rejects it as an internal sentinel. Its verbatim companion is StageRaw on // ModelInfo (populated only when Stage is StageOther, mirroring StatusRaw). StageOther )
func DetectReleaseStage ¶ added in v0.2.6
func DetectReleaseStage(tok string) (ReleaseStage, bool)
DetectReleaseStage reports the ReleaseStage a single, standalone ID token denotes and whether it is a recognized ID-detected stage. It is the ID-detection primitive (the analogue of detectModelStatus, but exported because the enrichment and codegen both consume it):
- a recognized token (preview / beta / latest / original) → (its constant, true);
- any other token, including "stable" / "alpha" / "experimental" / "exp" whose ID-detection is deferred this epoch → (StageNone, false).
It is known-members-only: it NEVER returns StageOther (that reserved bucket is for a future non-ID feeder, not the ID path — returning it here would fabricate an unreachable state). It matches STANDALONE tokens only (exact, case-insensitive; no substring matching) and is family-member-guarded by construction: "stable" is not in the detected set, so "stable-diffusion" — whether passed whole or tokenized to "stable" + "diffusion" — can never resolve to a stage.
func DetectStageFromID ¶ added in v0.2.6
func DetectStageFromID(id ModelID) (ReleaseStage, string)
DetectStageFromID scans a model ID for a recognized release-stage marker and returns (stage, raw) — mirroring detectModelStatus's return contract:
- a recognized standalone stage token → (its constant, "");
- no recognized token → (StageNone, "").
The second return is the verbatim-token slot reserved for the StageOther path (populated only when a future non-ID feeder produces StageOther); the ID path never yields StageOther, so it is always "" this epoch — the caller assigns it to ModelInfo.StageRaw, which therefore mirrors StatusRaw (non-empty only for the Other bucket).
It is a PURE function of the ID and the embedded stage table, so it is applied identically at every enrichment joint (codegen bake, wire decode, store read) — the same ID always yields the same stage, so a live-sync row and its baked static row never disagree. Any provider/path prefix is dropped (up to the last "/") before tokenizing so a path segment can never masquerade as a stage; the remaining name is split on every non-alphanumeric byte and each token is checked via DetectReleaseStage (exact, standalone). The FIRST recognized token (scanning left to right) wins — catalog IDs carry at most one stage marker, so the tie-break is documentation, not a real ambiguity.
func ParseReleaseStage ¶ added in v0.2.6
func ParseReleaseStage(s string) (ReleaseStage, error)
ParseReleaseStage parses a ReleaseStage from a string using a case-insensitive exact match against the canonical wire names. It is the CLI / configuration path (the analogue of ParseModelStatus / ParseQuantization): the empty string returns StageNone with no error, a recognized name returns its constant, and any other non-empty string returns an actionable error naming what was received and the valid values. It rejects the internal "other" sentinel (StageOther is not a user-selectable stage) and never silently buckets an unknown token.
NOTE: there is intentionally NO CLI caller for ParseReleaseStage this epoch (`list` gains no stage filter — that is deferred). It is the public parse half of the stage axis, defined now per the final-interface principle (define the API you know the axis needs) rather than added later; it is NOT dead code and must not be removed as such.
func (ReleaseStage) IsKnown ¶ added in v0.2.6
func (s ReleaseStage) IsKnown() bool
IsKnown reports whether s is a named constant in this package (i.e. not an out-of-range integer). StageOther is considered known — it is a named member of the enum; only truly out-of-range integers return false.
func (ReleaseStage) MarshalText ¶ added in v0.2.6
func (s ReleaseStage) MarshalText() ([]byte, error)
MarshalText implements encoding.TextMarshaler, emitting the canonical wire name (so ReleaseStage serializes as a JSON string, not an integer). An out-of-range value is a programming error and yields an actionable error.
func (ReleaseStage) String ¶ added in v0.2.6
func (s ReleaseStage) String() string
String returns the canonical lowercase wire name of the stage. An out-of-range value renders as "releasestage(<n>)" so logs never silently drop an unexpected value.
func (*ReleaseStage) UnmarshalText ¶ added in v0.2.6
func (s *ReleaseStage) UnmarshalText(text []byte) error
UnmarshalText implements encoding.TextUnmarshaler, parsing a canonical wire name back into a ReleaseStage. Parsing is case-insensitive so a mixed-case token round-trips. An unrecognized token yields an actionable error.
type ResolveOption ¶
type ResolveOption func(*resolveConfig)
ResolveOption configures a Resolve call. Options are applied in order; later options override earlier ones.
func WithInputFormat ¶ added in v0.2.0
func WithInputFormat(f InputFormat) ResolveOption
WithInputFormat pins the InputFormat for a Resolve call.
When InputFormatPeasant is specified (the default from the CLI), Resolve dispatches as SchemeCanonical and does NOT auto-detect from the input prefix. A PURL or HuggingFace input passed with InputFormatPeasant will fail to match (ErrNotFound) — this is intentional. Pass the matching --format flag explicitly.
For huggingface/hf, purl, and raw, dispatches directly to the corresponding scheme without auto-detect.
func WithScheme ¶
func WithScheme(s CanonicalScheme) ResolveOption
WithScheme pins the CanonicalScheme for a Resolve call. When not specified, Resolve auto-detects the scheme from the input prefix:
- "pkg:huggingface/<provider>/<id>" → SchemePURL: strip prefix, retain provider hint
- "<word>/<word>" two-segment form (no "pkg:" prefix, no "@" or versioned token) → SchemeHuggingFace: strip provider prefix, match raw ID
- "<family>/<variant>[@date]" or "<provider>/<family>/<variant>[@date]" form → SchemeCanonical
- Otherwise → SchemeRaw (exact model ID lookup)
SchemeCanonical is auto-detected when the input contains 1–3 "/" separators AND at least one of: an "@" date suffix, or a versioned token (e.g. "4.5", "2.5"). Use WithScheme to override auto-detection.
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store is a SQLite-backed cache for AI model metadata. Use OpenStore to create, and Close when done.
func OpenStore ¶
OpenStore opens (or creates) the SQLite database at path. It applies any pending schema migrations before returning. Caller must call Close when done.
func (*Store) QueryByCanonical ¶
QueryByCanonical returns ModelInfo entries matching the canonical axes in f. Cross-provider results are returned as a slice. Empty fields in f act as wildcards: an empty Family matches any family, an empty Variant matches any variant, and an empty Date matches any date. Returns an empty slice (not an error) when no matching models are found.
The query uses the (family, variant) prefix of idx_canonical for efficient lookup when f.Family is non-empty.
ctx is accepted for API compatibility; zombiezen.com/go/sqlite does not support per-operation context cancellation.
func (*Store) QueryCurrentIngests ¶ added in v0.2.5
func (s *Store) QueryCurrentIngests(ctx context.Context) ([]DatasetIngested, error)
QueryCurrentIngests returns the CURRENT ingest of every source: the row with the maximum ingested_at per data_source_id, sorted ascending by data_source_id. It reads the append-only dataset_ingested history and collapses it to one current row per source (the ingest-log analogue of DatasetIngestedFor's MAX, across all sources at once).
The query relies on SQLite's documented bare-column rule: with a single MAX() aggregate and a GROUP BY, the bare parser_schema column takes its value from the same row that supplied the maximum ingested_at, so the returned parser_schema is the current ingest's, not an arbitrary row's.
ctx is accepted for API compatibility; zombiezen.com/go/sqlite does not support per-operation context cancellation.
func (*Store) QueryEntityMetadata ¶ added in v0.2.5
func (s *Store) QueryEntityMetadata(ctx context.Context) ([]EntityMetadata, error)
QueryEntityMetadata returns all cached entity metadata with its benchmark and link children reassembled onto each parent. The order is deterministic: parents ascending by metadata_id, and within a parent the children in insertion order (rowid). Enum-typed columns are decoded back from their stored string forms.
The reassembly is three sequential passes (parents, then benchmarks, then links): zombiezen.com/go/sqlite does not permit issuing a new statement while a result cursor is open, so nested per-parent child queries are not possible; the flat child passes are keyed back onto their parent by metadata_id.
ctx is accepted for API compatibility; zombiezen.com/go/sqlite does not support per-operation context cancellation.
func (*Store) QueryIngestHistory ¶ added in v0.2.5
func (s *Store) QueryIngestHistory(ctx context.Context, id DataSourceID) ([]DatasetIngested, error)
QueryIngestHistory returns every ingest row for a single source, sorted ascending by ingested_at (oldest first). It is the per-source history view behind `sources --history`; an empty slice (not an error) is returned when the source has no ingest rows.
ctx is accepted for API compatibility; zombiezen.com/go/sqlite does not support per-operation context cancellation.
func (*Store) QueryModel ¶
QueryModel returns the first model found with the given ID, or ErrNotFound if no model with that ID exists in the store. Note: with the composite (model_id, provider) primary key, multiple rows may share the same model_id across different providers. Use QueryModelsByID to retrieve all provider variants for a given model ID.
ctx is accepted for API compatibility; zombiezen.com/go/sqlite does not support per-operation context cancellation.
func (*Store) QueryModels ¶
QueryModels returns all cached models. If provider is non-empty, results are filtered to only models from that provider. An empty provider string returns ALL models regardless of provider.
ctx is accepted for API compatibility; zombiezen.com/go/sqlite does not support per-operation context cancellation.
func (*Store) QueryModelsByID ¶
QueryModelsByID returns all cached models with the given ID across all providers. Returns an empty slice (not an error) if none are found.
ctx is accepted for API compatibility; zombiezen.com/go/sqlite does not support per-operation context cancellation.
func (*Store) UpsertDataSources ¶ added in v0.2.4
func (s *Store) UpsertDataSources(ctx context.Context, sources []DataSource, ingested []DatasetIngested) error
UpsertDataSources writes the data-source dimension rows and appends their ingest rows in a single transaction. Rows are written parents-before-children to satisfy the dataset_ingested.data_source_id foreign key: every DataSource is written first (insert-or-update on the id primary key), then every DatasetIngested. A DatasetIngested whose SourceID names a DataSource absent from BOTH this call and the existing data_sources table is rejected by the foreign key (when foreign_keys is ON).
The ingest pass is APPEND-ONLY: it uses INSERT OR IGNORE against the composite primary key (data_source_id, ingested_at). A new (source, timestamp) appends a history row; an identical (source, timestamp) is the same ingest fact re- asserted, so OR IGNORE keeps the original untouched — it can never MUTATE an existing row (unlike OR REPLACE, which would overwrite parser_schema). The current ingest for a source is the row with the maximum ingested_at, surfaced by QueryCurrentIngests / DatasetIngestedFor.
ctx is accepted for API compatibility; zombiezen.com/go/sqlite does not support per-operation context cancellation.
func (*Store) UpsertEntityMetadata ¶ added in v0.2.5
func (s *Store) UpsertEntityMetadata(ctx context.Context, rows []EntityMetadata) error
UpsertEntityMetadata writes each EntityMetadata and its benchmark / link children in a single transaction. The children of a metadata_id are a REPLACEABLE SET owned by their parent: per row the method (1) INSERT OR REPLACE the parent entity_metadata row, (2) DELETE the existing metadata_benchmarks and metadata_links for that metadata_id, then (3) INSERT the current children.
This order is foreign-key safe under foreign_keys=ON: INSERT OR REPLACE keeps the same metadata_id, so at the end of that statement any pre-existing children still resolve their parent (the FK is checked at statement end, and a parent with the same key exists). The subsequent delete-then-insert then refreshes the child set. Re-syncing identical metadata is idempotent by CONTENT — the row counts and values are unchanged.
Enum-typed columns persist their STRING forms: a link's type column stores LinkType.String() and type_raw carries the verbatim upstream token (populated only when the type is the other bucket). entity_metadata has no status column (status is not present on the models.json side). The parent's source_id is a foreign key into data_sources, so callers must register the DataSource (via UpsertDataSources) before attaching metadata attributed to it.
ctx is accepted for API compatibility; zombiezen.com/go/sqlite does not support per-operation context cancellation.
func (*Store) UpsertEntitySources ¶ added in v0.2.4
func (s *Store) UpsertEntitySources(ctx context.Context, sources []EntitySource) error
UpsertEntitySources inserts or replaces the entity↔source join rows in a single transaction. Rows are written parents-before-children to satisfy the entity_source.entity_key foreign key: pass 1 ensures a minimal entities dimension row exists for each distinct EntityKey (INSERT OR IGNORE so a richer pre-existing row is never clobbered; the decomposed columns default to the empty string — the store's entities table is a foreign-key target, not the authoritative entity decomposition, which lives in the generated registry), then pass 2 writes the join rows. The entity_source.data_source_id foreign key is NOT auto-satisfied here: callers must have populated data_sources first via UpsertDataSources, so an EntitySource naming an unknown source is rejected (when foreign_keys is ON).
ctx is accepted for API compatibility; zombiezen.com/go/sqlite does not support per-operation context cancellation.
func (*Store) UpsertModels ¶
UpsertModels inserts or replaces the given models in the store. It sets LastSynced to the current UTC time in RFC3339 format for each model. All upserts run inside a single transaction.
ctx is accepted for API compatibility; zombiezen.com/go/sqlite does not support per-operation context cancellation.
type TierCost ¶ added in v0.2.5
type TierCost struct {
// CostInputPerMTok is the input cost in USD per million tokens, or nil when unset.
CostInputPerMTok *float64
// CostOutputPerMTok is the output cost in USD per million tokens, or nil when unset.
CostOutputPerMTok *float64
// CostReasoningPerMTok is the reasoning cost in USD per million tokens, or nil when unset.
CostReasoningPerMTok *float64
// CostCacheReadPerMTok is the cache-read cost in USD per million tokens, or nil when unset.
CostCacheReadPerMTok *float64
// CostCacheWritePerMTok is the cache-write cost in USD per million tokens, or nil when unset.
CostCacheWritePerMTok *float64
// CostInputAudioPerMTok is the audio-input cost in USD per million tokens, or nil when unset.
CostInputAudioPerMTok *float64
// CostOutputAudioPerMTok is the audio-output cost in USD per million tokens, or nil when unset.
CostOutputAudioPerMTok *float64
}
TierCost is one bundle of cost overrides. Every axis is optional: a nil pointer means "not overridden at this tier". The per-million-token costs mirror the flat cost fields on ModelInfo and add audio input/output rates.
Source Files
¶
- bestiary.go
- canonical.go
- client.go
- datasource.go
- derivation.go
- designation.go
- entity.go
- errors.go
- families_gen.go
- family.go
- format.go
- harness.go
- host.go
- host_detect.go
- lineage.go
- merge.go
- metadata.go
- metadata_join.go
- modality.go
- modelref.go
- models_constants_gen.go
- models_metadata_gen.go
- models_static_gen.go
- modifier.go
- modifierclass.go
- param_size_data.go
- parse.go
- provider.go
- providers_gen.go
- quant_vram_data.go
- quantization.go
- registry.go
- resolve.go
- stage.go
- store.go
- version.go
- vram.go
- wire.go
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
bestiary
command
|
|
|
bestiary-gen
command
bestiary-gen consumes the models.dev catalog and writes five generated files into the bestiary package root:
|
bestiary-gen consumes the models.dev catalog and writes five generated files into the bestiary package root: |
|
bestiary-ollama
command
Command bestiary-ollama is the OFFLINE, network-gated Ollama refresh tool.
|
Command bestiary-ollama is the OFFLINE, network-gated Ollama refresh tool. |
|
Package testcase is the pure-data foundation for bestiary's canonical test-case corpus: a typed, generic Case/Corpus model with closed-set classification and provenance metadata, a pure JSON loader, and pure validators.
|
Package testcase is the pure-data foundation for bestiary's canonical test-case corpus: a typed, generic Case/Corpus model with closed-set classification and provenance metadata, a pure JSON loader, and pure validators. |
|
assert
Package assert is the testing seam for the test-case corpus: helpers that take *testing.T and fail a test when a corpus violates its own invariants.
|
Package assert is the testing seam for the test-case corpus: helpers that take *testing.T and fail a test when a corpus violates its own invariants. |