diff --git a/src/libs/OpenRouter/Generated/OpenRouter.IInterns2Client.Chat.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.IInterns2Client.Chat.g.cs
index a4400035..0deda4ba 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.IInterns2Client.Chat.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.IInterns2Client.Chat.g.cs
@@ -22,7 +22,7 @@ public partial interface IInterns2Client
/// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
/// The token to cancel the operation with
///
- global::System.Threading.Tasks.Task ChatAsync(
+ global::System.Threading.Tasks.Task ChatAsync(
string internId,
global::OpenRouter.InternChatCompletionRequest request,
@@ -46,7 +46,7 @@ public partial interface IInterns2Client
/// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
/// The token to cancel the operation with
///
- global::System.Threading.Tasks.Task> ChatAsResponseAsync(
+ global::System.Threading.Tasks.Task> ChatAsResponseAsync(
string internId,
global::OpenRouter.InternChatCompletionRequest request,
@@ -84,7 +84,7 @@ public partial interface IInterns2Client
/// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
/// The token to cancel the operation with
///
- global::System.Threading.Tasks.Task ChatAsync(
+ global::System.Threading.Tasks.Task ChatAsync(
string internId,
global::System.Collections.Generic.IList messages,
global::OpenRouter.InternApprovalMode? approvalMode = default,
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.IModelsClient.GetV2.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.IModelsClient.GetV2.g.cs
new file mode 100644
index 00000000..afbec293
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.IModelsClient.GetV2.g.cs
@@ -0,0 +1,58 @@
+#nullable enable
+
+namespace OpenRouter
+{
+ public partial interface IModelsClient
+ {
+ ///
+ /// Get a model with its V2 endpoint documents
+ /// Returns a single model identified by its author and slug (e.g. openai/gpt-4) together with each of its published endpoints in the Models API V2 document format. Known slug aliases are resolved. A variant suffix (e.g. openai/gpt-4:free) selects the record of that variant; a variant no endpoint serves is reported as not found. Routers (openrouter/auto) and `~author/family-latest` aliases are records too. `region` narrows the endpoints the same way it does on the list route; a model left without an endpoint is reported as not found. With an API key the record comes from that key's catalog, as on the list route, so a model the key cannot route to is not found.
+ ///
+ ///
+ /// The author/organization of the model
+ /// Example: openai
+ ///
+ ///
+ /// The model slug, optionally including a variant suffix (e.g. gpt-4 or gpt-4:free)
+ /// Example: gpt-4
+ ///
+ ///
+ /// Only return endpoints in the given data region ("eu" or "us"); a model left without an endpoint is reported as not found. With an API key the record comes from that key's catalog, as on the list route, so a model the key cannot route to is not found.
+ /// Example: eu
+ ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task GetV2Async(
+ string author,
+ string slug,
+ global::OpenRouter.GetModelV2Region? region = default,
+ global::OpenRouter.AutoSDKRequestOptions? requestOptions = default,
+ global::System.Threading.CancellationToken cancellationToken = default);
+ ///
+ /// Get a model with its V2 endpoint documents
+ /// Returns a single model identified by its author and slug (e.g. openai/gpt-4) together with each of its published endpoints in the Models API V2 document format. Known slug aliases are resolved. A variant suffix (e.g. openai/gpt-4:free) selects the record of that variant; a variant no endpoint serves is reported as not found. Routers (openrouter/auto) and `~author/family-latest` aliases are records too. `region` narrows the endpoints the same way it does on the list route; a model left without an endpoint is reported as not found. With an API key the record comes from that key's catalog, as on the list route, so a model the key cannot route to is not found.
+ ///
+ ///
+ /// The author/organization of the model
+ /// Example: openai
+ ///
+ ///
+ /// The model slug, optionally including a variant suffix (e.g. gpt-4 or gpt-4:free)
+ /// Example: gpt-4
+ ///
+ ///
+ /// Only return endpoints in the given data region ("eu" or "us"); a model left without an endpoint is reported as not found. With an API key the record comes from that key's catalog, as on the list route, so a model the key cannot route to is not found.
+ /// Example: eu
+ ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task> GetV2AsResponseAsync(
+ string author,
+ string slug,
+ global::OpenRouter.GetModelV2Region? region = default,
+ global::OpenRouter.AutoSDKRequestOptions? requestOptions = default,
+ global::System.Threading.CancellationToken cancellationToken = default);
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.IModelsClient.ListV2.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.IModelsClient.ListV2.g.cs
new file mode 100644
index 00000000..a3d38c11
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.IModelsClient.ListV2.g.cs
@@ -0,0 +1,4036 @@
+#nullable enable
+
+namespace OpenRouter
+{
+ public partial interface IModelsClient
+ {
+ ///
+ /// List models with V2 endpoint documents
+ /// Returns every publicly served model together with each of its endpoints in the Models API V2 document format. The V2 document is the schema providers publish to OpenRouter, so each endpoint is reported in the shape it was declared, with pricing attached to the modality it applies to (`inputs`/`outputs`, each with its `params`). Operator-only fields such as capacity and `discount_to_user` are not part of the public document.
+ /// Without credentials the response is the public catalog. With an API key it is the catalog that key can route to, the same one `GET /api/v1/models/user` serves: models and endpoints the account was granted private access to are included, and endpoints the account or key guardrails, provider preferences, BYOK and privacy settings exclude are omitted, along with routers and aliases left with nothing to route to. A key that does not resolve is rejected with 401.
+ /// Every field of the response document is a filter, named by its dotted JSON path: `<path>=<value>` tests equality and `<path>.<operator>=<value>` applies `gt`, `gte`, `lt`, `lte`, `between`, `in`, `exists`, `contains`, `starts_with` or `ends_with` as the field type allows; `<path>.not.<operator>=<value>` (or `<path>.not=<value>` for not-equal) keeps the records where no value matches. Suffixes, arithmetic operators, parentheses and the list comma are read before percent-decoding, so an encoded character is always literal: a map key spelled like an operator or `not` is reached by encoding one of its characters (`params.n%6Ft.exists=true`), a `/` or `+` inside a literal is `%2F` or `%2B`, and arithmetic is spelled with the bare characters (`created/10`, `context_length+1`). `in` takes a comma-separated list and `between` the inclusive lower and upper bound (a literal comma is `%2C`); strings compare trimmed and lower-cased on both sides, so `author=Anthropic` and `name.contains=claude` match. A filter under `endpoints.` keeps only the endpoints that satisfy every such filter and omits models left with none. A path through a repeated object is existential (`endpoints.pricing.type=request` matches an endpoint with some request-priced entry); the members of a typed collection are addressed by their type (`endpoints.inputs.text.params.max_length.value.gte=1000000`, `endpoints.inputs.text.pricing.prompt.cost_usd.lte=0.000001`), and a dynamic key is written in the path (`endpoints.outputs.text.params.tools.type=boolean`, `endpoints.outputs.text.params.temperature.range.max.gte=2`). Both sides of an operator are operands of one grammar: a literal, a path, or an arithmetic expression over numeric paths and numbers, so a filter relates any two of them (`endpoints.inputs.text.pricing.prompt.cost_usd.gte=endpoints.outputs.text.pricing.completion.cost_usd*100`, `10000.lte=endpoints.inputs.text.params.max_length.value`, `endpoints.id=id`). Arithmetic requires numeric paths, each operator applies to the type its operands share, and text that names no field path is a literal (`id=openai/gpt-4`), so the field names at the root of the document are reserved words. A parameter that is not a field path is rejected with a 400 whose `error.metadata` names the `code`, `parameter` and `reason`.
+ /// `sort` takes comma-separated paths or expressions, `-` prefixed for descending; a key must be a scalar path or expression (`created`, `endpoints.inputs.text.pricing.prompt.cost_usd`); a model sorts by the best value in the sort direction across its endpoints and across the time windows of a price, missing values sort last and `id` ascending breaks ties, so the order is total even without `sort`. Pagination is opt-in: pass `limit` and follow `links.next`, which carries an opaque `cursor` bound to the filters and sort; `offset` remains supported. `total_count` is the number of models matching the filters.
+ ///
+ ///
+ /// Number of records to skip (0 when omitted); kept for compatibility, prefer `cursor`. Supplying limit, cursor or offset paginates the list; when all are omitted, the full list is returned.
+ /// Example: 0
+ ///
+ ///
+ /// Maximum number of records to return (500 when omitted, max 1000). Supplying limit, cursor or offset paginates the list; when all are omitted, the full list is returned.
+ /// Example: 500
+ ///
+ ///
+ /// Opaque keyset cursor from the previous page's `links.next`. Bound to the filters and sort it was issued for; a cursor sent with different filters or sort is rejected.
+ /// Example: eyJ2IjoxLCJxIjoiYjVmMWE4MDEiLCJrIjpbIm9wZW5haS9ncHQtNCJdfQ
+ ///
+ ///
+ /// Only return endpoints in the given data region ("eu" or "us"); models left without an endpoint are omitted.
+ /// Example: eu
+ ///
+ ///
+ /// Comma-separated sort keys, each a path below or an arithmetic expression over numeric paths; prefix with `-` for descending. A key under `endpoints.` ranks each model by its best endpoint value in the sort direction. Missing values sort last and `id` ascending breaks ties. Keys: `id`, `canonical_slug`, `author`, `name`, `variant`, `kind`, `alias_target.slug`, `alias_target.name`, `created`, `description`, `context_length`, `hugging_face_id`, `endpoints.schema_version`, `endpoints.id`, `endpoints.hugging_face_id`, `endpoints.name`, `endpoints.created`, `endpoints.quantization`, `endpoints.tokenizer`, `endpoints.description`, `endpoints.pricing.request.unit`, `endpoints.pricing.request.cost_usd`, `endpoints.pricing.web_search.unit`, `endpoints.pricing.web_search.cost_usd`, `endpoints.capacity.request.unit`, `endpoints.capacity.request.per`, `endpoints.capacity.request.value`, `endpoints.capacity.web_search.unit`, `endpoints.capacity.web_search.per`, `endpoints.capacity.web_search.value`, `endpoints.capacity.concurrency.unit`, `endpoints.capacity.concurrency.value`, `endpoints.deprecation_date`, `endpoints.is_ready`, `endpoints.is_free`, `endpoints.service_tier`, `endpoints.discount_to_user`, `endpoints.openrouter.slug`, `endpoints.deployment_region`, `endpoints.inputs.text.pricing.prompt.unit`, `endpoints.inputs.text.pricing.prompt.cost_usd`, `endpoints.inputs.text.pricing.prompt.utc_start`, `endpoints.inputs.text.pricing.prompt.utc_end`, `endpoints.inputs.text.pricing.cached_prompt.unit`, `endpoints.inputs.text.pricing.cached_prompt.cost_usd`, `endpoints.inputs.text.pricing.cached_prompt.ttl_seconds`, `endpoints.inputs.text.pricing.cached_prompt.implicit`, `endpoints.inputs.text.pricing.cached_prompt.utc_start`, `endpoints.inputs.text.pricing.cached_prompt.utc_end`, `endpoints.inputs.text.pricing.cache_write.unit`, `endpoints.inputs.text.pricing.cache_write.cost_usd`, `endpoints.inputs.text.pricing.cache_write.ttl_seconds`, `endpoints.inputs.text.pricing.cache_write.implicit`, `endpoints.inputs.text.pricing.cache_write.utc_start`, `endpoints.inputs.text.pricing.cache_write.utc_end`, `endpoints.inputs.text.capacity.prompt.unit`, `endpoints.inputs.text.capacity.prompt.per`, `endpoints.inputs.text.capacity.prompt.value`, `endpoints.inputs.text.capacity.cached_prompt.unit`, `endpoints.inputs.text.capacity.cached_prompt.per`, `endpoints.inputs.text.capacity.cached_prompt.value`, `endpoints.inputs.text.capacity.cache_write.unit`, `endpoints.inputs.text.capacity.cache_write.per`, `endpoints.inputs.text.capacity.cache_write.value`, `endpoints.inputs.text.params.max_prompt_length.value`, `endpoints.inputs.text.params.max_prompt_length.unit`, `endpoints.inputs.text.params.max_length.value`, `endpoints.inputs.text.params.max_length.unit`, `endpoints.inputs.image.pricing.prompt.unit`, `endpoints.inputs.image.pricing.prompt.cost_usd`, `endpoints.inputs.image.pricing.prompt.utc_start`, `endpoints.inputs.image.pricing.prompt.utc_end`, `endpoints.inputs.image.pricing.cached_prompt.unit`, `endpoints.inputs.image.pricing.cached_prompt.cost_usd`, `endpoints.inputs.image.pricing.cached_prompt.ttl_seconds`, `endpoints.inputs.image.pricing.cached_prompt.implicit`, `endpoints.inputs.image.pricing.cached_prompt.utc_start`, `endpoints.inputs.image.pricing.cached_prompt.utc_end`, `endpoints.inputs.image.pricing.cache_write.unit`, `endpoints.inputs.image.pricing.cache_write.cost_usd`, `endpoints.inputs.image.pricing.cache_write.ttl_seconds`, `endpoints.inputs.image.pricing.cache_write.implicit`, `endpoints.inputs.image.pricing.cache_write.utc_start`, `endpoints.inputs.image.pricing.cache_write.utc_end`, `endpoints.inputs.image.capacity.prompt.unit`, `endpoints.inputs.image.capacity.prompt.per`, `endpoints.inputs.image.capacity.prompt.value`, `endpoints.inputs.image.capacity.cached_prompt.unit`, `endpoints.inputs.image.capacity.cached_prompt.per`, `endpoints.inputs.image.capacity.cached_prompt.value`, `endpoints.inputs.image.capacity.cache_write.unit`, `endpoints.inputs.image.capacity.cache_write.per`, `endpoints.inputs.image.capacity.cache_write.value`, `endpoints.inputs.image.params.sources.type`, `endpoints.inputs.image.params.formats.type`, `endpoints.inputs.image.params.detail_levels.type`, `endpoints.inputs.image.params.references.type`, `endpoints.inputs.image.params.references.min`, `endpoints.inputs.image.params.references.max`, `endpoints.inputs.image.params.references.unit`, `endpoints.inputs.image.params.role.type`, `endpoints.inputs.image.params.max_content_size_bytes.value`, `endpoints.inputs.image.params.max_content_size_bytes.unit`, `endpoints.inputs.video.pricing.prompt.unit`, `endpoints.inputs.video.pricing.prompt.cost_usd`, `endpoints.inputs.video.pricing.prompt.utc_start`, `endpoints.inputs.video.pricing.prompt.utc_end`, `endpoints.inputs.video.pricing.cached_prompt.unit`, `endpoints.inputs.video.pricing.cached_prompt.cost_usd`, `endpoints.inputs.video.pricing.cached_prompt.ttl_seconds`, `endpoints.inputs.video.pricing.cached_prompt.implicit`, `endpoints.inputs.video.pricing.cached_prompt.utc_start`, `endpoints.inputs.video.pricing.cached_prompt.utc_end`, `endpoints.inputs.video.pricing.cache_write.unit`, `endpoints.inputs.video.pricing.cache_write.cost_usd`, `endpoints.inputs.video.pricing.cache_write.ttl_seconds`, `endpoints.inputs.video.pricing.cache_write.implicit`, `endpoints.inputs.video.pricing.cache_write.utc_start`, `endpoints.inputs.video.pricing.cache_write.utc_end`, `endpoints.inputs.video.capacity.prompt.unit`, `endpoints.inputs.video.capacity.prompt.per`, `endpoints.inputs.video.capacity.prompt.value`, `endpoints.inputs.video.capacity.cached_prompt.unit`, `endpoints.inputs.video.capacity.cached_prompt.per`, `endpoints.inputs.video.capacity.cached_prompt.value`, `endpoints.inputs.video.capacity.cache_write.unit`, `endpoints.inputs.video.capacity.cache_write.per`, `endpoints.inputs.video.capacity.cache_write.value`, `endpoints.inputs.video.params.sources.type`, `endpoints.inputs.video.params.formats.type`, `endpoints.inputs.video.params.max_duration_seconds.value`, `endpoints.inputs.video.params.max_duration_seconds.unit`, `endpoints.inputs.video.params.max_content_size_bytes.value`, `endpoints.inputs.video.params.max_content_size_bytes.unit`, `endpoints.inputs.audio.pricing.prompt.unit`, `endpoints.inputs.audio.pricing.prompt.cost_usd`, `endpoints.inputs.audio.pricing.prompt.utc_start`, `endpoints.inputs.audio.pricing.prompt.utc_end`, `endpoints.inputs.audio.pricing.cached_prompt.unit`, `endpoints.inputs.audio.pricing.cached_prompt.cost_usd`, `endpoints.inputs.audio.pricing.cached_prompt.ttl_seconds`, `endpoints.inputs.audio.pricing.cached_prompt.implicit`, `endpoints.inputs.audio.pricing.cached_prompt.utc_start`, `endpoints.inputs.audio.pricing.cached_prompt.utc_end`, `endpoints.inputs.audio.pricing.cache_write.unit`, `endpoints.inputs.audio.pricing.cache_write.cost_usd`, `endpoints.inputs.audio.pricing.cache_write.ttl_seconds`, `endpoints.inputs.audio.pricing.cache_write.implicit`, `endpoints.inputs.audio.pricing.cache_write.utc_start`, `endpoints.inputs.audio.pricing.cache_write.utc_end`, `endpoints.inputs.audio.capacity.prompt.unit`, `endpoints.inputs.audio.capacity.prompt.per`, `endpoints.inputs.audio.capacity.prompt.value`, `endpoints.inputs.audio.capacity.cached_prompt.unit`, `endpoints.inputs.audio.capacity.cached_prompt.per`, `endpoints.inputs.audio.capacity.cached_prompt.value`, `endpoints.inputs.audio.capacity.cache_write.unit`, `endpoints.inputs.audio.capacity.cache_write.per`, `endpoints.inputs.audio.capacity.cache_write.value`, `endpoints.inputs.audio.params.sources.type`, `endpoints.inputs.audio.params.formats.type`, `endpoints.inputs.audio.params.max_duration_seconds.value`, `endpoints.inputs.audio.params.max_duration_seconds.unit`, `endpoints.inputs.audio.params.max_content_size_bytes.value`, `endpoints.inputs.audio.params.max_content_size_bytes.unit`, `endpoints.inputs.file.pricing.prompt.unit`, `endpoints.inputs.file.pricing.prompt.cost_usd`, `endpoints.inputs.file.pricing.prompt.utc_start`, `endpoints.inputs.file.pricing.prompt.utc_end`, `endpoints.inputs.file.pricing.cached_prompt.unit`, `endpoints.inputs.file.pricing.cached_prompt.cost_usd`, `endpoints.inputs.file.pricing.cached_prompt.ttl_seconds`, `endpoints.inputs.file.pricing.cached_prompt.implicit`, `endpoints.inputs.file.pricing.cached_prompt.utc_start`, `endpoints.inputs.file.pricing.cached_prompt.utc_end`, `endpoints.inputs.file.pricing.cache_write.unit`, `endpoints.inputs.file.pricing.cache_write.cost_usd`, `endpoints.inputs.file.pricing.cache_write.ttl_seconds`, `endpoints.inputs.file.pricing.cache_write.implicit`, `endpoints.inputs.file.pricing.cache_write.utc_start`, `endpoints.inputs.file.pricing.cache_write.utc_end`, `endpoints.inputs.file.capacity.prompt.unit`, `endpoints.inputs.file.capacity.prompt.per`, `endpoints.inputs.file.capacity.prompt.value`, `endpoints.inputs.file.capacity.cached_prompt.unit`, `endpoints.inputs.file.capacity.cached_prompt.per`, `endpoints.inputs.file.capacity.cached_prompt.value`, `endpoints.inputs.file.capacity.cache_write.unit`, `endpoints.inputs.file.capacity.cache_write.per`, `endpoints.inputs.file.capacity.cache_write.value`, `endpoints.inputs.file.params.sources.type`, `endpoints.inputs.file.params.formats.type`, `endpoints.inputs.file.params.references.type`, `endpoints.inputs.file.params.references.min`, `endpoints.inputs.file.params.references.max`, `endpoints.inputs.file.params.references.unit`, `endpoints.inputs.file.params.max_content_size_bytes.value`, `endpoints.inputs.file.params.max_content_size_bytes.unit`, `endpoints.outputs.text.max_length.value`, `endpoints.outputs.text.max_length.unit`, `endpoints.outputs.text.pricing.completion.unit`, `endpoints.outputs.text.pricing.completion.cost_usd`, `endpoints.outputs.text.pricing.completion.utc_start`, `endpoints.outputs.text.pricing.completion.utc_end`, `endpoints.outputs.text.pricing.internal_reasoning.unit`, `endpoints.outputs.text.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.text.pricing.internal_reasoning.utc_start`, `endpoints.outputs.text.pricing.internal_reasoning.utc_end`, `endpoints.outputs.text.capacity.completion.unit`, `endpoints.outputs.text.capacity.completion.per`, `endpoints.outputs.text.capacity.completion.value`, `endpoints.outputs.text.capacity.internal_reasoning.unit`, `endpoints.outputs.text.capacity.internal_reasoning.per`, `endpoints.outputs.text.capacity.internal_reasoning.value`, `endpoints.outputs.text.capacity.concurrency.unit`, `endpoints.outputs.text.capacity.concurrency.value`, `endpoints.outputs.text.streaming`, `endpoints.outputs.image.pricing.completion.unit`, `endpoints.outputs.image.pricing.completion.cost_usd`, `endpoints.outputs.image.pricing.completion.utc_start`, `endpoints.outputs.image.pricing.completion.utc_end`, `endpoints.outputs.image.pricing.internal_reasoning.unit`, `endpoints.outputs.image.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.image.pricing.internal_reasoning.utc_start`, `endpoints.outputs.image.pricing.internal_reasoning.utc_end`, `endpoints.outputs.image.capacity.completion.unit`, `endpoints.outputs.image.capacity.completion.per`, `endpoints.outputs.image.capacity.completion.value`, `endpoints.outputs.image.capacity.internal_reasoning.unit`, `endpoints.outputs.image.capacity.internal_reasoning.per`, `endpoints.outputs.image.capacity.internal_reasoning.value`, `endpoints.outputs.image.capacity.concurrency.unit`, `endpoints.outputs.image.capacity.concurrency.value`, `endpoints.outputs.image.streaming`, `endpoints.outputs.video.pricing.completion.unit`, `endpoints.outputs.video.pricing.completion.cost_usd`, `endpoints.outputs.video.pricing.completion.utc_start`, `endpoints.outputs.video.pricing.completion.utc_end`, `endpoints.outputs.video.pricing.internal_reasoning.unit`, `endpoints.outputs.video.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.video.pricing.internal_reasoning.utc_start`, `endpoints.outputs.video.pricing.internal_reasoning.utc_end`, `endpoints.outputs.video.capacity.completion.unit`, `endpoints.outputs.video.capacity.completion.per`, `endpoints.outputs.video.capacity.completion.value`, `endpoints.outputs.video.capacity.internal_reasoning.unit`, `endpoints.outputs.video.capacity.internal_reasoning.per`, `endpoints.outputs.video.capacity.internal_reasoning.value`, `endpoints.outputs.video.capacity.concurrency.unit`, `endpoints.outputs.video.capacity.concurrency.value`, `endpoints.outputs.video.streaming`, `endpoints.outputs.speech.pricing.completion.unit`, `endpoints.outputs.speech.pricing.completion.cost_usd`, `endpoints.outputs.speech.pricing.completion.utc_start`, `endpoints.outputs.speech.pricing.completion.utc_end`, `endpoints.outputs.speech.pricing.internal_reasoning.unit`, `endpoints.outputs.speech.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.speech.pricing.internal_reasoning.utc_start`, `endpoints.outputs.speech.pricing.internal_reasoning.utc_end`, `endpoints.outputs.speech.capacity.completion.unit`, `endpoints.outputs.speech.capacity.completion.per`, `endpoints.outputs.speech.capacity.completion.value`, `endpoints.outputs.speech.capacity.internal_reasoning.unit`, `endpoints.outputs.speech.capacity.internal_reasoning.per`, `endpoints.outputs.speech.capacity.internal_reasoning.value`, `endpoints.outputs.speech.capacity.concurrency.unit`, `endpoints.outputs.speech.capacity.concurrency.value`, `endpoints.outputs.speech.streaming`, `endpoints.outputs.transcription.pricing.completion.unit`, `endpoints.outputs.transcription.pricing.completion.cost_usd`, `endpoints.outputs.transcription.pricing.completion.utc_start`, `endpoints.outputs.transcription.pricing.completion.utc_end`, `endpoints.outputs.transcription.pricing.internal_reasoning.unit`, `endpoints.outputs.transcription.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.transcription.pricing.internal_reasoning.utc_start`, `endpoints.outputs.transcription.pricing.internal_reasoning.utc_end`, `endpoints.outputs.transcription.capacity.completion.unit`, `endpoints.outputs.transcription.capacity.completion.per`, `endpoints.outputs.transcription.capacity.completion.value`, `endpoints.outputs.transcription.capacity.internal_reasoning.unit`, `endpoints.outputs.transcription.capacity.internal_reasoning.per`, `endpoints.outputs.transcription.capacity.internal_reasoning.value`, `endpoints.outputs.transcription.capacity.concurrency.unit`, `endpoints.outputs.transcription.capacity.concurrency.value`, `endpoints.outputs.transcription.streaming`, `endpoints.outputs.embeddings.pricing.completion.unit`, `endpoints.outputs.embeddings.pricing.completion.cost_usd`, `endpoints.outputs.embeddings.pricing.completion.utc_start`, `endpoints.outputs.embeddings.pricing.completion.utc_end`, `endpoints.outputs.embeddings.pricing.internal_reasoning.unit`, `endpoints.outputs.embeddings.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.embeddings.pricing.internal_reasoning.utc_start`, `endpoints.outputs.embeddings.pricing.internal_reasoning.utc_end`, `endpoints.outputs.embeddings.capacity.completion.unit`, `endpoints.outputs.embeddings.capacity.completion.per`, `endpoints.outputs.embeddings.capacity.completion.value`, `endpoints.outputs.embeddings.capacity.internal_reasoning.unit`, `endpoints.outputs.embeddings.capacity.internal_reasoning.per`, `endpoints.outputs.embeddings.capacity.internal_reasoning.value`, `endpoints.outputs.embeddings.capacity.concurrency.unit`, `endpoints.outputs.embeddings.capacity.concurrency.value`, `endpoints.outputs.rerank.pricing.completion.unit`, `endpoints.outputs.rerank.pricing.completion.cost_usd`, `endpoints.outputs.rerank.pricing.completion.utc_start`, `endpoints.outputs.rerank.pricing.completion.utc_end`, `endpoints.outputs.rerank.pricing.internal_reasoning.unit`, `endpoints.outputs.rerank.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.rerank.pricing.internal_reasoning.utc_start`, `endpoints.outputs.rerank.pricing.internal_reasoning.utc_end`, `endpoints.outputs.rerank.capacity.completion.unit`, `endpoints.outputs.rerank.capacity.completion.per`, `endpoints.outputs.rerank.capacity.completion.value`, `endpoints.outputs.rerank.capacity.internal_reasoning.unit`, `endpoints.outputs.rerank.capacity.internal_reasoning.per`, `endpoints.outputs.rerank.capacity.internal_reasoning.value`, `endpoints.outputs.rerank.capacity.concurrency.unit`, `endpoints.outputs.rerank.capacity.concurrency.value`, `endpoints.outputs.decisions.pricing.completion.unit`, `endpoints.outputs.decisions.pricing.completion.cost_usd`, `endpoints.outputs.decisions.pricing.completion.utc_start`, `endpoints.outputs.decisions.pricing.completion.utc_end`, `endpoints.outputs.decisions.pricing.internal_reasoning.unit`, `endpoints.outputs.decisions.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.decisions.pricing.internal_reasoning.utc_start`, `endpoints.outputs.decisions.pricing.internal_reasoning.utc_end`, `endpoints.outputs.decisions.capacity.completion.unit`, `endpoints.outputs.decisions.capacity.completion.per`, `endpoints.outputs.decisions.capacity.completion.value`, `endpoints.outputs.decisions.capacity.internal_reasoning.unit`, `endpoints.outputs.decisions.capacity.internal_reasoning.per`, `endpoints.outputs.decisions.capacity.internal_reasoning.value`, `endpoints.outputs.decisions.capacity.concurrency.unit`, `endpoints.outputs.decisions.capacity.concurrency.value`, `endpoints.outputs.audio.pricing.completion.unit`, `endpoints.outputs.audio.pricing.completion.cost_usd`, `endpoints.outputs.audio.pricing.completion.utc_start`, `endpoints.outputs.audio.pricing.completion.utc_end`, `endpoints.outputs.audio.pricing.internal_reasoning.unit`, `endpoints.outputs.audio.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.audio.pricing.internal_reasoning.utc_start`, `endpoints.outputs.audio.pricing.internal_reasoning.utc_end`, `endpoints.outputs.audio.capacity.completion.unit`, `endpoints.outputs.audio.capacity.completion.per`, `endpoints.outputs.audio.capacity.completion.value`, `endpoints.outputs.audio.capacity.internal_reasoning.unit`, `endpoints.outputs.audio.capacity.internal_reasoning.per`, `endpoints.outputs.audio.capacity.internal_reasoning.value`, `endpoints.outputs.audio.capacity.concurrency.unit`, `endpoints.outputs.audio.capacity.concurrency.value`, `endpoints.outputs.audio.streaming`, `endpoints.provider.slug`, `endpoints.provider.tag`, `endpoints.provider.name`, `endpoints.data_policy.training`, `endpoints.data_policy.retains_prompts`, `endpoints.data_policy.retention_days`.
+ /// Example: -created,endpoints.inputs.text.pricing.prompt.cost_usd
+ ///
+ ///
+ /// Filter where the value at `id` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `canonical_slug` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `author` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `name` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `variant` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `free`, `extended`, `standard`, `thinking`, `batch`.
+ ///
+ ///
+ /// Filter where the value at `kind` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `model`, `router`, `alias`.
+ ///
+ ///
+ /// Filter where the value at `alias_target.slug` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `alias_target.name` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `created` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `description` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `context_length` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `hugging_face_id` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `inputs` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `text`, `image`, `file`, `audio`, `video`.
+ ///
+ ///
+ /// Filter where any element at `outputs` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `text`, `image`, `embeddings`, `audio`, `video`, `rerank`, `decisions`, `speech`, `transcription`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.schema_version` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.id` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.hugging_face_id` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.name` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.created` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.quantization` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `int4`, `int8`, `fp4`, `mxfp4`, `nvfp4`, `fp6`, `fp8`, `mxfp8`, `fp16`, `bf16`, `fp32`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.tokenizer` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.description` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`, `web_search`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.pricing.request.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.pricing.request.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.pricing.request.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.pricing.web_search.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `search`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.pricing.web_search.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.pricing.web_search.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`, `web_search`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.request.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.request.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.request.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.web_search.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `search`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.web_search.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.web_search.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.passthrough_parameters`: `endpoints.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.passthrough_parameters.<key>.type`, `endpoints.passthrough_parameters.<key>.range.min`, `endpoints.passthrough_parameters.<key>.range.max`, `endpoints.passthrough_parameters.<key>.range.default`, `endpoints.passthrough_parameters.<key>.range.values`, `endpoints.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where the value at `endpoints.deprecation_date` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.is_ready` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.is_free` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.service_tier` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `flex`, `priority`, `ultrafast`, `fast`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.discount_to_user` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.openrouter.slug` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.datacenters.country_code` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.datacenters.region` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.deployment_region` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `text`, `image`, `video`, `audio`, `file`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.text.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.text.pricing.prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.text.pricing.prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cached_prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.text.pricing.cached_prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cached_prompt.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cached_prompt.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cached_prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cached_prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.text.pricing.cached_prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cache_write.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.text.pricing.cache_write.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cache_write.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cache_write.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cache_write.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cache_write.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.text.pricing.cache_write.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.text.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.cached_prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.cached_prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.cache_write.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.cache_write.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.inputs.text.passthrough_parameters`: `endpoints.inputs.text.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.inputs.text.passthrough_parameters.<key>.type`, `endpoints.inputs.text.passthrough_parameters.<key>.range.min`, `endpoints.inputs.text.passthrough_parameters.<key>.range.max`, `endpoints.inputs.text.passthrough_parameters.<key>.range.default`, `endpoints.inputs.text.passthrough_parameters.<key>.range.values`, `endpoints.inputs.text.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.params.max_prompt_length.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.params.max_prompt_length.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.params.max_length.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.params.max_length.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.image.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.image.pricing.prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.image.pricing.prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cached_prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.image.pricing.cached_prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cached_prompt.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cached_prompt.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cached_prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cached_prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.image.pricing.cached_prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cache_write.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.image.pricing.cache_write.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cache_write.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cache_write.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cache_write.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cache_write.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.image.pricing.cache_write.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.image.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.cached_prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.cached_prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.cache_write.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.cache_write.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.inputs.image.passthrough_parameters`: `endpoints.inputs.image.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.inputs.image.passthrough_parameters.<key>.type`, `endpoints.inputs.image.passthrough_parameters.<key>.range.min`, `endpoints.inputs.image.passthrough_parameters.<key>.range.max`, `endpoints.inputs.image.passthrough_parameters.<key>.range.default`, `endpoints.inputs.image.passthrough_parameters.<key>.range.values`, `endpoints.inputs.image.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.sources.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.image.params.sources.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `url`, `base64`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.formats.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.image.params.formats.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `image/png`, `image/jpeg`, `image/webp`, `image/gif`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.detail_levels.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.image.params.detail_levels.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `auto`, `low`, `high`, `original`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.references.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `integer`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.references.min` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.references.max` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.references.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.role.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.image.params.role.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `reference`, `first_frame`, `last_frame`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.max_content_size_bytes.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.max_content_size_bytes.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.video.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.video.pricing.prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.video.pricing.prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cached_prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.video.pricing.cached_prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cached_prompt.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cached_prompt.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cached_prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cached_prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.video.pricing.cached_prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cache_write.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.video.pricing.cache_write.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cache_write.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cache_write.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cache_write.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cache_write.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.video.pricing.cache_write.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.video.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.cached_prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.cached_prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.cache_write.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.cache_write.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.inputs.video.passthrough_parameters`: `endpoints.inputs.video.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.inputs.video.passthrough_parameters.<key>.type`, `endpoints.inputs.video.passthrough_parameters.<key>.range.min`, `endpoints.inputs.video.passthrough_parameters.<key>.range.max`, `endpoints.inputs.video.passthrough_parameters.<key>.range.default`, `endpoints.inputs.video.passthrough_parameters.<key>.range.values`, `endpoints.inputs.video.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.params.sources.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.video.params.sources.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `url`, `base64`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.params.formats.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.video.params.formats.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `video/mp4`, `video/webm`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.params.max_duration_seconds.value` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.params.max_duration_seconds.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.params.max_content_size_bytes.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.params.max_content_size_bytes.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.audio.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.audio.pricing.prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.audio.pricing.prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cached_prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.audio.pricing.cached_prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cached_prompt.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cached_prompt.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cached_prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cached_prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.audio.pricing.cached_prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cache_write.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.audio.pricing.cache_write.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cache_write.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cache_write.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cache_write.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cache_write.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.audio.pricing.cache_write.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.audio.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.cached_prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.cached_prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.cache_write.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.cache_write.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.inputs.audio.passthrough_parameters`: `endpoints.inputs.audio.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.inputs.audio.passthrough_parameters.<key>.type`, `endpoints.inputs.audio.passthrough_parameters.<key>.range.min`, `endpoints.inputs.audio.passthrough_parameters.<key>.range.max`, `endpoints.inputs.audio.passthrough_parameters.<key>.range.default`, `endpoints.inputs.audio.passthrough_parameters.<key>.range.values`, `endpoints.inputs.audio.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.params.sources.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.audio.params.sources.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `url`, `base64`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.params.formats.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.audio.params.formats.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `audio/wav`, `audio/mpeg`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.params.max_duration_seconds.value` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.params.max_duration_seconds.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.params.max_content_size_bytes.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.params.max_content_size_bytes.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.file.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.file.pricing.prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.file.pricing.prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cached_prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.file.pricing.cached_prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cached_prompt.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cached_prompt.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cached_prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cached_prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.file.pricing.cached_prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cache_write.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.file.pricing.cache_write.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cache_write.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cache_write.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cache_write.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cache_write.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.file.pricing.cache_write.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.file.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.cached_prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.cached_prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.cache_write.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.cache_write.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.inputs.file.passthrough_parameters`: `endpoints.inputs.file.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.inputs.file.passthrough_parameters.<key>.type`, `endpoints.inputs.file.passthrough_parameters.<key>.range.min`, `endpoints.inputs.file.passthrough_parameters.<key>.range.max`, `endpoints.inputs.file.passthrough_parameters.<key>.range.default`, `endpoints.inputs.file.passthrough_parameters.<key>.range.values`, `endpoints.inputs.file.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.sources.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.file.params.sources.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `url`, `base64`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.formats.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.file.params.formats.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `application/pdf`, `text/plain`, `text/markdown`, `text/html`, `text/csv`, `application/json`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.references.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `integer`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.references.min` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.references.max` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.references.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.max_content_size_bytes.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.max_content_size_bytes.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `text`, `image`, `video`, `speech`, `transcription`, `embeddings`, `rerank`, `decisions`, `audio`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.max_length.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.max_length.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.text.passthrough_parameters`: `endpoints.outputs.text.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.text.passthrough_parameters.<key>.type`, `endpoints.outputs.text.passthrough_parameters.<key>.range.min`, `endpoints.outputs.text.passthrough_parameters.<key>.range.max`, `endpoints.outputs.text.passthrough_parameters.<key>.range.default`, `endpoints.outputs.text.passthrough_parameters.<key>.range.values`, `endpoints.outputs.text.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.text.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.text.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.text.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.text.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.text.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.text.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.streaming` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.text.params`: `endpoints.outputs.text.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.text.params.<key>.type`, `endpoints.outputs.text.params.<key>.range.min`, `endpoints.outputs.text.params.<key>.range.max`, `endpoints.outputs.text.params.<key>.range.default`, `endpoints.outputs.text.params.<key>.range.values`, `endpoints.outputs.text.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.image.passthrough_parameters`: `endpoints.outputs.image.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.image.passthrough_parameters.<key>.type`, `endpoints.outputs.image.passthrough_parameters.<key>.range.min`, `endpoints.outputs.image.passthrough_parameters.<key>.range.max`, `endpoints.outputs.image.passthrough_parameters.<key>.range.default`, `endpoints.outputs.image.passthrough_parameters.<key>.range.values`, `endpoints.outputs.image.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.image.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.image.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.image.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.image.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.image.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.image.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.streaming` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.image.params`: `endpoints.outputs.image.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.image.params.<key>.type`, `endpoints.outputs.image.params.<key>.range.min`, `endpoints.outputs.image.params.<key>.range.max`, `endpoints.outputs.image.params.<key>.range.default`, `endpoints.outputs.image.params.<key>.range.values`, `endpoints.outputs.image.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.video.passthrough_parameters`: `endpoints.outputs.video.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.video.passthrough_parameters.<key>.type`, `endpoints.outputs.video.passthrough_parameters.<key>.range.min`, `endpoints.outputs.video.passthrough_parameters.<key>.range.max`, `endpoints.outputs.video.passthrough_parameters.<key>.range.default`, `endpoints.outputs.video.passthrough_parameters.<key>.range.values`, `endpoints.outputs.video.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.video.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.video.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.video.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.video.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.video.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.video.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.streaming` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.video.params`: `endpoints.outputs.video.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.video.params.<key>.type`, `endpoints.outputs.video.params.<key>.range.min`, `endpoints.outputs.video.params.<key>.range.max`, `endpoints.outputs.video.params.<key>.range.default`, `endpoints.outputs.video.params.<key>.range.values`, `endpoints.outputs.video.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.speech.passthrough_parameters`: `endpoints.outputs.speech.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.speech.passthrough_parameters.<key>.type`, `endpoints.outputs.speech.passthrough_parameters.<key>.range.min`, `endpoints.outputs.speech.passthrough_parameters.<key>.range.max`, `endpoints.outputs.speech.passthrough_parameters.<key>.range.default`, `endpoints.outputs.speech.passthrough_parameters.<key>.range.values`, `endpoints.outputs.speech.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.speech.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.speech.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.speech.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.speech.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.speech.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.speech.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.streaming` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.speech.params`: `endpoints.outputs.speech.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.speech.params.<key>.type`, `endpoints.outputs.speech.params.<key>.range.min`, `endpoints.outputs.speech.params.<key>.range.max`, `endpoints.outputs.speech.params.<key>.range.default`, `endpoints.outputs.speech.params.<key>.range.values`, `endpoints.outputs.speech.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.transcription.passthrough_parameters`: `endpoints.outputs.transcription.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.transcription.passthrough_parameters.<key>.type`, `endpoints.outputs.transcription.passthrough_parameters.<key>.range.min`, `endpoints.outputs.transcription.passthrough_parameters.<key>.range.max`, `endpoints.outputs.transcription.passthrough_parameters.<key>.range.default`, `endpoints.outputs.transcription.passthrough_parameters.<key>.range.values`, `endpoints.outputs.transcription.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.transcription.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.transcription.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.transcription.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.transcription.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.transcription.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.transcription.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.streaming` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.transcription.params`: `endpoints.outputs.transcription.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.transcription.params.<key>.type`, `endpoints.outputs.transcription.params.<key>.range.min`, `endpoints.outputs.transcription.params.<key>.range.max`, `endpoints.outputs.transcription.params.<key>.range.default`, `endpoints.outputs.transcription.params.<key>.range.values`, `endpoints.outputs.transcription.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.embeddings.passthrough_parameters`: `endpoints.outputs.embeddings.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.embeddings.passthrough_parameters.<key>.type`, `endpoints.outputs.embeddings.passthrough_parameters.<key>.range.min`, `endpoints.outputs.embeddings.passthrough_parameters.<key>.range.max`, `endpoints.outputs.embeddings.passthrough_parameters.<key>.range.default`, `endpoints.outputs.embeddings.passthrough_parameters.<key>.range.values`, `endpoints.outputs.embeddings.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.embeddings.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.embeddings.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.embeddings.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.embeddings.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.embeddings.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.embeddings.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.embeddings.params`: `endpoints.outputs.embeddings.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.embeddings.params.<key>.type`, `endpoints.outputs.embeddings.params.<key>.range.min`, `endpoints.outputs.embeddings.params.<key>.range.max`, `endpoints.outputs.embeddings.params.<key>.range.default`, `endpoints.outputs.embeddings.params.<key>.range.values`, `endpoints.outputs.embeddings.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.rerank.passthrough_parameters`: `endpoints.outputs.rerank.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.rerank.passthrough_parameters.<key>.type`, `endpoints.outputs.rerank.passthrough_parameters.<key>.range.min`, `endpoints.outputs.rerank.passthrough_parameters.<key>.range.max`, `endpoints.outputs.rerank.passthrough_parameters.<key>.range.default`, `endpoints.outputs.rerank.passthrough_parameters.<key>.range.values`, `endpoints.outputs.rerank.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.rerank.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.rerank.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.rerank.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.rerank.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.rerank.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.rerank.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.rerank.params`: `endpoints.outputs.rerank.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.rerank.params.<key>.type`, `endpoints.outputs.rerank.params.<key>.range.min`, `endpoints.outputs.rerank.params.<key>.range.max`, `endpoints.outputs.rerank.params.<key>.range.default`, `endpoints.outputs.rerank.params.<key>.range.values`, `endpoints.outputs.rerank.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.decisions.passthrough_parameters`: `endpoints.outputs.decisions.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.decisions.passthrough_parameters.<key>.type`, `endpoints.outputs.decisions.passthrough_parameters.<key>.range.min`, `endpoints.outputs.decisions.passthrough_parameters.<key>.range.max`, `endpoints.outputs.decisions.passthrough_parameters.<key>.range.default`, `endpoints.outputs.decisions.passthrough_parameters.<key>.range.values`, `endpoints.outputs.decisions.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.decisions.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.decisions.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.decisions.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.decisions.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.decisions.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.decisions.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.decisions.params`: `endpoints.outputs.decisions.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.decisions.params.<key>.type`, `endpoints.outputs.decisions.params.<key>.range.min`, `endpoints.outputs.decisions.params.<key>.range.max`, `endpoints.outputs.decisions.params.<key>.range.default`, `endpoints.outputs.decisions.params.<key>.range.values`, `endpoints.outputs.decisions.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.audio.passthrough_parameters`: `endpoints.outputs.audio.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.audio.passthrough_parameters.<key>.type`, `endpoints.outputs.audio.passthrough_parameters.<key>.range.min`, `endpoints.outputs.audio.passthrough_parameters.<key>.range.max`, `endpoints.outputs.audio.passthrough_parameters.<key>.range.default`, `endpoints.outputs.audio.passthrough_parameters.<key>.range.values`, `endpoints.outputs.audio.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.audio.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.audio.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.audio.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.audio.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.audio.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.audio.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.streaming` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.audio.params`: `endpoints.outputs.audio.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.audio.params.<key>.type`, `endpoints.outputs.audio.params.<key>.range.min`, `endpoints.outputs.audio.params.<key>.range.max`, `endpoints.outputs.audio.params.<key>.range.default`, `endpoints.outputs.audio.params.<key>.range.values`, `endpoints.outputs.audio.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where the value at `endpoints.provider.slug` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.provider.tag` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.provider.name` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.data_policy.training` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.data_policy.retains_prompts` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.data_policy.retention_days` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task ListV2Async(
+ int? offset = default,
+ int? limit = default,
+ string? cursor = default,
+ global::OpenRouter.ListModelsV2Region? region = default,
+ string? sort = default,
+ string? id = default,
+ string? canonicalSlug = default,
+ string? author = default,
+ string? name = default,
+ string? variant = default,
+ string? kind = default,
+ string? aliasTargetSlug = default,
+ string? aliasTargetName = default,
+ string? created = default,
+ string? description = default,
+ string? contextLength = default,
+ string? huggingFaceId = default,
+ string? inputs = default,
+ string? outputs = default,
+ string? endpointsSchemaVersion = default,
+ string? endpointsId = default,
+ string? endpointsHuggingFaceId = default,
+ string? endpointsName = default,
+ string? endpointsCreated = default,
+ string? endpointsQuantization = default,
+ string? endpointsTokenizer = default,
+ string? endpointsDescription = default,
+ string? endpointsPricingType = default,
+ string? endpointsPricingRequestUnit = default,
+ string? endpointsPricingRequestCostUsd = default,
+ string? endpointsPricingRequestOverridesCostUsd = default,
+ string? endpointsPricingWebSearchUnit = default,
+ string? endpointsPricingWebSearchCostUsd = default,
+ string? endpointsPricingWebSearchOverridesCostUsd = default,
+ string? endpointsCapacityType = default,
+ string? endpointsCapacityRequestUnit = default,
+ string? endpointsCapacityRequestPer = default,
+ string? endpointsCapacityRequestValue = default,
+ string? endpointsCapacityWebSearchUnit = default,
+ string? endpointsCapacityWebSearchPer = default,
+ string? endpointsCapacityWebSearchValue = default,
+ string? endpointsCapacityConcurrencyUnit = default,
+ string? endpointsCapacityConcurrencyValue = default,
+ string? endpointsPassthroughParameters = default,
+ string? endpointsDeprecationDate = default,
+ string? endpointsIsReady = default,
+ string? endpointsIsFree = default,
+ string? endpointsServiceTier = default,
+ string? endpointsDiscountToUser = default,
+ string? endpointsOpenrouterSlug = default,
+ string? endpointsDatacentersCountryCode = default,
+ string? endpointsDatacentersRegion = default,
+ string? endpointsDeploymentRegion = default,
+ string? endpointsInputsType = default,
+ string? endpointsInputsTextPricingType = default,
+ string? endpointsInputsTextPricingPromptUnit = default,
+ string? endpointsInputsTextPricingPromptCostUsd = default,
+ string? endpointsInputsTextPricingPromptOverridesCostUsd = default,
+ string? endpointsInputsTextPricingPromptUtcStart = default,
+ string? endpointsInputsTextPricingPromptUtcEnd = default,
+ string? endpointsInputsTextPricingPromptUtcDays = default,
+ string? endpointsInputsTextPricingCachedPromptUnit = default,
+ string? endpointsInputsTextPricingCachedPromptCostUsd = default,
+ string? endpointsInputsTextPricingCachedPromptOverridesCostUsd = default,
+ string? endpointsInputsTextPricingCachedPromptTtlSeconds = default,
+ string? endpointsInputsTextPricingCachedPromptImplicit = default,
+ string? endpointsInputsTextPricingCachedPromptUtcStart = default,
+ string? endpointsInputsTextPricingCachedPromptUtcEnd = default,
+ string? endpointsInputsTextPricingCachedPromptUtcDays = default,
+ string? endpointsInputsTextPricingCacheWriteUnit = default,
+ string? endpointsInputsTextPricingCacheWriteCostUsd = default,
+ string? endpointsInputsTextPricingCacheWriteOverridesCostUsd = default,
+ string? endpointsInputsTextPricingCacheWriteTtlSeconds = default,
+ string? endpointsInputsTextPricingCacheWriteImplicit = default,
+ string? endpointsInputsTextPricingCacheWriteUtcStart = default,
+ string? endpointsInputsTextPricingCacheWriteUtcEnd = default,
+ string? endpointsInputsTextPricingCacheWriteUtcDays = default,
+ string? endpointsInputsTextCapacityType = default,
+ string? endpointsInputsTextCapacityPromptUnit = default,
+ string? endpointsInputsTextCapacityPromptPer = default,
+ string? endpointsInputsTextCapacityPromptValue = default,
+ string? endpointsInputsTextCapacityCachedPromptUnit = default,
+ string? endpointsInputsTextCapacityCachedPromptPer = default,
+ string? endpointsInputsTextCapacityCachedPromptValue = default,
+ string? endpointsInputsTextCapacityCacheWriteUnit = default,
+ string? endpointsInputsTextCapacityCacheWritePer = default,
+ string? endpointsInputsTextCapacityCacheWriteValue = default,
+ string? endpointsInputsTextPassthroughParameters = default,
+ string? endpointsInputsTextParamsMaxPromptLengthValue = default,
+ string? endpointsInputsTextParamsMaxPromptLengthUnit = default,
+ string? endpointsInputsTextParamsMaxLengthValue = default,
+ string? endpointsInputsTextParamsMaxLengthUnit = default,
+ string? endpointsInputsImagePricingType = default,
+ string? endpointsInputsImagePricingPromptUnit = default,
+ string? endpointsInputsImagePricingPromptCostUsd = default,
+ string? endpointsInputsImagePricingPromptOverridesCostUsd = default,
+ string? endpointsInputsImagePricingPromptUtcStart = default,
+ string? endpointsInputsImagePricingPromptUtcEnd = default,
+ string? endpointsInputsImagePricingPromptUtcDays = default,
+ string? endpointsInputsImagePricingCachedPromptUnit = default,
+ string? endpointsInputsImagePricingCachedPromptCostUsd = default,
+ string? endpointsInputsImagePricingCachedPromptOverridesCostUsd = default,
+ string? endpointsInputsImagePricingCachedPromptTtlSeconds = default,
+ string? endpointsInputsImagePricingCachedPromptImplicit = default,
+ string? endpointsInputsImagePricingCachedPromptUtcStart = default,
+ string? endpointsInputsImagePricingCachedPromptUtcEnd = default,
+ string? endpointsInputsImagePricingCachedPromptUtcDays = default,
+ string? endpointsInputsImagePricingCacheWriteUnit = default,
+ string? endpointsInputsImagePricingCacheWriteCostUsd = default,
+ string? endpointsInputsImagePricingCacheWriteOverridesCostUsd = default,
+ string? endpointsInputsImagePricingCacheWriteTtlSeconds = default,
+ string? endpointsInputsImagePricingCacheWriteImplicit = default,
+ string? endpointsInputsImagePricingCacheWriteUtcStart = default,
+ string? endpointsInputsImagePricingCacheWriteUtcEnd = default,
+ string? endpointsInputsImagePricingCacheWriteUtcDays = default,
+ string? endpointsInputsImageCapacityType = default,
+ string? endpointsInputsImageCapacityPromptUnit = default,
+ string? endpointsInputsImageCapacityPromptPer = default,
+ string? endpointsInputsImageCapacityPromptValue = default,
+ string? endpointsInputsImageCapacityCachedPromptUnit = default,
+ string? endpointsInputsImageCapacityCachedPromptPer = default,
+ string? endpointsInputsImageCapacityCachedPromptValue = default,
+ string? endpointsInputsImageCapacityCacheWriteUnit = default,
+ string? endpointsInputsImageCapacityCacheWritePer = default,
+ string? endpointsInputsImageCapacityCacheWriteValue = default,
+ string? endpointsInputsImagePassthroughParameters = default,
+ string? endpointsInputsImageParamsSourcesType = default,
+ string? endpointsInputsImageParamsSourcesValues = default,
+ string? endpointsInputsImageParamsFormatsType = default,
+ string? endpointsInputsImageParamsFormatsValues = default,
+ string? endpointsInputsImageParamsDetailLevelsType = default,
+ string? endpointsInputsImageParamsDetailLevelsValues = default,
+ string? endpointsInputsImageParamsReferencesType = default,
+ string? endpointsInputsImageParamsReferencesMin = default,
+ string? endpointsInputsImageParamsReferencesMax = default,
+ string? endpointsInputsImageParamsReferencesUnit = default,
+ string? endpointsInputsImageParamsRoleType = default,
+ string? endpointsInputsImageParamsRoleValues = default,
+ string? endpointsInputsImageParamsMaxContentSizeBytesValue = default,
+ string? endpointsInputsImageParamsMaxContentSizeBytesUnit = default,
+ string? endpointsInputsVideoPricingType = default,
+ string? endpointsInputsVideoPricingPromptUnit = default,
+ string? endpointsInputsVideoPricingPromptCostUsd = default,
+ string? endpointsInputsVideoPricingPromptOverridesCostUsd = default,
+ string? endpointsInputsVideoPricingPromptUtcStart = default,
+ string? endpointsInputsVideoPricingPromptUtcEnd = default,
+ string? endpointsInputsVideoPricingPromptUtcDays = default,
+ string? endpointsInputsVideoPricingCachedPromptUnit = default,
+ string? endpointsInputsVideoPricingCachedPromptCostUsd = default,
+ string? endpointsInputsVideoPricingCachedPromptOverridesCostUsd = default,
+ string? endpointsInputsVideoPricingCachedPromptTtlSeconds = default,
+ string? endpointsInputsVideoPricingCachedPromptImplicit = default,
+ string? endpointsInputsVideoPricingCachedPromptUtcStart = default,
+ string? endpointsInputsVideoPricingCachedPromptUtcEnd = default,
+ string? endpointsInputsVideoPricingCachedPromptUtcDays = default,
+ string? endpointsInputsVideoPricingCacheWriteUnit = default,
+ string? endpointsInputsVideoPricingCacheWriteCostUsd = default,
+ string? endpointsInputsVideoPricingCacheWriteOverridesCostUsd = default,
+ string? endpointsInputsVideoPricingCacheWriteTtlSeconds = default,
+ string? endpointsInputsVideoPricingCacheWriteImplicit = default,
+ string? endpointsInputsVideoPricingCacheWriteUtcStart = default,
+ string? endpointsInputsVideoPricingCacheWriteUtcEnd = default,
+ string? endpointsInputsVideoPricingCacheWriteUtcDays = default,
+ string? endpointsInputsVideoCapacityType = default,
+ string? endpointsInputsVideoCapacityPromptUnit = default,
+ string? endpointsInputsVideoCapacityPromptPer = default,
+ string? endpointsInputsVideoCapacityPromptValue = default,
+ string? endpointsInputsVideoCapacityCachedPromptUnit = default,
+ string? endpointsInputsVideoCapacityCachedPromptPer = default,
+ string? endpointsInputsVideoCapacityCachedPromptValue = default,
+ string? endpointsInputsVideoCapacityCacheWriteUnit = default,
+ string? endpointsInputsVideoCapacityCacheWritePer = default,
+ string? endpointsInputsVideoCapacityCacheWriteValue = default,
+ string? endpointsInputsVideoPassthroughParameters = default,
+ string? endpointsInputsVideoParamsSourcesType = default,
+ string? endpointsInputsVideoParamsSourcesValues = default,
+ string? endpointsInputsVideoParamsFormatsType = default,
+ string? endpointsInputsVideoParamsFormatsValues = default,
+ string? endpointsInputsVideoParamsMaxDurationSecondsValue = default,
+ string? endpointsInputsVideoParamsMaxDurationSecondsUnit = default,
+ string? endpointsInputsVideoParamsMaxContentSizeBytesValue = default,
+ string? endpointsInputsVideoParamsMaxContentSizeBytesUnit = default,
+ string? endpointsInputsAudioPricingType = default,
+ string? endpointsInputsAudioPricingPromptUnit = default,
+ string? endpointsInputsAudioPricingPromptCostUsd = default,
+ string? endpointsInputsAudioPricingPromptOverridesCostUsd = default,
+ string? endpointsInputsAudioPricingPromptUtcStart = default,
+ string? endpointsInputsAudioPricingPromptUtcEnd = default,
+ string? endpointsInputsAudioPricingPromptUtcDays = default,
+ string? endpointsInputsAudioPricingCachedPromptUnit = default,
+ string? endpointsInputsAudioPricingCachedPromptCostUsd = default,
+ string? endpointsInputsAudioPricingCachedPromptOverridesCostUsd = default,
+ string? endpointsInputsAudioPricingCachedPromptTtlSeconds = default,
+ string? endpointsInputsAudioPricingCachedPromptImplicit = default,
+ string? endpointsInputsAudioPricingCachedPromptUtcStart = default,
+ string? endpointsInputsAudioPricingCachedPromptUtcEnd = default,
+ string? endpointsInputsAudioPricingCachedPromptUtcDays = default,
+ string? endpointsInputsAudioPricingCacheWriteUnit = default,
+ string? endpointsInputsAudioPricingCacheWriteCostUsd = default,
+ string? endpointsInputsAudioPricingCacheWriteOverridesCostUsd = default,
+ string? endpointsInputsAudioPricingCacheWriteTtlSeconds = default,
+ string? endpointsInputsAudioPricingCacheWriteImplicit = default,
+ string? endpointsInputsAudioPricingCacheWriteUtcStart = default,
+ string? endpointsInputsAudioPricingCacheWriteUtcEnd = default,
+ string? endpointsInputsAudioPricingCacheWriteUtcDays = default,
+ string? endpointsInputsAudioCapacityType = default,
+ string? endpointsInputsAudioCapacityPromptUnit = default,
+ string? endpointsInputsAudioCapacityPromptPer = default,
+ string? endpointsInputsAudioCapacityPromptValue = default,
+ string? endpointsInputsAudioCapacityCachedPromptUnit = default,
+ string? endpointsInputsAudioCapacityCachedPromptPer = default,
+ string? endpointsInputsAudioCapacityCachedPromptValue = default,
+ string? endpointsInputsAudioCapacityCacheWriteUnit = default,
+ string? endpointsInputsAudioCapacityCacheWritePer = default,
+ string? endpointsInputsAudioCapacityCacheWriteValue = default,
+ string? endpointsInputsAudioPassthroughParameters = default,
+ string? endpointsInputsAudioParamsSourcesType = default,
+ string? endpointsInputsAudioParamsSourcesValues = default,
+ string? endpointsInputsAudioParamsFormatsType = default,
+ string? endpointsInputsAudioParamsFormatsValues = default,
+ string? endpointsInputsAudioParamsMaxDurationSecondsValue = default,
+ string? endpointsInputsAudioParamsMaxDurationSecondsUnit = default,
+ string? endpointsInputsAudioParamsMaxContentSizeBytesValue = default,
+ string? endpointsInputsAudioParamsMaxContentSizeBytesUnit = default,
+ string? endpointsInputsFilePricingType = default,
+ string? endpointsInputsFilePricingPromptUnit = default,
+ string? endpointsInputsFilePricingPromptCostUsd = default,
+ string? endpointsInputsFilePricingPromptOverridesCostUsd = default,
+ string? endpointsInputsFilePricingPromptUtcStart = default,
+ string? endpointsInputsFilePricingPromptUtcEnd = default,
+ string? endpointsInputsFilePricingPromptUtcDays = default,
+ string? endpointsInputsFilePricingCachedPromptUnit = default,
+ string? endpointsInputsFilePricingCachedPromptCostUsd = default,
+ string? endpointsInputsFilePricingCachedPromptOverridesCostUsd = default,
+ string? endpointsInputsFilePricingCachedPromptTtlSeconds = default,
+ string? endpointsInputsFilePricingCachedPromptImplicit = default,
+ string? endpointsInputsFilePricingCachedPromptUtcStart = default,
+ string? endpointsInputsFilePricingCachedPromptUtcEnd = default,
+ string? endpointsInputsFilePricingCachedPromptUtcDays = default,
+ string? endpointsInputsFilePricingCacheWriteUnit = default,
+ string? endpointsInputsFilePricingCacheWriteCostUsd = default,
+ string? endpointsInputsFilePricingCacheWriteOverridesCostUsd = default,
+ string? endpointsInputsFilePricingCacheWriteTtlSeconds = default,
+ string? endpointsInputsFilePricingCacheWriteImplicit = default,
+ string? endpointsInputsFilePricingCacheWriteUtcStart = default,
+ string? endpointsInputsFilePricingCacheWriteUtcEnd = default,
+ string? endpointsInputsFilePricingCacheWriteUtcDays = default,
+ string? endpointsInputsFileCapacityType = default,
+ string? endpointsInputsFileCapacityPromptUnit = default,
+ string? endpointsInputsFileCapacityPromptPer = default,
+ string? endpointsInputsFileCapacityPromptValue = default,
+ string? endpointsInputsFileCapacityCachedPromptUnit = default,
+ string? endpointsInputsFileCapacityCachedPromptPer = default,
+ string? endpointsInputsFileCapacityCachedPromptValue = default,
+ string? endpointsInputsFileCapacityCacheWriteUnit = default,
+ string? endpointsInputsFileCapacityCacheWritePer = default,
+ string? endpointsInputsFileCapacityCacheWriteValue = default,
+ string? endpointsInputsFilePassthroughParameters = default,
+ string? endpointsInputsFileParamsSourcesType = default,
+ string? endpointsInputsFileParamsSourcesValues = default,
+ string? endpointsInputsFileParamsFormatsType = default,
+ string? endpointsInputsFileParamsFormatsValues = default,
+ string? endpointsInputsFileParamsReferencesType = default,
+ string? endpointsInputsFileParamsReferencesMin = default,
+ string? endpointsInputsFileParamsReferencesMax = default,
+ string? endpointsInputsFileParamsReferencesUnit = default,
+ string? endpointsInputsFileParamsMaxContentSizeBytesValue = default,
+ string? endpointsInputsFileParamsMaxContentSizeBytesUnit = default,
+ string? endpointsOutputsType = default,
+ string? endpointsOutputsTextMaxLengthValue = default,
+ string? endpointsOutputsTextMaxLengthUnit = default,
+ string? endpointsOutputsTextPassthroughParameters = default,
+ string? endpointsOutputsTextPricingType = default,
+ string? endpointsOutputsTextPricingCompletionUnit = default,
+ string? endpointsOutputsTextPricingCompletionCostUsd = default,
+ string? endpointsOutputsTextPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsTextPricingCompletionUtcStart = default,
+ string? endpointsOutputsTextPricingCompletionUtcEnd = default,
+ string? endpointsOutputsTextPricingCompletionUtcDays = default,
+ string? endpointsOutputsTextPricingInternalReasoningUnit = default,
+ string? endpointsOutputsTextPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsTextPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsTextPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsTextPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsTextPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsTextCapacityType = default,
+ string? endpointsOutputsTextCapacityCompletionUnit = default,
+ string? endpointsOutputsTextCapacityCompletionPer = default,
+ string? endpointsOutputsTextCapacityCompletionValue = default,
+ string? endpointsOutputsTextCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsTextCapacityInternalReasoningPer = default,
+ string? endpointsOutputsTextCapacityInternalReasoningValue = default,
+ string? endpointsOutputsTextCapacityConcurrencyUnit = default,
+ string? endpointsOutputsTextCapacityConcurrencyValue = default,
+ string? endpointsOutputsTextStreaming = default,
+ string? endpointsOutputsTextParams = default,
+ string? endpointsOutputsImagePassthroughParameters = default,
+ string? endpointsOutputsImagePricingType = default,
+ string? endpointsOutputsImagePricingCompletionUnit = default,
+ string? endpointsOutputsImagePricingCompletionCostUsd = default,
+ string? endpointsOutputsImagePricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsImagePricingCompletionUtcStart = default,
+ string? endpointsOutputsImagePricingCompletionUtcEnd = default,
+ string? endpointsOutputsImagePricingCompletionUtcDays = default,
+ string? endpointsOutputsImagePricingInternalReasoningUnit = default,
+ string? endpointsOutputsImagePricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsImagePricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsImagePricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsImagePricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsImagePricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsImageCapacityType = default,
+ string? endpointsOutputsImageCapacityCompletionUnit = default,
+ string? endpointsOutputsImageCapacityCompletionPer = default,
+ string? endpointsOutputsImageCapacityCompletionValue = default,
+ string? endpointsOutputsImageCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsImageCapacityInternalReasoningPer = default,
+ string? endpointsOutputsImageCapacityInternalReasoningValue = default,
+ string? endpointsOutputsImageCapacityConcurrencyUnit = default,
+ string? endpointsOutputsImageCapacityConcurrencyValue = default,
+ string? endpointsOutputsImageStreaming = default,
+ string? endpointsOutputsImageParams = default,
+ string? endpointsOutputsVideoPassthroughParameters = default,
+ string? endpointsOutputsVideoPricingType = default,
+ string? endpointsOutputsVideoPricingCompletionUnit = default,
+ string? endpointsOutputsVideoPricingCompletionCostUsd = default,
+ string? endpointsOutputsVideoPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsVideoPricingCompletionUtcStart = default,
+ string? endpointsOutputsVideoPricingCompletionUtcEnd = default,
+ string? endpointsOutputsVideoPricingCompletionUtcDays = default,
+ string? endpointsOutputsVideoPricingInternalReasoningUnit = default,
+ string? endpointsOutputsVideoPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsVideoPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsVideoPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsVideoPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsVideoPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsVideoCapacityType = default,
+ string? endpointsOutputsVideoCapacityCompletionUnit = default,
+ string? endpointsOutputsVideoCapacityCompletionPer = default,
+ string? endpointsOutputsVideoCapacityCompletionValue = default,
+ string? endpointsOutputsVideoCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsVideoCapacityInternalReasoningPer = default,
+ string? endpointsOutputsVideoCapacityInternalReasoningValue = default,
+ string? endpointsOutputsVideoCapacityConcurrencyUnit = default,
+ string? endpointsOutputsVideoCapacityConcurrencyValue = default,
+ string? endpointsOutputsVideoStreaming = default,
+ string? endpointsOutputsVideoParams = default,
+ string? endpointsOutputsSpeechPassthroughParameters = default,
+ string? endpointsOutputsSpeechPricingType = default,
+ string? endpointsOutputsSpeechPricingCompletionUnit = default,
+ string? endpointsOutputsSpeechPricingCompletionCostUsd = default,
+ string? endpointsOutputsSpeechPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsSpeechPricingCompletionUtcStart = default,
+ string? endpointsOutputsSpeechPricingCompletionUtcEnd = default,
+ string? endpointsOutputsSpeechPricingCompletionUtcDays = default,
+ string? endpointsOutputsSpeechPricingInternalReasoningUnit = default,
+ string? endpointsOutputsSpeechPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsSpeechPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsSpeechPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsSpeechPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsSpeechPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsSpeechCapacityType = default,
+ string? endpointsOutputsSpeechCapacityCompletionUnit = default,
+ string? endpointsOutputsSpeechCapacityCompletionPer = default,
+ string? endpointsOutputsSpeechCapacityCompletionValue = default,
+ string? endpointsOutputsSpeechCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsSpeechCapacityInternalReasoningPer = default,
+ string? endpointsOutputsSpeechCapacityInternalReasoningValue = default,
+ string? endpointsOutputsSpeechCapacityConcurrencyUnit = default,
+ string? endpointsOutputsSpeechCapacityConcurrencyValue = default,
+ string? endpointsOutputsSpeechStreaming = default,
+ string? endpointsOutputsSpeechParams = default,
+ string? endpointsOutputsTranscriptionPassthroughParameters = default,
+ string? endpointsOutputsTranscriptionPricingType = default,
+ string? endpointsOutputsTranscriptionPricingCompletionUnit = default,
+ string? endpointsOutputsTranscriptionPricingCompletionCostUsd = default,
+ string? endpointsOutputsTranscriptionPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsTranscriptionPricingCompletionUtcStart = default,
+ string? endpointsOutputsTranscriptionPricingCompletionUtcEnd = default,
+ string? endpointsOutputsTranscriptionPricingCompletionUtcDays = default,
+ string? endpointsOutputsTranscriptionPricingInternalReasoningUnit = default,
+ string? endpointsOutputsTranscriptionPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsTranscriptionPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsTranscriptionPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsTranscriptionPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsTranscriptionPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsTranscriptionCapacityType = default,
+ string? endpointsOutputsTranscriptionCapacityCompletionUnit = default,
+ string? endpointsOutputsTranscriptionCapacityCompletionPer = default,
+ string? endpointsOutputsTranscriptionCapacityCompletionValue = default,
+ string? endpointsOutputsTranscriptionCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsTranscriptionCapacityInternalReasoningPer = default,
+ string? endpointsOutputsTranscriptionCapacityInternalReasoningValue = default,
+ string? endpointsOutputsTranscriptionCapacityConcurrencyUnit = default,
+ string? endpointsOutputsTranscriptionCapacityConcurrencyValue = default,
+ string? endpointsOutputsTranscriptionStreaming = default,
+ string? endpointsOutputsTranscriptionParams = default,
+ string? endpointsOutputsEmbeddingsPassthroughParameters = default,
+ string? endpointsOutputsEmbeddingsPricingType = default,
+ string? endpointsOutputsEmbeddingsPricingCompletionUnit = default,
+ string? endpointsOutputsEmbeddingsPricingCompletionCostUsd = default,
+ string? endpointsOutputsEmbeddingsPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsEmbeddingsPricingCompletionUtcStart = default,
+ string? endpointsOutputsEmbeddingsPricingCompletionUtcEnd = default,
+ string? endpointsOutputsEmbeddingsPricingCompletionUtcDays = default,
+ string? endpointsOutputsEmbeddingsPricingInternalReasoningUnit = default,
+ string? endpointsOutputsEmbeddingsPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsEmbeddingsPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsEmbeddingsPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsEmbeddingsPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsEmbeddingsPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsEmbeddingsCapacityType = default,
+ string? endpointsOutputsEmbeddingsCapacityCompletionUnit = default,
+ string? endpointsOutputsEmbeddingsCapacityCompletionPer = default,
+ string? endpointsOutputsEmbeddingsCapacityCompletionValue = default,
+ string? endpointsOutputsEmbeddingsCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsEmbeddingsCapacityInternalReasoningPer = default,
+ string? endpointsOutputsEmbeddingsCapacityInternalReasoningValue = default,
+ string? endpointsOutputsEmbeddingsCapacityConcurrencyUnit = default,
+ string? endpointsOutputsEmbeddingsCapacityConcurrencyValue = default,
+ string? endpointsOutputsEmbeddingsParams = default,
+ string? endpointsOutputsRerankPassthroughParameters = default,
+ string? endpointsOutputsRerankPricingType = default,
+ string? endpointsOutputsRerankPricingCompletionUnit = default,
+ string? endpointsOutputsRerankPricingCompletionCostUsd = default,
+ string? endpointsOutputsRerankPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsRerankPricingCompletionUtcStart = default,
+ string? endpointsOutputsRerankPricingCompletionUtcEnd = default,
+ string? endpointsOutputsRerankPricingCompletionUtcDays = default,
+ string? endpointsOutputsRerankPricingInternalReasoningUnit = default,
+ string? endpointsOutputsRerankPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsRerankPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsRerankPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsRerankPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsRerankPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsRerankCapacityType = default,
+ string? endpointsOutputsRerankCapacityCompletionUnit = default,
+ string? endpointsOutputsRerankCapacityCompletionPer = default,
+ string? endpointsOutputsRerankCapacityCompletionValue = default,
+ string? endpointsOutputsRerankCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsRerankCapacityInternalReasoningPer = default,
+ string? endpointsOutputsRerankCapacityInternalReasoningValue = default,
+ string? endpointsOutputsRerankCapacityConcurrencyUnit = default,
+ string? endpointsOutputsRerankCapacityConcurrencyValue = default,
+ string? endpointsOutputsRerankParams = default,
+ string? endpointsOutputsDecisionsPassthroughParameters = default,
+ string? endpointsOutputsDecisionsPricingType = default,
+ string? endpointsOutputsDecisionsPricingCompletionUnit = default,
+ string? endpointsOutputsDecisionsPricingCompletionCostUsd = default,
+ string? endpointsOutputsDecisionsPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsDecisionsPricingCompletionUtcStart = default,
+ string? endpointsOutputsDecisionsPricingCompletionUtcEnd = default,
+ string? endpointsOutputsDecisionsPricingCompletionUtcDays = default,
+ string? endpointsOutputsDecisionsPricingInternalReasoningUnit = default,
+ string? endpointsOutputsDecisionsPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsDecisionsPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsDecisionsPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsDecisionsPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsDecisionsPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsDecisionsCapacityType = default,
+ string? endpointsOutputsDecisionsCapacityCompletionUnit = default,
+ string? endpointsOutputsDecisionsCapacityCompletionPer = default,
+ string? endpointsOutputsDecisionsCapacityCompletionValue = default,
+ string? endpointsOutputsDecisionsCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsDecisionsCapacityInternalReasoningPer = default,
+ string? endpointsOutputsDecisionsCapacityInternalReasoningValue = default,
+ string? endpointsOutputsDecisionsCapacityConcurrencyUnit = default,
+ string? endpointsOutputsDecisionsCapacityConcurrencyValue = default,
+ string? endpointsOutputsDecisionsParams = default,
+ string? endpointsOutputsAudioPassthroughParameters = default,
+ string? endpointsOutputsAudioPricingType = default,
+ string? endpointsOutputsAudioPricingCompletionUnit = default,
+ string? endpointsOutputsAudioPricingCompletionCostUsd = default,
+ string? endpointsOutputsAudioPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsAudioPricingCompletionUtcStart = default,
+ string? endpointsOutputsAudioPricingCompletionUtcEnd = default,
+ string? endpointsOutputsAudioPricingCompletionUtcDays = default,
+ string? endpointsOutputsAudioPricingInternalReasoningUnit = default,
+ string? endpointsOutputsAudioPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsAudioPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsAudioPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsAudioPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsAudioPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsAudioCapacityType = default,
+ string? endpointsOutputsAudioCapacityCompletionUnit = default,
+ string? endpointsOutputsAudioCapacityCompletionPer = default,
+ string? endpointsOutputsAudioCapacityCompletionValue = default,
+ string? endpointsOutputsAudioCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsAudioCapacityInternalReasoningPer = default,
+ string? endpointsOutputsAudioCapacityInternalReasoningValue = default,
+ string? endpointsOutputsAudioCapacityConcurrencyUnit = default,
+ string? endpointsOutputsAudioCapacityConcurrencyValue = default,
+ string? endpointsOutputsAudioStreaming = default,
+ string? endpointsOutputsAudioParams = default,
+ string? endpointsProviderSlug = default,
+ string? endpointsProviderTag = default,
+ string? endpointsProviderName = default,
+ string? endpointsDataPolicyTraining = default,
+ string? endpointsDataPolicyRetainsPrompts = default,
+ string? endpointsDataPolicyRetentionDays = default,
+ global::OpenRouter.AutoSDKRequestOptions? requestOptions = default,
+ global::System.Threading.CancellationToken cancellationToken = default);
+ ///
+ /// List models with V2 endpoint documents
+ /// Returns every publicly served model together with each of its endpoints in the Models API V2 document format. The V2 document is the schema providers publish to OpenRouter, so each endpoint is reported in the shape it was declared, with pricing attached to the modality it applies to (`inputs`/`outputs`, each with its `params`). Operator-only fields such as capacity and `discount_to_user` are not part of the public document.
+ /// Without credentials the response is the public catalog. With an API key it is the catalog that key can route to, the same one `GET /api/v1/models/user` serves: models and endpoints the account was granted private access to are included, and endpoints the account or key guardrails, provider preferences, BYOK and privacy settings exclude are omitted, along with routers and aliases left with nothing to route to. A key that does not resolve is rejected with 401.
+ /// Every field of the response document is a filter, named by its dotted JSON path: `<path>=<value>` tests equality and `<path>.<operator>=<value>` applies `gt`, `gte`, `lt`, `lte`, `between`, `in`, `exists`, `contains`, `starts_with` or `ends_with` as the field type allows; `<path>.not.<operator>=<value>` (or `<path>.not=<value>` for not-equal) keeps the records where no value matches. Suffixes, arithmetic operators, parentheses and the list comma are read before percent-decoding, so an encoded character is always literal: a map key spelled like an operator or `not` is reached by encoding one of its characters (`params.n%6Ft.exists=true`), a `/` or `+` inside a literal is `%2F` or `%2B`, and arithmetic is spelled with the bare characters (`created/10`, `context_length+1`). `in` takes a comma-separated list and `between` the inclusive lower and upper bound (a literal comma is `%2C`); strings compare trimmed and lower-cased on both sides, so `author=Anthropic` and `name.contains=claude` match. A filter under `endpoints.` keeps only the endpoints that satisfy every such filter and omits models left with none. A path through a repeated object is existential (`endpoints.pricing.type=request` matches an endpoint with some request-priced entry); the members of a typed collection are addressed by their type (`endpoints.inputs.text.params.max_length.value.gte=1000000`, `endpoints.inputs.text.pricing.prompt.cost_usd.lte=0.000001`), and a dynamic key is written in the path (`endpoints.outputs.text.params.tools.type=boolean`, `endpoints.outputs.text.params.temperature.range.max.gte=2`). Both sides of an operator are operands of one grammar: a literal, a path, or an arithmetic expression over numeric paths and numbers, so a filter relates any two of them (`endpoints.inputs.text.pricing.prompt.cost_usd.gte=endpoints.outputs.text.pricing.completion.cost_usd*100`, `10000.lte=endpoints.inputs.text.params.max_length.value`, `endpoints.id=id`). Arithmetic requires numeric paths, each operator applies to the type its operands share, and text that names no field path is a literal (`id=openai/gpt-4`), so the field names at the root of the document are reserved words. A parameter that is not a field path is rejected with a 400 whose `error.metadata` names the `code`, `parameter` and `reason`.
+ /// `sort` takes comma-separated paths or expressions, `-` prefixed for descending; a key must be a scalar path or expression (`created`, `endpoints.inputs.text.pricing.prompt.cost_usd`); a model sorts by the best value in the sort direction across its endpoints and across the time windows of a price, missing values sort last and `id` ascending breaks ties, so the order is total even without `sort`. Pagination is opt-in: pass `limit` and follow `links.next`, which carries an opaque `cursor` bound to the filters and sort; `offset` remains supported. `total_count` is the number of models matching the filters.
+ ///
+ ///
+ /// Number of records to skip (0 when omitted); kept for compatibility, prefer `cursor`. Supplying limit, cursor or offset paginates the list; when all are omitted, the full list is returned.
+ /// Example: 0
+ ///
+ ///
+ /// Maximum number of records to return (500 when omitted, max 1000). Supplying limit, cursor or offset paginates the list; when all are omitted, the full list is returned.
+ /// Example: 500
+ ///
+ ///
+ /// Opaque keyset cursor from the previous page's `links.next`. Bound to the filters and sort it was issued for; a cursor sent with different filters or sort is rejected.
+ /// Example: eyJ2IjoxLCJxIjoiYjVmMWE4MDEiLCJrIjpbIm9wZW5haS9ncHQtNCJdfQ
+ ///
+ ///
+ /// Only return endpoints in the given data region ("eu" or "us"); models left without an endpoint are omitted.
+ /// Example: eu
+ ///
+ ///
+ /// Comma-separated sort keys, each a path below or an arithmetic expression over numeric paths; prefix with `-` for descending. A key under `endpoints.` ranks each model by its best endpoint value in the sort direction. Missing values sort last and `id` ascending breaks ties. Keys: `id`, `canonical_slug`, `author`, `name`, `variant`, `kind`, `alias_target.slug`, `alias_target.name`, `created`, `description`, `context_length`, `hugging_face_id`, `endpoints.schema_version`, `endpoints.id`, `endpoints.hugging_face_id`, `endpoints.name`, `endpoints.created`, `endpoints.quantization`, `endpoints.tokenizer`, `endpoints.description`, `endpoints.pricing.request.unit`, `endpoints.pricing.request.cost_usd`, `endpoints.pricing.web_search.unit`, `endpoints.pricing.web_search.cost_usd`, `endpoints.capacity.request.unit`, `endpoints.capacity.request.per`, `endpoints.capacity.request.value`, `endpoints.capacity.web_search.unit`, `endpoints.capacity.web_search.per`, `endpoints.capacity.web_search.value`, `endpoints.capacity.concurrency.unit`, `endpoints.capacity.concurrency.value`, `endpoints.deprecation_date`, `endpoints.is_ready`, `endpoints.is_free`, `endpoints.service_tier`, `endpoints.discount_to_user`, `endpoints.openrouter.slug`, `endpoints.deployment_region`, `endpoints.inputs.text.pricing.prompt.unit`, `endpoints.inputs.text.pricing.prompt.cost_usd`, `endpoints.inputs.text.pricing.prompt.utc_start`, `endpoints.inputs.text.pricing.prompt.utc_end`, `endpoints.inputs.text.pricing.cached_prompt.unit`, `endpoints.inputs.text.pricing.cached_prompt.cost_usd`, `endpoints.inputs.text.pricing.cached_prompt.ttl_seconds`, `endpoints.inputs.text.pricing.cached_prompt.implicit`, `endpoints.inputs.text.pricing.cached_prompt.utc_start`, `endpoints.inputs.text.pricing.cached_prompt.utc_end`, `endpoints.inputs.text.pricing.cache_write.unit`, `endpoints.inputs.text.pricing.cache_write.cost_usd`, `endpoints.inputs.text.pricing.cache_write.ttl_seconds`, `endpoints.inputs.text.pricing.cache_write.implicit`, `endpoints.inputs.text.pricing.cache_write.utc_start`, `endpoints.inputs.text.pricing.cache_write.utc_end`, `endpoints.inputs.text.capacity.prompt.unit`, `endpoints.inputs.text.capacity.prompt.per`, `endpoints.inputs.text.capacity.prompt.value`, `endpoints.inputs.text.capacity.cached_prompt.unit`, `endpoints.inputs.text.capacity.cached_prompt.per`, `endpoints.inputs.text.capacity.cached_prompt.value`, `endpoints.inputs.text.capacity.cache_write.unit`, `endpoints.inputs.text.capacity.cache_write.per`, `endpoints.inputs.text.capacity.cache_write.value`, `endpoints.inputs.text.params.max_prompt_length.value`, `endpoints.inputs.text.params.max_prompt_length.unit`, `endpoints.inputs.text.params.max_length.value`, `endpoints.inputs.text.params.max_length.unit`, `endpoints.inputs.image.pricing.prompt.unit`, `endpoints.inputs.image.pricing.prompt.cost_usd`, `endpoints.inputs.image.pricing.prompt.utc_start`, `endpoints.inputs.image.pricing.prompt.utc_end`, `endpoints.inputs.image.pricing.cached_prompt.unit`, `endpoints.inputs.image.pricing.cached_prompt.cost_usd`, `endpoints.inputs.image.pricing.cached_prompt.ttl_seconds`, `endpoints.inputs.image.pricing.cached_prompt.implicit`, `endpoints.inputs.image.pricing.cached_prompt.utc_start`, `endpoints.inputs.image.pricing.cached_prompt.utc_end`, `endpoints.inputs.image.pricing.cache_write.unit`, `endpoints.inputs.image.pricing.cache_write.cost_usd`, `endpoints.inputs.image.pricing.cache_write.ttl_seconds`, `endpoints.inputs.image.pricing.cache_write.implicit`, `endpoints.inputs.image.pricing.cache_write.utc_start`, `endpoints.inputs.image.pricing.cache_write.utc_end`, `endpoints.inputs.image.capacity.prompt.unit`, `endpoints.inputs.image.capacity.prompt.per`, `endpoints.inputs.image.capacity.prompt.value`, `endpoints.inputs.image.capacity.cached_prompt.unit`, `endpoints.inputs.image.capacity.cached_prompt.per`, `endpoints.inputs.image.capacity.cached_prompt.value`, `endpoints.inputs.image.capacity.cache_write.unit`, `endpoints.inputs.image.capacity.cache_write.per`, `endpoints.inputs.image.capacity.cache_write.value`, `endpoints.inputs.image.params.sources.type`, `endpoints.inputs.image.params.formats.type`, `endpoints.inputs.image.params.detail_levels.type`, `endpoints.inputs.image.params.references.type`, `endpoints.inputs.image.params.references.min`, `endpoints.inputs.image.params.references.max`, `endpoints.inputs.image.params.references.unit`, `endpoints.inputs.image.params.role.type`, `endpoints.inputs.image.params.max_content_size_bytes.value`, `endpoints.inputs.image.params.max_content_size_bytes.unit`, `endpoints.inputs.video.pricing.prompt.unit`, `endpoints.inputs.video.pricing.prompt.cost_usd`, `endpoints.inputs.video.pricing.prompt.utc_start`, `endpoints.inputs.video.pricing.prompt.utc_end`, `endpoints.inputs.video.pricing.cached_prompt.unit`, `endpoints.inputs.video.pricing.cached_prompt.cost_usd`, `endpoints.inputs.video.pricing.cached_prompt.ttl_seconds`, `endpoints.inputs.video.pricing.cached_prompt.implicit`, `endpoints.inputs.video.pricing.cached_prompt.utc_start`, `endpoints.inputs.video.pricing.cached_prompt.utc_end`, `endpoints.inputs.video.pricing.cache_write.unit`, `endpoints.inputs.video.pricing.cache_write.cost_usd`, `endpoints.inputs.video.pricing.cache_write.ttl_seconds`, `endpoints.inputs.video.pricing.cache_write.implicit`, `endpoints.inputs.video.pricing.cache_write.utc_start`, `endpoints.inputs.video.pricing.cache_write.utc_end`, `endpoints.inputs.video.capacity.prompt.unit`, `endpoints.inputs.video.capacity.prompt.per`, `endpoints.inputs.video.capacity.prompt.value`, `endpoints.inputs.video.capacity.cached_prompt.unit`, `endpoints.inputs.video.capacity.cached_prompt.per`, `endpoints.inputs.video.capacity.cached_prompt.value`, `endpoints.inputs.video.capacity.cache_write.unit`, `endpoints.inputs.video.capacity.cache_write.per`, `endpoints.inputs.video.capacity.cache_write.value`, `endpoints.inputs.video.params.sources.type`, `endpoints.inputs.video.params.formats.type`, `endpoints.inputs.video.params.max_duration_seconds.value`, `endpoints.inputs.video.params.max_duration_seconds.unit`, `endpoints.inputs.video.params.max_content_size_bytes.value`, `endpoints.inputs.video.params.max_content_size_bytes.unit`, `endpoints.inputs.audio.pricing.prompt.unit`, `endpoints.inputs.audio.pricing.prompt.cost_usd`, `endpoints.inputs.audio.pricing.prompt.utc_start`, `endpoints.inputs.audio.pricing.prompt.utc_end`, `endpoints.inputs.audio.pricing.cached_prompt.unit`, `endpoints.inputs.audio.pricing.cached_prompt.cost_usd`, `endpoints.inputs.audio.pricing.cached_prompt.ttl_seconds`, `endpoints.inputs.audio.pricing.cached_prompt.implicit`, `endpoints.inputs.audio.pricing.cached_prompt.utc_start`, `endpoints.inputs.audio.pricing.cached_prompt.utc_end`, `endpoints.inputs.audio.pricing.cache_write.unit`, `endpoints.inputs.audio.pricing.cache_write.cost_usd`, `endpoints.inputs.audio.pricing.cache_write.ttl_seconds`, `endpoints.inputs.audio.pricing.cache_write.implicit`, `endpoints.inputs.audio.pricing.cache_write.utc_start`, `endpoints.inputs.audio.pricing.cache_write.utc_end`, `endpoints.inputs.audio.capacity.prompt.unit`, `endpoints.inputs.audio.capacity.prompt.per`, `endpoints.inputs.audio.capacity.prompt.value`, `endpoints.inputs.audio.capacity.cached_prompt.unit`, `endpoints.inputs.audio.capacity.cached_prompt.per`, `endpoints.inputs.audio.capacity.cached_prompt.value`, `endpoints.inputs.audio.capacity.cache_write.unit`, `endpoints.inputs.audio.capacity.cache_write.per`, `endpoints.inputs.audio.capacity.cache_write.value`, `endpoints.inputs.audio.params.sources.type`, `endpoints.inputs.audio.params.formats.type`, `endpoints.inputs.audio.params.max_duration_seconds.value`, `endpoints.inputs.audio.params.max_duration_seconds.unit`, `endpoints.inputs.audio.params.max_content_size_bytes.value`, `endpoints.inputs.audio.params.max_content_size_bytes.unit`, `endpoints.inputs.file.pricing.prompt.unit`, `endpoints.inputs.file.pricing.prompt.cost_usd`, `endpoints.inputs.file.pricing.prompt.utc_start`, `endpoints.inputs.file.pricing.prompt.utc_end`, `endpoints.inputs.file.pricing.cached_prompt.unit`, `endpoints.inputs.file.pricing.cached_prompt.cost_usd`, `endpoints.inputs.file.pricing.cached_prompt.ttl_seconds`, `endpoints.inputs.file.pricing.cached_prompt.implicit`, `endpoints.inputs.file.pricing.cached_prompt.utc_start`, `endpoints.inputs.file.pricing.cached_prompt.utc_end`, `endpoints.inputs.file.pricing.cache_write.unit`, `endpoints.inputs.file.pricing.cache_write.cost_usd`, `endpoints.inputs.file.pricing.cache_write.ttl_seconds`, `endpoints.inputs.file.pricing.cache_write.implicit`, `endpoints.inputs.file.pricing.cache_write.utc_start`, `endpoints.inputs.file.pricing.cache_write.utc_end`, `endpoints.inputs.file.capacity.prompt.unit`, `endpoints.inputs.file.capacity.prompt.per`, `endpoints.inputs.file.capacity.prompt.value`, `endpoints.inputs.file.capacity.cached_prompt.unit`, `endpoints.inputs.file.capacity.cached_prompt.per`, `endpoints.inputs.file.capacity.cached_prompt.value`, `endpoints.inputs.file.capacity.cache_write.unit`, `endpoints.inputs.file.capacity.cache_write.per`, `endpoints.inputs.file.capacity.cache_write.value`, `endpoints.inputs.file.params.sources.type`, `endpoints.inputs.file.params.formats.type`, `endpoints.inputs.file.params.references.type`, `endpoints.inputs.file.params.references.min`, `endpoints.inputs.file.params.references.max`, `endpoints.inputs.file.params.references.unit`, `endpoints.inputs.file.params.max_content_size_bytes.value`, `endpoints.inputs.file.params.max_content_size_bytes.unit`, `endpoints.outputs.text.max_length.value`, `endpoints.outputs.text.max_length.unit`, `endpoints.outputs.text.pricing.completion.unit`, `endpoints.outputs.text.pricing.completion.cost_usd`, `endpoints.outputs.text.pricing.completion.utc_start`, `endpoints.outputs.text.pricing.completion.utc_end`, `endpoints.outputs.text.pricing.internal_reasoning.unit`, `endpoints.outputs.text.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.text.pricing.internal_reasoning.utc_start`, `endpoints.outputs.text.pricing.internal_reasoning.utc_end`, `endpoints.outputs.text.capacity.completion.unit`, `endpoints.outputs.text.capacity.completion.per`, `endpoints.outputs.text.capacity.completion.value`, `endpoints.outputs.text.capacity.internal_reasoning.unit`, `endpoints.outputs.text.capacity.internal_reasoning.per`, `endpoints.outputs.text.capacity.internal_reasoning.value`, `endpoints.outputs.text.capacity.concurrency.unit`, `endpoints.outputs.text.capacity.concurrency.value`, `endpoints.outputs.text.streaming`, `endpoints.outputs.image.pricing.completion.unit`, `endpoints.outputs.image.pricing.completion.cost_usd`, `endpoints.outputs.image.pricing.completion.utc_start`, `endpoints.outputs.image.pricing.completion.utc_end`, `endpoints.outputs.image.pricing.internal_reasoning.unit`, `endpoints.outputs.image.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.image.pricing.internal_reasoning.utc_start`, `endpoints.outputs.image.pricing.internal_reasoning.utc_end`, `endpoints.outputs.image.capacity.completion.unit`, `endpoints.outputs.image.capacity.completion.per`, `endpoints.outputs.image.capacity.completion.value`, `endpoints.outputs.image.capacity.internal_reasoning.unit`, `endpoints.outputs.image.capacity.internal_reasoning.per`, `endpoints.outputs.image.capacity.internal_reasoning.value`, `endpoints.outputs.image.capacity.concurrency.unit`, `endpoints.outputs.image.capacity.concurrency.value`, `endpoints.outputs.image.streaming`, `endpoints.outputs.video.pricing.completion.unit`, `endpoints.outputs.video.pricing.completion.cost_usd`, `endpoints.outputs.video.pricing.completion.utc_start`, `endpoints.outputs.video.pricing.completion.utc_end`, `endpoints.outputs.video.pricing.internal_reasoning.unit`, `endpoints.outputs.video.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.video.pricing.internal_reasoning.utc_start`, `endpoints.outputs.video.pricing.internal_reasoning.utc_end`, `endpoints.outputs.video.capacity.completion.unit`, `endpoints.outputs.video.capacity.completion.per`, `endpoints.outputs.video.capacity.completion.value`, `endpoints.outputs.video.capacity.internal_reasoning.unit`, `endpoints.outputs.video.capacity.internal_reasoning.per`, `endpoints.outputs.video.capacity.internal_reasoning.value`, `endpoints.outputs.video.capacity.concurrency.unit`, `endpoints.outputs.video.capacity.concurrency.value`, `endpoints.outputs.video.streaming`, `endpoints.outputs.speech.pricing.completion.unit`, `endpoints.outputs.speech.pricing.completion.cost_usd`, `endpoints.outputs.speech.pricing.completion.utc_start`, `endpoints.outputs.speech.pricing.completion.utc_end`, `endpoints.outputs.speech.pricing.internal_reasoning.unit`, `endpoints.outputs.speech.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.speech.pricing.internal_reasoning.utc_start`, `endpoints.outputs.speech.pricing.internal_reasoning.utc_end`, `endpoints.outputs.speech.capacity.completion.unit`, `endpoints.outputs.speech.capacity.completion.per`, `endpoints.outputs.speech.capacity.completion.value`, `endpoints.outputs.speech.capacity.internal_reasoning.unit`, `endpoints.outputs.speech.capacity.internal_reasoning.per`, `endpoints.outputs.speech.capacity.internal_reasoning.value`, `endpoints.outputs.speech.capacity.concurrency.unit`, `endpoints.outputs.speech.capacity.concurrency.value`, `endpoints.outputs.speech.streaming`, `endpoints.outputs.transcription.pricing.completion.unit`, `endpoints.outputs.transcription.pricing.completion.cost_usd`, `endpoints.outputs.transcription.pricing.completion.utc_start`, `endpoints.outputs.transcription.pricing.completion.utc_end`, `endpoints.outputs.transcription.pricing.internal_reasoning.unit`, `endpoints.outputs.transcription.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.transcription.pricing.internal_reasoning.utc_start`, `endpoints.outputs.transcription.pricing.internal_reasoning.utc_end`, `endpoints.outputs.transcription.capacity.completion.unit`, `endpoints.outputs.transcription.capacity.completion.per`, `endpoints.outputs.transcription.capacity.completion.value`, `endpoints.outputs.transcription.capacity.internal_reasoning.unit`, `endpoints.outputs.transcription.capacity.internal_reasoning.per`, `endpoints.outputs.transcription.capacity.internal_reasoning.value`, `endpoints.outputs.transcription.capacity.concurrency.unit`, `endpoints.outputs.transcription.capacity.concurrency.value`, `endpoints.outputs.transcription.streaming`, `endpoints.outputs.embeddings.pricing.completion.unit`, `endpoints.outputs.embeddings.pricing.completion.cost_usd`, `endpoints.outputs.embeddings.pricing.completion.utc_start`, `endpoints.outputs.embeddings.pricing.completion.utc_end`, `endpoints.outputs.embeddings.pricing.internal_reasoning.unit`, `endpoints.outputs.embeddings.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.embeddings.pricing.internal_reasoning.utc_start`, `endpoints.outputs.embeddings.pricing.internal_reasoning.utc_end`, `endpoints.outputs.embeddings.capacity.completion.unit`, `endpoints.outputs.embeddings.capacity.completion.per`, `endpoints.outputs.embeddings.capacity.completion.value`, `endpoints.outputs.embeddings.capacity.internal_reasoning.unit`, `endpoints.outputs.embeddings.capacity.internal_reasoning.per`, `endpoints.outputs.embeddings.capacity.internal_reasoning.value`, `endpoints.outputs.embeddings.capacity.concurrency.unit`, `endpoints.outputs.embeddings.capacity.concurrency.value`, `endpoints.outputs.rerank.pricing.completion.unit`, `endpoints.outputs.rerank.pricing.completion.cost_usd`, `endpoints.outputs.rerank.pricing.completion.utc_start`, `endpoints.outputs.rerank.pricing.completion.utc_end`, `endpoints.outputs.rerank.pricing.internal_reasoning.unit`, `endpoints.outputs.rerank.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.rerank.pricing.internal_reasoning.utc_start`, `endpoints.outputs.rerank.pricing.internal_reasoning.utc_end`, `endpoints.outputs.rerank.capacity.completion.unit`, `endpoints.outputs.rerank.capacity.completion.per`, `endpoints.outputs.rerank.capacity.completion.value`, `endpoints.outputs.rerank.capacity.internal_reasoning.unit`, `endpoints.outputs.rerank.capacity.internal_reasoning.per`, `endpoints.outputs.rerank.capacity.internal_reasoning.value`, `endpoints.outputs.rerank.capacity.concurrency.unit`, `endpoints.outputs.rerank.capacity.concurrency.value`, `endpoints.outputs.decisions.pricing.completion.unit`, `endpoints.outputs.decisions.pricing.completion.cost_usd`, `endpoints.outputs.decisions.pricing.completion.utc_start`, `endpoints.outputs.decisions.pricing.completion.utc_end`, `endpoints.outputs.decisions.pricing.internal_reasoning.unit`, `endpoints.outputs.decisions.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.decisions.pricing.internal_reasoning.utc_start`, `endpoints.outputs.decisions.pricing.internal_reasoning.utc_end`, `endpoints.outputs.decisions.capacity.completion.unit`, `endpoints.outputs.decisions.capacity.completion.per`, `endpoints.outputs.decisions.capacity.completion.value`, `endpoints.outputs.decisions.capacity.internal_reasoning.unit`, `endpoints.outputs.decisions.capacity.internal_reasoning.per`, `endpoints.outputs.decisions.capacity.internal_reasoning.value`, `endpoints.outputs.decisions.capacity.concurrency.unit`, `endpoints.outputs.decisions.capacity.concurrency.value`, `endpoints.outputs.audio.pricing.completion.unit`, `endpoints.outputs.audio.pricing.completion.cost_usd`, `endpoints.outputs.audio.pricing.completion.utc_start`, `endpoints.outputs.audio.pricing.completion.utc_end`, `endpoints.outputs.audio.pricing.internal_reasoning.unit`, `endpoints.outputs.audio.pricing.internal_reasoning.cost_usd`, `endpoints.outputs.audio.pricing.internal_reasoning.utc_start`, `endpoints.outputs.audio.pricing.internal_reasoning.utc_end`, `endpoints.outputs.audio.capacity.completion.unit`, `endpoints.outputs.audio.capacity.completion.per`, `endpoints.outputs.audio.capacity.completion.value`, `endpoints.outputs.audio.capacity.internal_reasoning.unit`, `endpoints.outputs.audio.capacity.internal_reasoning.per`, `endpoints.outputs.audio.capacity.internal_reasoning.value`, `endpoints.outputs.audio.capacity.concurrency.unit`, `endpoints.outputs.audio.capacity.concurrency.value`, `endpoints.outputs.audio.streaming`, `endpoints.provider.slug`, `endpoints.provider.tag`, `endpoints.provider.name`, `endpoints.data_policy.training`, `endpoints.data_policy.retains_prompts`, `endpoints.data_policy.retention_days`.
+ /// Example: -created,endpoints.inputs.text.pricing.prompt.cost_usd
+ ///
+ ///
+ /// Filter where the value at `id` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `canonical_slug` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `author` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `name` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `variant` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `free`, `extended`, `standard`, `thinking`, `batch`.
+ ///
+ ///
+ /// Filter where the value at `kind` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `model`, `router`, `alias`.
+ ///
+ ///
+ /// Filter where the value at `alias_target.slug` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `alias_target.name` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `created` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `description` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `context_length` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `hugging_face_id` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `inputs` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `text`, `image`, `file`, `audio`, `video`.
+ ///
+ ///
+ /// Filter where any element at `outputs` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `text`, `image`, `embeddings`, `audio`, `video`, `rerank`, `decisions`, `speech`, `transcription`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.schema_version` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.id` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.hugging_face_id` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.name` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.created` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.quantization` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `int4`, `int8`, `fp4`, `mxfp4`, `nvfp4`, `fp6`, `fp8`, `mxfp8`, `fp16`, `bf16`, `fp32`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.tokenizer` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.description` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`, `web_search`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.pricing.request.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.pricing.request.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.pricing.request.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.pricing.web_search.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `search`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.pricing.web_search.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.pricing.web_search.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`, `web_search`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.request.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.request.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.request.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.web_search.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `search`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.web_search.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.web_search.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.passthrough_parameters`: `endpoints.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.passthrough_parameters.<key>.type`, `endpoints.passthrough_parameters.<key>.range.min`, `endpoints.passthrough_parameters.<key>.range.max`, `endpoints.passthrough_parameters.<key>.range.default`, `endpoints.passthrough_parameters.<key>.range.values`, `endpoints.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where the value at `endpoints.deprecation_date` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.is_ready` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.is_free` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.service_tier` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `flex`, `priority`, `ultrafast`, `fast`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.discount_to_user` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.openrouter.slug` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.datacenters.country_code` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.datacenters.region` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.deployment_region` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `text`, `image`, `video`, `audio`, `file`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.text.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.text.pricing.prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.text.pricing.prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cached_prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.text.pricing.cached_prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cached_prompt.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cached_prompt.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cached_prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cached_prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.text.pricing.cached_prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cache_write.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.text.pricing.cache_write.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cache_write.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cache_write.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cache_write.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.pricing.cache_write.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.text.pricing.cache_write.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.text.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.cached_prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.cached_prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.cache_write.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.capacity.cache_write.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.inputs.text.passthrough_parameters`: `endpoints.inputs.text.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.inputs.text.passthrough_parameters.<key>.type`, `endpoints.inputs.text.passthrough_parameters.<key>.range.min`, `endpoints.inputs.text.passthrough_parameters.<key>.range.max`, `endpoints.inputs.text.passthrough_parameters.<key>.range.default`, `endpoints.inputs.text.passthrough_parameters.<key>.range.values`, `endpoints.inputs.text.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.params.max_prompt_length.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.params.max_prompt_length.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.params.max_length.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.text.params.max_length.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.image.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.image.pricing.prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.image.pricing.prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cached_prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.image.pricing.cached_prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cached_prompt.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cached_prompt.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cached_prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cached_prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.image.pricing.cached_prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cache_write.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.image.pricing.cache_write.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cache_write.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cache_write.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cache_write.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.pricing.cache_write.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.image.pricing.cache_write.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.image.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.cached_prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.cached_prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.cache_write.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.capacity.cache_write.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.inputs.image.passthrough_parameters`: `endpoints.inputs.image.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.inputs.image.passthrough_parameters.<key>.type`, `endpoints.inputs.image.passthrough_parameters.<key>.range.min`, `endpoints.inputs.image.passthrough_parameters.<key>.range.max`, `endpoints.inputs.image.passthrough_parameters.<key>.range.default`, `endpoints.inputs.image.passthrough_parameters.<key>.range.values`, `endpoints.inputs.image.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.sources.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.image.params.sources.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `url`, `base64`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.formats.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.image.params.formats.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `image/png`, `image/jpeg`, `image/webp`, `image/gif`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.detail_levels.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.image.params.detail_levels.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `auto`, `low`, `high`, `original`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.references.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `integer`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.references.min` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.references.max` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.references.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.role.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.image.params.role.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `reference`, `first_frame`, `last_frame`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.max_content_size_bytes.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.image.params.max_content_size_bytes.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.video.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.video.pricing.prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.video.pricing.prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cached_prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.video.pricing.cached_prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cached_prompt.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cached_prompt.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cached_prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cached_prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.video.pricing.cached_prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cache_write.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.video.pricing.cache_write.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cache_write.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cache_write.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cache_write.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.pricing.cache_write.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.video.pricing.cache_write.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.video.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.cached_prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.cached_prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.cache_write.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.capacity.cache_write.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.inputs.video.passthrough_parameters`: `endpoints.inputs.video.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.inputs.video.passthrough_parameters.<key>.type`, `endpoints.inputs.video.passthrough_parameters.<key>.range.min`, `endpoints.inputs.video.passthrough_parameters.<key>.range.max`, `endpoints.inputs.video.passthrough_parameters.<key>.range.default`, `endpoints.inputs.video.passthrough_parameters.<key>.range.values`, `endpoints.inputs.video.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.params.sources.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.video.params.sources.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `url`, `base64`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.params.formats.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.video.params.formats.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `video/mp4`, `video/webm`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.params.max_duration_seconds.value` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.params.max_duration_seconds.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.params.max_content_size_bytes.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.video.params.max_content_size_bytes.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.audio.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.audio.pricing.prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.audio.pricing.prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cached_prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.audio.pricing.cached_prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cached_prompt.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cached_prompt.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cached_prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cached_prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.audio.pricing.cached_prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cache_write.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.audio.pricing.cache_write.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cache_write.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cache_write.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cache_write.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.pricing.cache_write.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.audio.pricing.cache_write.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.audio.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.cached_prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.cached_prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.cache_write.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.capacity.cache_write.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.inputs.audio.passthrough_parameters`: `endpoints.inputs.audio.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.inputs.audio.passthrough_parameters.<key>.type`, `endpoints.inputs.audio.passthrough_parameters.<key>.range.min`, `endpoints.inputs.audio.passthrough_parameters.<key>.range.max`, `endpoints.inputs.audio.passthrough_parameters.<key>.range.default`, `endpoints.inputs.audio.passthrough_parameters.<key>.range.values`, `endpoints.inputs.audio.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.params.sources.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.audio.params.sources.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `url`, `base64`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.params.formats.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.audio.params.formats.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `audio/wav`, `audio/mpeg`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.params.max_duration_seconds.value` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.params.max_duration_seconds.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.params.max_content_size_bytes.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.audio.params.max_content_size_bytes.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.file.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.file.pricing.prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.file.pricing.prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cached_prompt.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.file.pricing.cached_prompt.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cached_prompt.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cached_prompt.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cached_prompt.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cached_prompt.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.file.pricing.cached_prompt.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cache_write.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.file.pricing.cache_write.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cache_write.ttl_seconds` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cache_write.implicit` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cache_write.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.pricing.cache_write.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.file.pricing.cache_write.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.inputs.file.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `prompt`, `cached_prompt`, `cache_write`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.cached_prompt.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.cached_prompt.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.cached_prompt.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.cache_write.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.cache_write.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.capacity.cache_write.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.inputs.file.passthrough_parameters`: `endpoints.inputs.file.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.inputs.file.passthrough_parameters.<key>.type`, `endpoints.inputs.file.passthrough_parameters.<key>.range.min`, `endpoints.inputs.file.passthrough_parameters.<key>.range.max`, `endpoints.inputs.file.passthrough_parameters.<key>.range.default`, `endpoints.inputs.file.passthrough_parameters.<key>.range.values`, `endpoints.inputs.file.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.sources.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.file.params.sources.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `url`, `base64`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.formats.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `enum`.
+ ///
+ ///
+ /// Filter where any element at `endpoints.inputs.file.params.formats.values` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `application/pdf`, `text/plain`, `text/markdown`, `text/html`, `text/csv`, `application/json`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.references.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `integer`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.references.min` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.references.max` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.references.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.max_content_size_bytes.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.inputs.file.params.max_content_size_bytes.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `text`, `image`, `video`, `speech`, `transcription`, `embeddings`, `rerank`, `decisions`, `audio`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.max_length.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.max_length.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `second`, `pixel`, `byte`, `token`, `character`.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.text.passthrough_parameters`: `endpoints.outputs.text.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.text.passthrough_parameters.<key>.type`, `endpoints.outputs.text.passthrough_parameters.<key>.range.min`, `endpoints.outputs.text.passthrough_parameters.<key>.range.max`, `endpoints.outputs.text.passthrough_parameters.<key>.range.default`, `endpoints.outputs.text.passthrough_parameters.<key>.range.values`, `endpoints.outputs.text.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.text.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.text.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.text.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.text.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.text.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.text.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.text.streaming` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.text.params`: `endpoints.outputs.text.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.text.params.<key>.type`, `endpoints.outputs.text.params.<key>.range.min`, `endpoints.outputs.text.params.<key>.range.max`, `endpoints.outputs.text.params.<key>.range.default`, `endpoints.outputs.text.params.<key>.range.values`, `endpoints.outputs.text.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.image.passthrough_parameters`: `endpoints.outputs.image.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.image.passthrough_parameters.<key>.type`, `endpoints.outputs.image.passthrough_parameters.<key>.range.min`, `endpoints.outputs.image.passthrough_parameters.<key>.range.max`, `endpoints.outputs.image.passthrough_parameters.<key>.range.default`, `endpoints.outputs.image.passthrough_parameters.<key>.range.values`, `endpoints.outputs.image.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.image.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.image.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.image.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.image.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.image.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.image.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.image.streaming` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.image.params`: `endpoints.outputs.image.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.image.params.<key>.type`, `endpoints.outputs.image.params.<key>.range.min`, `endpoints.outputs.image.params.<key>.range.max`, `endpoints.outputs.image.params.<key>.range.default`, `endpoints.outputs.image.params.<key>.range.values`, `endpoints.outputs.image.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.video.passthrough_parameters`: `endpoints.outputs.video.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.video.passthrough_parameters.<key>.type`, `endpoints.outputs.video.passthrough_parameters.<key>.range.min`, `endpoints.outputs.video.passthrough_parameters.<key>.range.max`, `endpoints.outputs.video.passthrough_parameters.<key>.range.default`, `endpoints.outputs.video.passthrough_parameters.<key>.range.values`, `endpoints.outputs.video.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.video.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.video.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.video.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.video.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.video.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.video.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.video.streaming` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.video.params`: `endpoints.outputs.video.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.video.params.<key>.type`, `endpoints.outputs.video.params.<key>.range.min`, `endpoints.outputs.video.params.<key>.range.max`, `endpoints.outputs.video.params.<key>.range.default`, `endpoints.outputs.video.params.<key>.range.values`, `endpoints.outputs.video.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.speech.passthrough_parameters`: `endpoints.outputs.speech.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.speech.passthrough_parameters.<key>.type`, `endpoints.outputs.speech.passthrough_parameters.<key>.range.min`, `endpoints.outputs.speech.passthrough_parameters.<key>.range.max`, `endpoints.outputs.speech.passthrough_parameters.<key>.range.default`, `endpoints.outputs.speech.passthrough_parameters.<key>.range.values`, `endpoints.outputs.speech.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.speech.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.speech.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.speech.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.speech.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.speech.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.speech.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.speech.streaming` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.speech.params`: `endpoints.outputs.speech.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.speech.params.<key>.type`, `endpoints.outputs.speech.params.<key>.range.min`, `endpoints.outputs.speech.params.<key>.range.max`, `endpoints.outputs.speech.params.<key>.range.default`, `endpoints.outputs.speech.params.<key>.range.values`, `endpoints.outputs.speech.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.transcription.passthrough_parameters`: `endpoints.outputs.transcription.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.transcription.passthrough_parameters.<key>.type`, `endpoints.outputs.transcription.passthrough_parameters.<key>.range.min`, `endpoints.outputs.transcription.passthrough_parameters.<key>.range.max`, `endpoints.outputs.transcription.passthrough_parameters.<key>.range.default`, `endpoints.outputs.transcription.passthrough_parameters.<key>.range.values`, `endpoints.outputs.transcription.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.transcription.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.transcription.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.transcription.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.transcription.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.transcription.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.transcription.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.transcription.streaming` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.transcription.params`: `endpoints.outputs.transcription.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.transcription.params.<key>.type`, `endpoints.outputs.transcription.params.<key>.range.min`, `endpoints.outputs.transcription.params.<key>.range.max`, `endpoints.outputs.transcription.params.<key>.range.default`, `endpoints.outputs.transcription.params.<key>.range.values`, `endpoints.outputs.transcription.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.embeddings.passthrough_parameters`: `endpoints.outputs.embeddings.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.embeddings.passthrough_parameters.<key>.type`, `endpoints.outputs.embeddings.passthrough_parameters.<key>.range.min`, `endpoints.outputs.embeddings.passthrough_parameters.<key>.range.max`, `endpoints.outputs.embeddings.passthrough_parameters.<key>.range.default`, `endpoints.outputs.embeddings.passthrough_parameters.<key>.range.values`, `endpoints.outputs.embeddings.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.embeddings.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.embeddings.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.embeddings.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.embeddings.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.embeddings.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.embeddings.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.embeddings.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.embeddings.params`: `endpoints.outputs.embeddings.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.embeddings.params.<key>.type`, `endpoints.outputs.embeddings.params.<key>.range.min`, `endpoints.outputs.embeddings.params.<key>.range.max`, `endpoints.outputs.embeddings.params.<key>.range.default`, `endpoints.outputs.embeddings.params.<key>.range.values`, `endpoints.outputs.embeddings.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.rerank.passthrough_parameters`: `endpoints.outputs.rerank.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.rerank.passthrough_parameters.<key>.type`, `endpoints.outputs.rerank.passthrough_parameters.<key>.range.min`, `endpoints.outputs.rerank.passthrough_parameters.<key>.range.max`, `endpoints.outputs.rerank.passthrough_parameters.<key>.range.default`, `endpoints.outputs.rerank.passthrough_parameters.<key>.range.values`, `endpoints.outputs.rerank.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.rerank.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.rerank.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.rerank.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.rerank.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.rerank.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.rerank.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.rerank.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.rerank.params`: `endpoints.outputs.rerank.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.rerank.params.<key>.type`, `endpoints.outputs.rerank.params.<key>.range.min`, `endpoints.outputs.rerank.params.<key>.range.max`, `endpoints.outputs.rerank.params.<key>.range.default`, `endpoints.outputs.rerank.params.<key>.range.values`, `endpoints.outputs.rerank.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.decisions.passthrough_parameters`: `endpoints.outputs.decisions.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.decisions.passthrough_parameters.<key>.type`, `endpoints.outputs.decisions.passthrough_parameters.<key>.range.min`, `endpoints.outputs.decisions.passthrough_parameters.<key>.range.max`, `endpoints.outputs.decisions.passthrough_parameters.<key>.range.default`, `endpoints.outputs.decisions.passthrough_parameters.<key>.range.values`, `endpoints.outputs.decisions.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.decisions.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.decisions.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.decisions.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.decisions.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.decisions.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.decisions.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.decisions.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.decisions.params`: `endpoints.outputs.decisions.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.decisions.params.<key>.type`, `endpoints.outputs.decisions.params.<key>.range.min`, `endpoints.outputs.decisions.params.<key>.range.max`, `endpoints.outputs.decisions.params.<key>.range.default`, `endpoints.outputs.decisions.params.<key>.range.values`, `endpoints.outputs.decisions.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.audio.passthrough_parameters`: `endpoints.outputs.audio.passthrough_parameters.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.audio.passthrough_parameters.<key>.type`, `endpoints.outputs.audio.passthrough_parameters.<key>.range.min`, `endpoints.outputs.audio.passthrough_parameters.<key>.range.max`, `endpoints.outputs.audio.passthrough_parameters.<key>.range.default`, `endpoints.outputs.audio.passthrough_parameters.<key>.range.values`, `endpoints.outputs.audio.passthrough_parameters.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.audio.pricing.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.completion.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.audio.pricing.completion.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.completion.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.completion.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.audio.pricing.completion.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.internal_reasoning.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.audio.pricing.internal_reasoning.overrides.cost_usd` (number) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.internal_reasoning.utc_start` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.pricing.internal_reasoning.utc_end` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where any element at `endpoints.outputs.audio.pricing.internal_reasoning.utc_days` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`.
+ ///
+ ///
+ /// Filter where any value at `endpoints.outputs.audio.capacity.type` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `completion`, `internal_reasoning`, `concurrency`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.completion.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.completion.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.completion.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.internal_reasoning.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `token`, `image`, `megapixel`, `second`, `character`, `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.internal_reasoning.per` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `minute`, `hour`, `day`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.internal_reasoning.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.concurrency.unit` (enum) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches. One of: `request`.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.capacity.concurrency.value` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.outputs.audio.streaming` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter on the entries of `endpoints.outputs.audio.params`: `endpoints.outputs.audio.params.<key>.exists=true` keeps records that have the entry, and the entry's fields follow the key (`endpoints.outputs.audio.params.<key>.type`, `endpoints.outputs.audio.params.<key>.range.min`, `endpoints.outputs.audio.params.<key>.range.max`, `endpoints.outputs.audio.params.<key>.range.default`, `endpoints.outputs.audio.params.<key>.range.values`, `endpoints.outputs.audio.params.<key>.range.unit`). Only `exists` applies to the map itself.
+ ///
+ ///
+ /// Filter where the value at `endpoints.provider.slug` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.provider.tag` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.provider.name` (string) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.contains`, `.starts_with`, `.ends_with`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.data_policy.training` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.data_policy.retains_prompts` (boolean) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ ///
+ /// Filter where the value at `endpoints.data_policy.retention_days` (integer) equals the value, itself a literal, a path or an arithmetic expression of the same type; append an operator suffix for `.in`, `.gt`, `.gte`, `.lt`, `.lte`, `.between`, `.exists`, and `.not` before the operator (or alone, for not-equal) to keep the records where no value matches.
+ ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task> ListV2AsResponseAsync(
+ int? offset = default,
+ int? limit = default,
+ string? cursor = default,
+ global::OpenRouter.ListModelsV2Region? region = default,
+ string? sort = default,
+ string? id = default,
+ string? canonicalSlug = default,
+ string? author = default,
+ string? name = default,
+ string? variant = default,
+ string? kind = default,
+ string? aliasTargetSlug = default,
+ string? aliasTargetName = default,
+ string? created = default,
+ string? description = default,
+ string? contextLength = default,
+ string? huggingFaceId = default,
+ string? inputs = default,
+ string? outputs = default,
+ string? endpointsSchemaVersion = default,
+ string? endpointsId = default,
+ string? endpointsHuggingFaceId = default,
+ string? endpointsName = default,
+ string? endpointsCreated = default,
+ string? endpointsQuantization = default,
+ string? endpointsTokenizer = default,
+ string? endpointsDescription = default,
+ string? endpointsPricingType = default,
+ string? endpointsPricingRequestUnit = default,
+ string? endpointsPricingRequestCostUsd = default,
+ string? endpointsPricingRequestOverridesCostUsd = default,
+ string? endpointsPricingWebSearchUnit = default,
+ string? endpointsPricingWebSearchCostUsd = default,
+ string? endpointsPricingWebSearchOverridesCostUsd = default,
+ string? endpointsCapacityType = default,
+ string? endpointsCapacityRequestUnit = default,
+ string? endpointsCapacityRequestPer = default,
+ string? endpointsCapacityRequestValue = default,
+ string? endpointsCapacityWebSearchUnit = default,
+ string? endpointsCapacityWebSearchPer = default,
+ string? endpointsCapacityWebSearchValue = default,
+ string? endpointsCapacityConcurrencyUnit = default,
+ string? endpointsCapacityConcurrencyValue = default,
+ string? endpointsPassthroughParameters = default,
+ string? endpointsDeprecationDate = default,
+ string? endpointsIsReady = default,
+ string? endpointsIsFree = default,
+ string? endpointsServiceTier = default,
+ string? endpointsDiscountToUser = default,
+ string? endpointsOpenrouterSlug = default,
+ string? endpointsDatacentersCountryCode = default,
+ string? endpointsDatacentersRegion = default,
+ string? endpointsDeploymentRegion = default,
+ string? endpointsInputsType = default,
+ string? endpointsInputsTextPricingType = default,
+ string? endpointsInputsTextPricingPromptUnit = default,
+ string? endpointsInputsTextPricingPromptCostUsd = default,
+ string? endpointsInputsTextPricingPromptOverridesCostUsd = default,
+ string? endpointsInputsTextPricingPromptUtcStart = default,
+ string? endpointsInputsTextPricingPromptUtcEnd = default,
+ string? endpointsInputsTextPricingPromptUtcDays = default,
+ string? endpointsInputsTextPricingCachedPromptUnit = default,
+ string? endpointsInputsTextPricingCachedPromptCostUsd = default,
+ string? endpointsInputsTextPricingCachedPromptOverridesCostUsd = default,
+ string? endpointsInputsTextPricingCachedPromptTtlSeconds = default,
+ string? endpointsInputsTextPricingCachedPromptImplicit = default,
+ string? endpointsInputsTextPricingCachedPromptUtcStart = default,
+ string? endpointsInputsTextPricingCachedPromptUtcEnd = default,
+ string? endpointsInputsTextPricingCachedPromptUtcDays = default,
+ string? endpointsInputsTextPricingCacheWriteUnit = default,
+ string? endpointsInputsTextPricingCacheWriteCostUsd = default,
+ string? endpointsInputsTextPricingCacheWriteOverridesCostUsd = default,
+ string? endpointsInputsTextPricingCacheWriteTtlSeconds = default,
+ string? endpointsInputsTextPricingCacheWriteImplicit = default,
+ string? endpointsInputsTextPricingCacheWriteUtcStart = default,
+ string? endpointsInputsTextPricingCacheWriteUtcEnd = default,
+ string? endpointsInputsTextPricingCacheWriteUtcDays = default,
+ string? endpointsInputsTextCapacityType = default,
+ string? endpointsInputsTextCapacityPromptUnit = default,
+ string? endpointsInputsTextCapacityPromptPer = default,
+ string? endpointsInputsTextCapacityPromptValue = default,
+ string? endpointsInputsTextCapacityCachedPromptUnit = default,
+ string? endpointsInputsTextCapacityCachedPromptPer = default,
+ string? endpointsInputsTextCapacityCachedPromptValue = default,
+ string? endpointsInputsTextCapacityCacheWriteUnit = default,
+ string? endpointsInputsTextCapacityCacheWritePer = default,
+ string? endpointsInputsTextCapacityCacheWriteValue = default,
+ string? endpointsInputsTextPassthroughParameters = default,
+ string? endpointsInputsTextParamsMaxPromptLengthValue = default,
+ string? endpointsInputsTextParamsMaxPromptLengthUnit = default,
+ string? endpointsInputsTextParamsMaxLengthValue = default,
+ string? endpointsInputsTextParamsMaxLengthUnit = default,
+ string? endpointsInputsImagePricingType = default,
+ string? endpointsInputsImagePricingPromptUnit = default,
+ string? endpointsInputsImagePricingPromptCostUsd = default,
+ string? endpointsInputsImagePricingPromptOverridesCostUsd = default,
+ string? endpointsInputsImagePricingPromptUtcStart = default,
+ string? endpointsInputsImagePricingPromptUtcEnd = default,
+ string? endpointsInputsImagePricingPromptUtcDays = default,
+ string? endpointsInputsImagePricingCachedPromptUnit = default,
+ string? endpointsInputsImagePricingCachedPromptCostUsd = default,
+ string? endpointsInputsImagePricingCachedPromptOverridesCostUsd = default,
+ string? endpointsInputsImagePricingCachedPromptTtlSeconds = default,
+ string? endpointsInputsImagePricingCachedPromptImplicit = default,
+ string? endpointsInputsImagePricingCachedPromptUtcStart = default,
+ string? endpointsInputsImagePricingCachedPromptUtcEnd = default,
+ string? endpointsInputsImagePricingCachedPromptUtcDays = default,
+ string? endpointsInputsImagePricingCacheWriteUnit = default,
+ string? endpointsInputsImagePricingCacheWriteCostUsd = default,
+ string? endpointsInputsImagePricingCacheWriteOverridesCostUsd = default,
+ string? endpointsInputsImagePricingCacheWriteTtlSeconds = default,
+ string? endpointsInputsImagePricingCacheWriteImplicit = default,
+ string? endpointsInputsImagePricingCacheWriteUtcStart = default,
+ string? endpointsInputsImagePricingCacheWriteUtcEnd = default,
+ string? endpointsInputsImagePricingCacheWriteUtcDays = default,
+ string? endpointsInputsImageCapacityType = default,
+ string? endpointsInputsImageCapacityPromptUnit = default,
+ string? endpointsInputsImageCapacityPromptPer = default,
+ string? endpointsInputsImageCapacityPromptValue = default,
+ string? endpointsInputsImageCapacityCachedPromptUnit = default,
+ string? endpointsInputsImageCapacityCachedPromptPer = default,
+ string? endpointsInputsImageCapacityCachedPromptValue = default,
+ string? endpointsInputsImageCapacityCacheWriteUnit = default,
+ string? endpointsInputsImageCapacityCacheWritePer = default,
+ string? endpointsInputsImageCapacityCacheWriteValue = default,
+ string? endpointsInputsImagePassthroughParameters = default,
+ string? endpointsInputsImageParamsSourcesType = default,
+ string? endpointsInputsImageParamsSourcesValues = default,
+ string? endpointsInputsImageParamsFormatsType = default,
+ string? endpointsInputsImageParamsFormatsValues = default,
+ string? endpointsInputsImageParamsDetailLevelsType = default,
+ string? endpointsInputsImageParamsDetailLevelsValues = default,
+ string? endpointsInputsImageParamsReferencesType = default,
+ string? endpointsInputsImageParamsReferencesMin = default,
+ string? endpointsInputsImageParamsReferencesMax = default,
+ string? endpointsInputsImageParamsReferencesUnit = default,
+ string? endpointsInputsImageParamsRoleType = default,
+ string? endpointsInputsImageParamsRoleValues = default,
+ string? endpointsInputsImageParamsMaxContentSizeBytesValue = default,
+ string? endpointsInputsImageParamsMaxContentSizeBytesUnit = default,
+ string? endpointsInputsVideoPricingType = default,
+ string? endpointsInputsVideoPricingPromptUnit = default,
+ string? endpointsInputsVideoPricingPromptCostUsd = default,
+ string? endpointsInputsVideoPricingPromptOverridesCostUsd = default,
+ string? endpointsInputsVideoPricingPromptUtcStart = default,
+ string? endpointsInputsVideoPricingPromptUtcEnd = default,
+ string? endpointsInputsVideoPricingPromptUtcDays = default,
+ string? endpointsInputsVideoPricingCachedPromptUnit = default,
+ string? endpointsInputsVideoPricingCachedPromptCostUsd = default,
+ string? endpointsInputsVideoPricingCachedPromptOverridesCostUsd = default,
+ string? endpointsInputsVideoPricingCachedPromptTtlSeconds = default,
+ string? endpointsInputsVideoPricingCachedPromptImplicit = default,
+ string? endpointsInputsVideoPricingCachedPromptUtcStart = default,
+ string? endpointsInputsVideoPricingCachedPromptUtcEnd = default,
+ string? endpointsInputsVideoPricingCachedPromptUtcDays = default,
+ string? endpointsInputsVideoPricingCacheWriteUnit = default,
+ string? endpointsInputsVideoPricingCacheWriteCostUsd = default,
+ string? endpointsInputsVideoPricingCacheWriteOverridesCostUsd = default,
+ string? endpointsInputsVideoPricingCacheWriteTtlSeconds = default,
+ string? endpointsInputsVideoPricingCacheWriteImplicit = default,
+ string? endpointsInputsVideoPricingCacheWriteUtcStart = default,
+ string? endpointsInputsVideoPricingCacheWriteUtcEnd = default,
+ string? endpointsInputsVideoPricingCacheWriteUtcDays = default,
+ string? endpointsInputsVideoCapacityType = default,
+ string? endpointsInputsVideoCapacityPromptUnit = default,
+ string? endpointsInputsVideoCapacityPromptPer = default,
+ string? endpointsInputsVideoCapacityPromptValue = default,
+ string? endpointsInputsVideoCapacityCachedPromptUnit = default,
+ string? endpointsInputsVideoCapacityCachedPromptPer = default,
+ string? endpointsInputsVideoCapacityCachedPromptValue = default,
+ string? endpointsInputsVideoCapacityCacheWriteUnit = default,
+ string? endpointsInputsVideoCapacityCacheWritePer = default,
+ string? endpointsInputsVideoCapacityCacheWriteValue = default,
+ string? endpointsInputsVideoPassthroughParameters = default,
+ string? endpointsInputsVideoParamsSourcesType = default,
+ string? endpointsInputsVideoParamsSourcesValues = default,
+ string? endpointsInputsVideoParamsFormatsType = default,
+ string? endpointsInputsVideoParamsFormatsValues = default,
+ string? endpointsInputsVideoParamsMaxDurationSecondsValue = default,
+ string? endpointsInputsVideoParamsMaxDurationSecondsUnit = default,
+ string? endpointsInputsVideoParamsMaxContentSizeBytesValue = default,
+ string? endpointsInputsVideoParamsMaxContentSizeBytesUnit = default,
+ string? endpointsInputsAudioPricingType = default,
+ string? endpointsInputsAudioPricingPromptUnit = default,
+ string? endpointsInputsAudioPricingPromptCostUsd = default,
+ string? endpointsInputsAudioPricingPromptOverridesCostUsd = default,
+ string? endpointsInputsAudioPricingPromptUtcStart = default,
+ string? endpointsInputsAudioPricingPromptUtcEnd = default,
+ string? endpointsInputsAudioPricingPromptUtcDays = default,
+ string? endpointsInputsAudioPricingCachedPromptUnit = default,
+ string? endpointsInputsAudioPricingCachedPromptCostUsd = default,
+ string? endpointsInputsAudioPricingCachedPromptOverridesCostUsd = default,
+ string? endpointsInputsAudioPricingCachedPromptTtlSeconds = default,
+ string? endpointsInputsAudioPricingCachedPromptImplicit = default,
+ string? endpointsInputsAudioPricingCachedPromptUtcStart = default,
+ string? endpointsInputsAudioPricingCachedPromptUtcEnd = default,
+ string? endpointsInputsAudioPricingCachedPromptUtcDays = default,
+ string? endpointsInputsAudioPricingCacheWriteUnit = default,
+ string? endpointsInputsAudioPricingCacheWriteCostUsd = default,
+ string? endpointsInputsAudioPricingCacheWriteOverridesCostUsd = default,
+ string? endpointsInputsAudioPricingCacheWriteTtlSeconds = default,
+ string? endpointsInputsAudioPricingCacheWriteImplicit = default,
+ string? endpointsInputsAudioPricingCacheWriteUtcStart = default,
+ string? endpointsInputsAudioPricingCacheWriteUtcEnd = default,
+ string? endpointsInputsAudioPricingCacheWriteUtcDays = default,
+ string? endpointsInputsAudioCapacityType = default,
+ string? endpointsInputsAudioCapacityPromptUnit = default,
+ string? endpointsInputsAudioCapacityPromptPer = default,
+ string? endpointsInputsAudioCapacityPromptValue = default,
+ string? endpointsInputsAudioCapacityCachedPromptUnit = default,
+ string? endpointsInputsAudioCapacityCachedPromptPer = default,
+ string? endpointsInputsAudioCapacityCachedPromptValue = default,
+ string? endpointsInputsAudioCapacityCacheWriteUnit = default,
+ string? endpointsInputsAudioCapacityCacheWritePer = default,
+ string? endpointsInputsAudioCapacityCacheWriteValue = default,
+ string? endpointsInputsAudioPassthroughParameters = default,
+ string? endpointsInputsAudioParamsSourcesType = default,
+ string? endpointsInputsAudioParamsSourcesValues = default,
+ string? endpointsInputsAudioParamsFormatsType = default,
+ string? endpointsInputsAudioParamsFormatsValues = default,
+ string? endpointsInputsAudioParamsMaxDurationSecondsValue = default,
+ string? endpointsInputsAudioParamsMaxDurationSecondsUnit = default,
+ string? endpointsInputsAudioParamsMaxContentSizeBytesValue = default,
+ string? endpointsInputsAudioParamsMaxContentSizeBytesUnit = default,
+ string? endpointsInputsFilePricingType = default,
+ string? endpointsInputsFilePricingPromptUnit = default,
+ string? endpointsInputsFilePricingPromptCostUsd = default,
+ string? endpointsInputsFilePricingPromptOverridesCostUsd = default,
+ string? endpointsInputsFilePricingPromptUtcStart = default,
+ string? endpointsInputsFilePricingPromptUtcEnd = default,
+ string? endpointsInputsFilePricingPromptUtcDays = default,
+ string? endpointsInputsFilePricingCachedPromptUnit = default,
+ string? endpointsInputsFilePricingCachedPromptCostUsd = default,
+ string? endpointsInputsFilePricingCachedPromptOverridesCostUsd = default,
+ string? endpointsInputsFilePricingCachedPromptTtlSeconds = default,
+ string? endpointsInputsFilePricingCachedPromptImplicit = default,
+ string? endpointsInputsFilePricingCachedPromptUtcStart = default,
+ string? endpointsInputsFilePricingCachedPromptUtcEnd = default,
+ string? endpointsInputsFilePricingCachedPromptUtcDays = default,
+ string? endpointsInputsFilePricingCacheWriteUnit = default,
+ string? endpointsInputsFilePricingCacheWriteCostUsd = default,
+ string? endpointsInputsFilePricingCacheWriteOverridesCostUsd = default,
+ string? endpointsInputsFilePricingCacheWriteTtlSeconds = default,
+ string? endpointsInputsFilePricingCacheWriteImplicit = default,
+ string? endpointsInputsFilePricingCacheWriteUtcStart = default,
+ string? endpointsInputsFilePricingCacheWriteUtcEnd = default,
+ string? endpointsInputsFilePricingCacheWriteUtcDays = default,
+ string? endpointsInputsFileCapacityType = default,
+ string? endpointsInputsFileCapacityPromptUnit = default,
+ string? endpointsInputsFileCapacityPromptPer = default,
+ string? endpointsInputsFileCapacityPromptValue = default,
+ string? endpointsInputsFileCapacityCachedPromptUnit = default,
+ string? endpointsInputsFileCapacityCachedPromptPer = default,
+ string? endpointsInputsFileCapacityCachedPromptValue = default,
+ string? endpointsInputsFileCapacityCacheWriteUnit = default,
+ string? endpointsInputsFileCapacityCacheWritePer = default,
+ string? endpointsInputsFileCapacityCacheWriteValue = default,
+ string? endpointsInputsFilePassthroughParameters = default,
+ string? endpointsInputsFileParamsSourcesType = default,
+ string? endpointsInputsFileParamsSourcesValues = default,
+ string? endpointsInputsFileParamsFormatsType = default,
+ string? endpointsInputsFileParamsFormatsValues = default,
+ string? endpointsInputsFileParamsReferencesType = default,
+ string? endpointsInputsFileParamsReferencesMin = default,
+ string? endpointsInputsFileParamsReferencesMax = default,
+ string? endpointsInputsFileParamsReferencesUnit = default,
+ string? endpointsInputsFileParamsMaxContentSizeBytesValue = default,
+ string? endpointsInputsFileParamsMaxContentSizeBytesUnit = default,
+ string? endpointsOutputsType = default,
+ string? endpointsOutputsTextMaxLengthValue = default,
+ string? endpointsOutputsTextMaxLengthUnit = default,
+ string? endpointsOutputsTextPassthroughParameters = default,
+ string? endpointsOutputsTextPricingType = default,
+ string? endpointsOutputsTextPricingCompletionUnit = default,
+ string? endpointsOutputsTextPricingCompletionCostUsd = default,
+ string? endpointsOutputsTextPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsTextPricingCompletionUtcStart = default,
+ string? endpointsOutputsTextPricingCompletionUtcEnd = default,
+ string? endpointsOutputsTextPricingCompletionUtcDays = default,
+ string? endpointsOutputsTextPricingInternalReasoningUnit = default,
+ string? endpointsOutputsTextPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsTextPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsTextPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsTextPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsTextPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsTextCapacityType = default,
+ string? endpointsOutputsTextCapacityCompletionUnit = default,
+ string? endpointsOutputsTextCapacityCompletionPer = default,
+ string? endpointsOutputsTextCapacityCompletionValue = default,
+ string? endpointsOutputsTextCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsTextCapacityInternalReasoningPer = default,
+ string? endpointsOutputsTextCapacityInternalReasoningValue = default,
+ string? endpointsOutputsTextCapacityConcurrencyUnit = default,
+ string? endpointsOutputsTextCapacityConcurrencyValue = default,
+ string? endpointsOutputsTextStreaming = default,
+ string? endpointsOutputsTextParams = default,
+ string? endpointsOutputsImagePassthroughParameters = default,
+ string? endpointsOutputsImagePricingType = default,
+ string? endpointsOutputsImagePricingCompletionUnit = default,
+ string? endpointsOutputsImagePricingCompletionCostUsd = default,
+ string? endpointsOutputsImagePricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsImagePricingCompletionUtcStart = default,
+ string? endpointsOutputsImagePricingCompletionUtcEnd = default,
+ string? endpointsOutputsImagePricingCompletionUtcDays = default,
+ string? endpointsOutputsImagePricingInternalReasoningUnit = default,
+ string? endpointsOutputsImagePricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsImagePricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsImagePricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsImagePricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsImagePricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsImageCapacityType = default,
+ string? endpointsOutputsImageCapacityCompletionUnit = default,
+ string? endpointsOutputsImageCapacityCompletionPer = default,
+ string? endpointsOutputsImageCapacityCompletionValue = default,
+ string? endpointsOutputsImageCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsImageCapacityInternalReasoningPer = default,
+ string? endpointsOutputsImageCapacityInternalReasoningValue = default,
+ string? endpointsOutputsImageCapacityConcurrencyUnit = default,
+ string? endpointsOutputsImageCapacityConcurrencyValue = default,
+ string? endpointsOutputsImageStreaming = default,
+ string? endpointsOutputsImageParams = default,
+ string? endpointsOutputsVideoPassthroughParameters = default,
+ string? endpointsOutputsVideoPricingType = default,
+ string? endpointsOutputsVideoPricingCompletionUnit = default,
+ string? endpointsOutputsVideoPricingCompletionCostUsd = default,
+ string? endpointsOutputsVideoPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsVideoPricingCompletionUtcStart = default,
+ string? endpointsOutputsVideoPricingCompletionUtcEnd = default,
+ string? endpointsOutputsVideoPricingCompletionUtcDays = default,
+ string? endpointsOutputsVideoPricingInternalReasoningUnit = default,
+ string? endpointsOutputsVideoPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsVideoPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsVideoPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsVideoPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsVideoPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsVideoCapacityType = default,
+ string? endpointsOutputsVideoCapacityCompletionUnit = default,
+ string? endpointsOutputsVideoCapacityCompletionPer = default,
+ string? endpointsOutputsVideoCapacityCompletionValue = default,
+ string? endpointsOutputsVideoCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsVideoCapacityInternalReasoningPer = default,
+ string? endpointsOutputsVideoCapacityInternalReasoningValue = default,
+ string? endpointsOutputsVideoCapacityConcurrencyUnit = default,
+ string? endpointsOutputsVideoCapacityConcurrencyValue = default,
+ string? endpointsOutputsVideoStreaming = default,
+ string? endpointsOutputsVideoParams = default,
+ string? endpointsOutputsSpeechPassthroughParameters = default,
+ string? endpointsOutputsSpeechPricingType = default,
+ string? endpointsOutputsSpeechPricingCompletionUnit = default,
+ string? endpointsOutputsSpeechPricingCompletionCostUsd = default,
+ string? endpointsOutputsSpeechPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsSpeechPricingCompletionUtcStart = default,
+ string? endpointsOutputsSpeechPricingCompletionUtcEnd = default,
+ string? endpointsOutputsSpeechPricingCompletionUtcDays = default,
+ string? endpointsOutputsSpeechPricingInternalReasoningUnit = default,
+ string? endpointsOutputsSpeechPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsSpeechPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsSpeechPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsSpeechPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsSpeechPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsSpeechCapacityType = default,
+ string? endpointsOutputsSpeechCapacityCompletionUnit = default,
+ string? endpointsOutputsSpeechCapacityCompletionPer = default,
+ string? endpointsOutputsSpeechCapacityCompletionValue = default,
+ string? endpointsOutputsSpeechCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsSpeechCapacityInternalReasoningPer = default,
+ string? endpointsOutputsSpeechCapacityInternalReasoningValue = default,
+ string? endpointsOutputsSpeechCapacityConcurrencyUnit = default,
+ string? endpointsOutputsSpeechCapacityConcurrencyValue = default,
+ string? endpointsOutputsSpeechStreaming = default,
+ string? endpointsOutputsSpeechParams = default,
+ string? endpointsOutputsTranscriptionPassthroughParameters = default,
+ string? endpointsOutputsTranscriptionPricingType = default,
+ string? endpointsOutputsTranscriptionPricingCompletionUnit = default,
+ string? endpointsOutputsTranscriptionPricingCompletionCostUsd = default,
+ string? endpointsOutputsTranscriptionPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsTranscriptionPricingCompletionUtcStart = default,
+ string? endpointsOutputsTranscriptionPricingCompletionUtcEnd = default,
+ string? endpointsOutputsTranscriptionPricingCompletionUtcDays = default,
+ string? endpointsOutputsTranscriptionPricingInternalReasoningUnit = default,
+ string? endpointsOutputsTranscriptionPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsTranscriptionPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsTranscriptionPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsTranscriptionPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsTranscriptionPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsTranscriptionCapacityType = default,
+ string? endpointsOutputsTranscriptionCapacityCompletionUnit = default,
+ string? endpointsOutputsTranscriptionCapacityCompletionPer = default,
+ string? endpointsOutputsTranscriptionCapacityCompletionValue = default,
+ string? endpointsOutputsTranscriptionCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsTranscriptionCapacityInternalReasoningPer = default,
+ string? endpointsOutputsTranscriptionCapacityInternalReasoningValue = default,
+ string? endpointsOutputsTranscriptionCapacityConcurrencyUnit = default,
+ string? endpointsOutputsTranscriptionCapacityConcurrencyValue = default,
+ string? endpointsOutputsTranscriptionStreaming = default,
+ string? endpointsOutputsTranscriptionParams = default,
+ string? endpointsOutputsEmbeddingsPassthroughParameters = default,
+ string? endpointsOutputsEmbeddingsPricingType = default,
+ string? endpointsOutputsEmbeddingsPricingCompletionUnit = default,
+ string? endpointsOutputsEmbeddingsPricingCompletionCostUsd = default,
+ string? endpointsOutputsEmbeddingsPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsEmbeddingsPricingCompletionUtcStart = default,
+ string? endpointsOutputsEmbeddingsPricingCompletionUtcEnd = default,
+ string? endpointsOutputsEmbeddingsPricingCompletionUtcDays = default,
+ string? endpointsOutputsEmbeddingsPricingInternalReasoningUnit = default,
+ string? endpointsOutputsEmbeddingsPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsEmbeddingsPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsEmbeddingsPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsEmbeddingsPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsEmbeddingsPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsEmbeddingsCapacityType = default,
+ string? endpointsOutputsEmbeddingsCapacityCompletionUnit = default,
+ string? endpointsOutputsEmbeddingsCapacityCompletionPer = default,
+ string? endpointsOutputsEmbeddingsCapacityCompletionValue = default,
+ string? endpointsOutputsEmbeddingsCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsEmbeddingsCapacityInternalReasoningPer = default,
+ string? endpointsOutputsEmbeddingsCapacityInternalReasoningValue = default,
+ string? endpointsOutputsEmbeddingsCapacityConcurrencyUnit = default,
+ string? endpointsOutputsEmbeddingsCapacityConcurrencyValue = default,
+ string? endpointsOutputsEmbeddingsParams = default,
+ string? endpointsOutputsRerankPassthroughParameters = default,
+ string? endpointsOutputsRerankPricingType = default,
+ string? endpointsOutputsRerankPricingCompletionUnit = default,
+ string? endpointsOutputsRerankPricingCompletionCostUsd = default,
+ string? endpointsOutputsRerankPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsRerankPricingCompletionUtcStart = default,
+ string? endpointsOutputsRerankPricingCompletionUtcEnd = default,
+ string? endpointsOutputsRerankPricingCompletionUtcDays = default,
+ string? endpointsOutputsRerankPricingInternalReasoningUnit = default,
+ string? endpointsOutputsRerankPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsRerankPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsRerankPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsRerankPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsRerankPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsRerankCapacityType = default,
+ string? endpointsOutputsRerankCapacityCompletionUnit = default,
+ string? endpointsOutputsRerankCapacityCompletionPer = default,
+ string? endpointsOutputsRerankCapacityCompletionValue = default,
+ string? endpointsOutputsRerankCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsRerankCapacityInternalReasoningPer = default,
+ string? endpointsOutputsRerankCapacityInternalReasoningValue = default,
+ string? endpointsOutputsRerankCapacityConcurrencyUnit = default,
+ string? endpointsOutputsRerankCapacityConcurrencyValue = default,
+ string? endpointsOutputsRerankParams = default,
+ string? endpointsOutputsDecisionsPassthroughParameters = default,
+ string? endpointsOutputsDecisionsPricingType = default,
+ string? endpointsOutputsDecisionsPricingCompletionUnit = default,
+ string? endpointsOutputsDecisionsPricingCompletionCostUsd = default,
+ string? endpointsOutputsDecisionsPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsDecisionsPricingCompletionUtcStart = default,
+ string? endpointsOutputsDecisionsPricingCompletionUtcEnd = default,
+ string? endpointsOutputsDecisionsPricingCompletionUtcDays = default,
+ string? endpointsOutputsDecisionsPricingInternalReasoningUnit = default,
+ string? endpointsOutputsDecisionsPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsDecisionsPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsDecisionsPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsDecisionsPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsDecisionsPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsDecisionsCapacityType = default,
+ string? endpointsOutputsDecisionsCapacityCompletionUnit = default,
+ string? endpointsOutputsDecisionsCapacityCompletionPer = default,
+ string? endpointsOutputsDecisionsCapacityCompletionValue = default,
+ string? endpointsOutputsDecisionsCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsDecisionsCapacityInternalReasoningPer = default,
+ string? endpointsOutputsDecisionsCapacityInternalReasoningValue = default,
+ string? endpointsOutputsDecisionsCapacityConcurrencyUnit = default,
+ string? endpointsOutputsDecisionsCapacityConcurrencyValue = default,
+ string? endpointsOutputsDecisionsParams = default,
+ string? endpointsOutputsAudioPassthroughParameters = default,
+ string? endpointsOutputsAudioPricingType = default,
+ string? endpointsOutputsAudioPricingCompletionUnit = default,
+ string? endpointsOutputsAudioPricingCompletionCostUsd = default,
+ string? endpointsOutputsAudioPricingCompletionOverridesCostUsd = default,
+ string? endpointsOutputsAudioPricingCompletionUtcStart = default,
+ string? endpointsOutputsAudioPricingCompletionUtcEnd = default,
+ string? endpointsOutputsAudioPricingCompletionUtcDays = default,
+ string? endpointsOutputsAudioPricingInternalReasoningUnit = default,
+ string? endpointsOutputsAudioPricingInternalReasoningCostUsd = default,
+ string? endpointsOutputsAudioPricingInternalReasoningOverridesCostUsd = default,
+ string? endpointsOutputsAudioPricingInternalReasoningUtcStart = default,
+ string? endpointsOutputsAudioPricingInternalReasoningUtcEnd = default,
+ string? endpointsOutputsAudioPricingInternalReasoningUtcDays = default,
+ string? endpointsOutputsAudioCapacityType = default,
+ string? endpointsOutputsAudioCapacityCompletionUnit = default,
+ string? endpointsOutputsAudioCapacityCompletionPer = default,
+ string? endpointsOutputsAudioCapacityCompletionValue = default,
+ string? endpointsOutputsAudioCapacityInternalReasoningUnit = default,
+ string? endpointsOutputsAudioCapacityInternalReasoningPer = default,
+ string? endpointsOutputsAudioCapacityInternalReasoningValue = default,
+ string? endpointsOutputsAudioCapacityConcurrencyUnit = default,
+ string? endpointsOutputsAudioCapacityConcurrencyValue = default,
+ string? endpointsOutputsAudioStreaming = default,
+ string? endpointsOutputsAudioParams = default,
+ string? endpointsProviderSlug = default,
+ string? endpointsProviderTag = default,
+ string? endpointsProviderName = default,
+ string? endpointsDataPolicyTraining = default,
+ string? endpointsDataPolicyRetainsPrompts = default,
+ string? endpointsDataPolicyRetentionDays = default,
+ global::OpenRouter.AutoSDKRequestOptions? requestOptions = default,
+ global::System.Threading.CancellationToken cancellationToken = default);
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.IModelsClient.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.IModelsClient.g.cs
index 774fa11f..d2ee9e44 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.IModelsClient.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.IModelsClient.g.cs
@@ -20,6 +20,27 @@ public partial interface IModelsClient : global::System.IDisposable
///
public System.Uri? BaseUri { get; }
+
+ ///
+ /// The server options available for this client.
+ ///
+ public global::System.Collections.Generic.IReadOnlyList AvailableServers { get; }
+
+ ///
+ /// The currently selected server for this client, if any.
+ ///
+ public global::OpenRouter.AutoSDKServer? SelectedServer { get; set; }
+
+ ///
+ /// Selects one of the generated server options by id.
+ ///
+ public bool TrySelectServer(string serverId);
+
+ ///
+ /// Clears the currently selected server.
+ ///
+ public void ClearSelectedServer();
+
///
/// The authorizations to use for the requests.
///
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.ISttClient.CreateTranscription.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.ISttClient.CreateTranscription.g.cs
index 7c6fad09..58a24737 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.ISttClient.CreateTranscription.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.ISttClient.CreateTranscription.g.cs
@@ -54,7 +54,7 @@ public partial interface ISttClient
/// Example: openai/whisper-large-v3
///
///
- /// Provider configuration: data policy routing preferences (`zdr`, `data_collection`) and provider-specific passthrough options
+ /// Provider-specific passthrough configuration
///
///
/// Output format. "json" (default) returns { text, usage }. "verbose_json" additionally returns task, language, duration, and segment-level timestamps; only supported by OpenAI-compatible providers.
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.ITtsClient.CreateSpeech.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.ITtsClient.CreateSpeech.g.cs
index 25838377..61886a25 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.ITtsClient.CreateSpeech.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.ITtsClient.CreateSpeech.g.cs
@@ -60,7 +60,7 @@ public partial interface ITtsClient
/// Example: mistralai/voxtral-mini-tts-2603
///
///
- /// Provider configuration: data policy routing preferences (`zdr`, `data_collection`) and provider-specific passthrough options
+ /// Provider-specific passthrough configuration
///
///
/// Audio output format
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Interns2Client.Chat.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Interns2Client.Chat.g.cs
index fb717a41..174de366 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.Interns2Client.Chat.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Interns2Client.Chat.g.cs
@@ -61,7 +61,7 @@ partial void ProcessChatResponseContent(
/// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
/// The token to cancel the operation with
///
- public async global::System.Threading.Tasks.Task ChatAsync(
+ public async global::System.Threading.Tasks.Task ChatAsync(
string internId,
global::OpenRouter.InternChatCompletionRequest request,
@@ -96,7 +96,7 @@ partial void ProcessChatResponseContent(
/// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
/// The token to cancel the operation with
///
- public async global::System.Threading.Tasks.Task> ChatAsResponseAsync(
+ public async global::System.Threading.Tasks.Task> ChatAsResponseAsync(
string internId,
global::OpenRouter.InternChatCompletionRequest request,
@@ -844,9 +844,9 @@ partial void ProcessChatResponseContent(
{
__response.EnsureSuccessStatusCode();
- var __value = global::OpenRouter.InternChatCompletionChunk.FromJson(__content, JsonSerializerContext) ??
+ var __value = global::OpenRouter.InternChatSteeredResponse.FromJson(__content, JsonSerializerContext) ??
throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" ");
- return new global::OpenRouter.AutoSDKHttpResponse(
+ return new global::OpenRouter.AutoSDKHttpResponse(
statusCode: __response.StatusCode,
headers: global::OpenRouter.AutoSDKHttpResponse.CreateHeaders(__response),
requestUri: __response.RequestMessage?.RequestUri,
@@ -876,9 +876,9 @@ partial void ProcessChatResponseContent(
#endif
).ConfigureAwait(false);
- var __value = await global::OpenRouter.InternChatCompletionChunk.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ??
+ var __value = await global::OpenRouter.InternChatSteeredResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ??
throw new global::System.InvalidOperationException("Response deserialization failed.");
- return new global::OpenRouter.AutoSDKHttpResponse(
+ return new global::OpenRouter.AutoSDKHttpResponse(
statusCode: __response.StatusCode,
headers: global::OpenRouter.AutoSDKHttpResponse.CreateHeaders(__response),
requestUri: __response.RequestMessage?.RequestUri,
@@ -950,7 +950,7 @@ partial void ProcessChatResponseContent(
/// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
/// The token to cancel the operation with
///
- public async global::System.Threading.Tasks.Task ChatAsync(
+ public async global::System.Threading.Tasks.Task ChatAsync(
string internId,
global::System.Collections.Generic.IList messages,
global::OpenRouter.InternApprovalMode? approvalMode = default,
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.DescriptorUnitV2.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.DescriptorUnitV2.g.cs
new file mode 100644
index 00000000..4bdd1fbc
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.DescriptorUnitV2.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class DescriptorUnitV2JsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.DescriptorUnitV2 Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.DescriptorUnitV2Extensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.DescriptorUnitV2);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.DescriptorUnitV2 value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.DescriptorUnitV2Extensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.DescriptorUnitV2Nullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.DescriptorUnitV2Nullable.g.cs
new file mode 100644
index 00000000..67fec65b
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.DescriptorUnitV2Nullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class DescriptorUnitV2NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.DescriptorUnitV2? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.DescriptorUnitV2Extensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.DescriptorUnitV2?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.DescriptorUnitV2? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.DescriptorUnitV2Extensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.EndpointDocumentV2Quantization.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.EndpointDocumentV2Quantization.g.cs
new file mode 100644
index 00000000..658708dc
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.EndpointDocumentV2Quantization.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class EndpointDocumentV2QuantizationJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.EndpointDocumentV2Quantization Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.EndpointDocumentV2QuantizationExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.EndpointDocumentV2Quantization);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.EndpointDocumentV2Quantization value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.EndpointDocumentV2QuantizationExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.EndpointDocumentV2QuantizationNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.EndpointDocumentV2QuantizationNullable.g.cs
new file mode 100644
index 00000000..91eeb515
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.EndpointDocumentV2QuantizationNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class EndpointDocumentV2QuantizationNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.EndpointDocumentV2Quantization? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.EndpointDocumentV2QuantizationExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.EndpointDocumentV2Quantization?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.EndpointDocumentV2Quantization? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.EndpointDocumentV2QuantizationExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.EndpointDocumentV2ServiceTier.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.EndpointDocumentV2ServiceTier.g.cs
new file mode 100644
index 00000000..671252d7
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.EndpointDocumentV2ServiceTier.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class EndpointDocumentV2ServiceTierJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.EndpointDocumentV2ServiceTier Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.EndpointDocumentV2ServiceTierExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.EndpointDocumentV2ServiceTier);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.EndpointDocumentV2ServiceTier value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.EndpointDocumentV2ServiceTierExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.EndpointDocumentV2ServiceTierNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.EndpointDocumentV2ServiceTierNullable.g.cs
new file mode 100644
index 00000000..71112207
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.EndpointDocumentV2ServiceTierNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class EndpointDocumentV2ServiceTierNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.EndpointDocumentV2ServiceTier? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.EndpointDocumentV2ServiceTierExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.EndpointDocumentV2ServiceTier?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.EndpointDocumentV2ServiceTier? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.EndpointDocumentV2ServiceTierExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.GetModelV2Region.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.GetModelV2Region.g.cs
new file mode 100644
index 00000000..cd7f3726
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.GetModelV2Region.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class GetModelV2RegionJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.GetModelV2Region Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.GetModelV2RegionExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.GetModelV2Region);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.GetModelV2Region value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.GetModelV2RegionExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.GetModelV2RegionNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.GetModelV2RegionNullable.g.cs
new file mode 100644
index 00000000..bad022b5
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.GetModelV2RegionNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class GetModelV2RegionNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.GetModelV2Region? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.GetModelV2RegionExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.GetModelV2Region?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.GetModelV2Region? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.GetModelV2RegionExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputCapacityEntryV2Per.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputCapacityEntryV2Per.g.cs
new file mode 100644
index 00000000..74bdd1b4
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputCapacityEntryV2Per.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class InputCapacityEntryV2PerJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.InputCapacityEntryV2Per Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.InputCapacityEntryV2PerExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.InputCapacityEntryV2Per);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.InputCapacityEntryV2Per value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.InputCapacityEntryV2PerExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputCapacityEntryV2PerNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputCapacityEntryV2PerNullable.g.cs
new file mode 100644
index 00000000..fd6a2ab0
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputCapacityEntryV2PerNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class InputCapacityEntryV2PerNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.InputCapacityEntryV2Per? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.InputCapacityEntryV2PerExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.InputCapacityEntryV2Per?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.InputCapacityEntryV2Per? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.InputCapacityEntryV2PerExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputCapacityEntryV2Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputCapacityEntryV2Type.g.cs
new file mode 100644
index 00000000..aa429cc4
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputCapacityEntryV2Type.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class InputCapacityEntryV2TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.InputCapacityEntryV2Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.InputCapacityEntryV2TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.InputCapacityEntryV2Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.InputCapacityEntryV2Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.InputCapacityEntryV2TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputCapacityEntryV2TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputCapacityEntryV2TypeNullable.g.cs
new file mode 100644
index 00000000..bd80b406
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputCapacityEntryV2TypeNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class InputCapacityEntryV2TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.InputCapacityEntryV2Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.InputCapacityEntryV2TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.InputCapacityEntryV2Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.InputCapacityEntryV2Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.InputCapacityEntryV2TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2.g.cs
new file mode 100644
index 00000000..9db9b889
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2.g.cs
@@ -0,0 +1,207 @@
+#nullable enable
+#pragma warning disable CS0618 // Type or member is obsolete
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public class InputPricingEntryV2JsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.InputPricingEntryV2 Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ options = options ?? throw new global::System.ArgumentNullException(nameof(options));
+ var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set.");
+
+ using var __jsonDocument = global::System.Text.Json.JsonDocument.ParseValue(ref reader);
+ var __rawJson = __jsonDocument.RootElement.GetRawText();
+ var __jsonProps = new global::System.Collections.Generic.HashSet();
+ if (__jsonDocument.RootElement.ValueKind == global::System.Text.Json.JsonValueKind.Object)
+ {
+ foreach (var __jsonProp in __jsonDocument.RootElement.EnumerateObject())
+ {
+ __jsonProps.Add(__jsonProp.Name);
+
+ }
+ }
+
+ var __score0 = 0;
+ if (__jsonProps.Contains("cost_usd")) __score0++;
+ if (__jsonProps.Contains("overrides")) __score0++;
+ if (__jsonProps.Contains("type")) __score0++;
+ if (__jsonProps.Contains("unit")) __score0++;
+ if (__jsonProps.Contains("utc_days")) __score0++;
+ if (__jsonProps.Contains("utc_end")) __score0++;
+ if (__jsonProps.Contains("utc_start")) __score0++;
+ var __score1 = 0;
+ if (__jsonProps.Contains("cost_usd")) __score1++;
+ if (__jsonProps.Contains("implicit")) __score1++;
+ if (__jsonProps.Contains("overrides")) __score1++;
+ if (__jsonProps.Contains("ttl_seconds")) __score1++;
+ if (__jsonProps.Contains("type")) __score1++;
+ if (__jsonProps.Contains("unit")) __score1++;
+ if (__jsonProps.Contains("utc_days")) __score1++;
+ if (__jsonProps.Contains("utc_end")) __score1++;
+ if (__jsonProps.Contains("utc_start")) __score1++;
+ var __score2 = 0;
+ if (__jsonProps.Contains("cost_usd")) __score2++;
+ if (__jsonProps.Contains("implicit")) __score2++;
+ if (__jsonProps.Contains("overrides")) __score2++;
+ if (__jsonProps.Contains("ttl_seconds")) __score2++;
+ if (__jsonProps.Contains("type")) __score2++;
+ if (__jsonProps.Contains("unit")) __score2++;
+ if (__jsonProps.Contains("utc_days")) __score2++;
+ if (__jsonProps.Contains("utc_end")) __score2++;
+ if (__jsonProps.Contains("utc_start")) __score2++;
+ var __bestScore = 0;
+ var __bestIndex = -1;
+ if (__score0 > __bestScore) { __bestScore = __score0; __bestIndex = 0; }
+ if (__score1 > __bestScore) { __bestScore = __score1; __bestIndex = 1; }
+ if (__score2 > __bestScore) { __bestScore = __score2; __bestIndex = 2; }
+
+ global::OpenRouter.InputPricingEntryV2Variant1? inputPricingEntryV2Variant1 = default;
+ global::OpenRouter.InputPricingEntryV2Variant2? inputPricingEntryV2Variant2 = default;
+ global::OpenRouter.InputPricingEntryV2Variant3? inputPricingEntryV2Variant3 = default;
+ if (__bestIndex >= 0)
+ {
+ if (__bestIndex == 0)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.InputPricingEntryV2Variant1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.InputPricingEntryV2Variant1).Name}");
+ inputPricingEntryV2Variant1 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ else if (__bestIndex == 1)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.InputPricingEntryV2Variant2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.InputPricingEntryV2Variant2).Name}");
+ inputPricingEntryV2Variant2 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ else if (__bestIndex == 2)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.InputPricingEntryV2Variant3), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.InputPricingEntryV2Variant3).Name}");
+ inputPricingEntryV2Variant3 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ }
+
+ if (inputPricingEntryV2Variant1 == null && inputPricingEntryV2Variant2 == null && inputPricingEntryV2Variant3 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.InputPricingEntryV2Variant1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.InputPricingEntryV2Variant1).Name}");
+ inputPricingEntryV2Variant1 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ if (inputPricingEntryV2Variant1 == null && inputPricingEntryV2Variant2 == null && inputPricingEntryV2Variant3 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.InputPricingEntryV2Variant2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.InputPricingEntryV2Variant2).Name}");
+ inputPricingEntryV2Variant2 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ if (inputPricingEntryV2Variant1 == null && inputPricingEntryV2Variant2 == null && inputPricingEntryV2Variant3 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.InputPricingEntryV2Variant3), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.InputPricingEntryV2Variant3).Name}");
+ inputPricingEntryV2Variant3 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ var __value = new global::OpenRouter.InputPricingEntryV2(
+ inputPricingEntryV2Variant1,
+
+ inputPricingEntryV2Variant2,
+
+ inputPricingEntryV2Variant3
+ );
+
+ return __value;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.InputPricingEntryV2 value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ options = options ?? throw new global::System.ArgumentNullException(nameof(options));
+ var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set.");
+
+ if (value.IsInputPricingEntryV2Variant1)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.InputPricingEntryV2Variant1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.InputPricingEntryV2Variant1).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickInputPricingEntryV2Variant1(), typeInfo);
+ }
+ else if (value.IsInputPricingEntryV2Variant2)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.InputPricingEntryV2Variant2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.InputPricingEntryV2Variant2).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickInputPricingEntryV2Variant2(), typeInfo);
+ }
+ else if (value.IsInputPricingEntryV2Variant3)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.InputPricingEntryV2Variant3), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.InputPricingEntryV2Variant3).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickInputPricingEntryV2Variant3(), typeInfo);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant1Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant1Type.g.cs
new file mode 100644
index 00000000..ad734203
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant1Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class InputPricingEntryV2Variant1TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.InputPricingEntryV2Variant1Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.InputPricingEntryV2Variant1TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.InputPricingEntryV2Variant1Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.InputPricingEntryV2Variant1Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.InputPricingEntryV2Variant1Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.InputPricingEntryV2Variant1TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant1TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant1TypeNullable.g.cs
new file mode 100644
index 00000000..2df31c9e
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant1TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class InputPricingEntryV2Variant1TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.InputPricingEntryV2Variant1Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.InputPricingEntryV2Variant1TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.InputPricingEntryV2Variant1Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.InputPricingEntryV2Variant1Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.InputPricingEntryV2Variant1Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.InputPricingEntryV2Variant1TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant2Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant2Type.g.cs
new file mode 100644
index 00000000..02b463ca
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant2Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class InputPricingEntryV2Variant2TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.InputPricingEntryV2Variant2Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.InputPricingEntryV2Variant2TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.InputPricingEntryV2Variant2Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.InputPricingEntryV2Variant2Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.InputPricingEntryV2Variant2Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.InputPricingEntryV2Variant2TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant2TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant2TypeNullable.g.cs
new file mode 100644
index 00000000..aea321d4
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant2TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class InputPricingEntryV2Variant2TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.InputPricingEntryV2Variant2Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.InputPricingEntryV2Variant2TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.InputPricingEntryV2Variant2Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.InputPricingEntryV2Variant2Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.InputPricingEntryV2Variant2Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.InputPricingEntryV2Variant2TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant3Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant3Type.g.cs
new file mode 100644
index 00000000..fa3db3a9
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant3Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class InputPricingEntryV2Variant3TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.InputPricingEntryV2Variant3Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.InputPricingEntryV2Variant3TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.InputPricingEntryV2Variant3Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.InputPricingEntryV2Variant3Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.InputPricingEntryV2Variant3Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.InputPricingEntryV2Variant3TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant3TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant3TypeNullable.g.cs
new file mode 100644
index 00000000..d03aa08c
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingEntryV2Variant3TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class InputPricingEntryV2Variant3TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.InputPricingEntryV2Variant3Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.InputPricingEntryV2Variant3TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.InputPricingEntryV2Variant3Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.InputPricingEntryV2Variant3Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.InputPricingEntryV2Variant3Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.InputPricingEntryV2Variant3TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingUnitV2.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingUnitV2.g.cs
new file mode 100644
index 00000000..d9f2073a
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingUnitV2.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class InputPricingUnitV2JsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.InputPricingUnitV2 Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.InputPricingUnitV2Extensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.InputPricingUnitV2);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.InputPricingUnitV2 value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.InputPricingUnitV2Extensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingUnitV2Nullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingUnitV2Nullable.g.cs
new file mode 100644
index 00000000..fb34fc31
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.InputPricingUnitV2Nullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class InputPricingUnitV2NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.InputPricingUnitV2? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.InputPricingUnitV2Extensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.InputPricingUnitV2?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.InputPricingUnitV2? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.InputPricingUnitV2Extensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ListModelsV2Region.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ListModelsV2Region.g.cs
new file mode 100644
index 00000000..3408068e
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ListModelsV2Region.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ListModelsV2RegionJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ListModelsV2Region Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ListModelsV2RegionExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ListModelsV2Region);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ListModelsV2Region value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ListModelsV2RegionExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ListModelsV2RegionNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ListModelsV2RegionNullable.g.cs
new file mode 100644
index 00000000..43804c13
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ListModelsV2RegionNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ListModelsV2RegionNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ListModelsV2Region? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ListModelsV2RegionExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ListModelsV2Region?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ListModelsV2Region? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ListModelsV2RegionExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2.g.cs
new file mode 100644
index 00000000..aa5b16c6
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2.g.cs
@@ -0,0 +1,320 @@
+#nullable enable
+#pragma warning disable CS0618 // Type or member is obsolete
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public class ModelInputV2JsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2 Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ options = options ?? throw new global::System.ArgumentNullException(nameof(options));
+ var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set.");
+
+ using var __jsonDocument = global::System.Text.Json.JsonDocument.ParseValue(ref reader);
+ var __rawJson = __jsonDocument.RootElement.GetRawText();
+ var __jsonProps = new global::System.Collections.Generic.HashSet();
+ if (__jsonDocument.RootElement.ValueKind == global::System.Text.Json.JsonValueKind.Object)
+ {
+ foreach (var __jsonProp in __jsonDocument.RootElement.EnumerateObject())
+ {
+ __jsonProps.Add(__jsonProp.Name);
+ if (__jsonProp.Value.ValueKind == global::System.Text.Json.JsonValueKind.Object)
+ {
+ foreach (var __nestedJsonProp in __jsonProp.Value.EnumerateObject())
+ {
+ __jsonProps.Add(__jsonProp.Name + "." + __nestedJsonProp.Name);
+ }
+ }
+
+ }
+ }
+
+ var __score0 = 0;
+ if (__jsonProps.Contains("capacity")) __score0++;
+ if (__jsonProps.Contains("params")) __score0++;
+ if (__jsonProps.Contains("params.max_length")) __score0++;
+ if (__jsonProps.Contains("params.max_prompt_length")) __score0++;
+ if (__jsonProps.Contains("passthrough_parameters")) __score0++;
+ if (__jsonProps.Contains("pricing")) __score0++;
+ if (__jsonProps.Contains("type")) __score0++;
+ var __score1 = 0;
+ if (__jsonProps.Contains("capacity")) __score1++;
+ if (__jsonProps.Contains("params")) __score1++;
+ if (__jsonProps.Contains("params.detail_levels")) __score1++;
+ if (__jsonProps.Contains("params.formats")) __score1++;
+ if (__jsonProps.Contains("params.max_content_size_bytes")) __score1++;
+ if (__jsonProps.Contains("params.references")) __score1++;
+ if (__jsonProps.Contains("params.role")) __score1++;
+ if (__jsonProps.Contains("params.sources")) __score1++;
+ if (__jsonProps.Contains("passthrough_parameters")) __score1++;
+ if (__jsonProps.Contains("pricing")) __score1++;
+ if (__jsonProps.Contains("type")) __score1++;
+ var __score2 = 0;
+ if (__jsonProps.Contains("capacity")) __score2++;
+ if (__jsonProps.Contains("params")) __score2++;
+ if (__jsonProps.Contains("params.formats")) __score2++;
+ if (__jsonProps.Contains("params.max_content_size_bytes")) __score2++;
+ if (__jsonProps.Contains("params.max_duration_seconds")) __score2++;
+ if (__jsonProps.Contains("params.sources")) __score2++;
+ if (__jsonProps.Contains("passthrough_parameters")) __score2++;
+ if (__jsonProps.Contains("pricing")) __score2++;
+ if (__jsonProps.Contains("type")) __score2++;
+ var __score3 = 0;
+ if (__jsonProps.Contains("capacity")) __score3++;
+ if (__jsonProps.Contains("params")) __score3++;
+ if (__jsonProps.Contains("params.formats")) __score3++;
+ if (__jsonProps.Contains("params.max_content_size_bytes")) __score3++;
+ if (__jsonProps.Contains("params.max_duration_seconds")) __score3++;
+ if (__jsonProps.Contains("params.sources")) __score3++;
+ if (__jsonProps.Contains("passthrough_parameters")) __score3++;
+ if (__jsonProps.Contains("pricing")) __score3++;
+ if (__jsonProps.Contains("type")) __score3++;
+ var __score4 = 0;
+ if (__jsonProps.Contains("capacity")) __score4++;
+ if (__jsonProps.Contains("params")) __score4++;
+ if (__jsonProps.Contains("params.formats")) __score4++;
+ if (__jsonProps.Contains("params.max_content_size_bytes")) __score4++;
+ if (__jsonProps.Contains("params.references")) __score4++;
+ if (__jsonProps.Contains("params.sources")) __score4++;
+ if (__jsonProps.Contains("passthrough_parameters")) __score4++;
+ if (__jsonProps.Contains("pricing")) __score4++;
+ if (__jsonProps.Contains("type")) __score4++;
+ var __bestScore = 0;
+ var __bestIndex = -1;
+ if (__score0 > __bestScore) { __bestScore = __score0; __bestIndex = 0; }
+ if (__score1 > __bestScore) { __bestScore = __score1; __bestIndex = 1; }
+ if (__score2 > __bestScore) { __bestScore = __score2; __bestIndex = 2; }
+ if (__score3 > __bestScore) { __bestScore = __score3; __bestIndex = 3; }
+ if (__score4 > __bestScore) { __bestScore = __score4; __bestIndex = 4; }
+
+ global::OpenRouter.ModelInputV2Variant1? modelInputV2Variant1 = default;
+ global::OpenRouter.ModelInputV2Variant2? modelInputV2Variant2 = default;
+ global::OpenRouter.ModelInputV2Variant3? modelInputV2Variant3 = default;
+ global::OpenRouter.ModelInputV2Variant4? modelInputV2Variant4 = default;
+ global::OpenRouter.ModelInputV2Variant5? modelInputV2Variant5 = default;
+ if (__bestIndex >= 0)
+ {
+ if (__bestIndex == 0)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelInputV2Variant1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelInputV2Variant1).Name}");
+ modelInputV2Variant1 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ else if (__bestIndex == 1)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelInputV2Variant2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelInputV2Variant2).Name}");
+ modelInputV2Variant2 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ else if (__bestIndex == 2)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelInputV2Variant3), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelInputV2Variant3).Name}");
+ modelInputV2Variant3 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ else if (__bestIndex == 3)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelInputV2Variant4), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelInputV2Variant4).Name}");
+ modelInputV2Variant4 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ else if (__bestIndex == 4)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelInputV2Variant5), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelInputV2Variant5).Name}");
+ modelInputV2Variant5 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ }
+
+ if (modelInputV2Variant1 == null && modelInputV2Variant2 == null && modelInputV2Variant3 == null && modelInputV2Variant4 == null && modelInputV2Variant5 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelInputV2Variant1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelInputV2Variant1).Name}");
+ modelInputV2Variant1 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ if (modelInputV2Variant1 == null && modelInputV2Variant2 == null && modelInputV2Variant3 == null && modelInputV2Variant4 == null && modelInputV2Variant5 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelInputV2Variant2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelInputV2Variant2).Name}");
+ modelInputV2Variant2 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ if (modelInputV2Variant1 == null && modelInputV2Variant2 == null && modelInputV2Variant3 == null && modelInputV2Variant4 == null && modelInputV2Variant5 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelInputV2Variant3), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelInputV2Variant3).Name}");
+ modelInputV2Variant3 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ if (modelInputV2Variant1 == null && modelInputV2Variant2 == null && modelInputV2Variant3 == null && modelInputV2Variant4 == null && modelInputV2Variant5 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelInputV2Variant4), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelInputV2Variant4).Name}");
+ modelInputV2Variant4 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ if (modelInputV2Variant1 == null && modelInputV2Variant2 == null && modelInputV2Variant3 == null && modelInputV2Variant4 == null && modelInputV2Variant5 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelInputV2Variant5), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelInputV2Variant5).Name}");
+ modelInputV2Variant5 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ var __value = new global::OpenRouter.ModelInputV2(
+ modelInputV2Variant1,
+
+ modelInputV2Variant2,
+
+ modelInputV2Variant3,
+
+ modelInputV2Variant4,
+
+ modelInputV2Variant5
+ );
+
+ return __value;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2 value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ options = options ?? throw new global::System.ArgumentNullException(nameof(options));
+ var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set.");
+
+ if (value.IsModelInputV2Variant1)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelInputV2Variant1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelInputV2Variant1).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickModelInputV2Variant1(), typeInfo);
+ }
+ else if (value.IsModelInputV2Variant2)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelInputV2Variant2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelInputV2Variant2).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickModelInputV2Variant2(), typeInfo);
+ }
+ else if (value.IsModelInputV2Variant3)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelInputV2Variant3), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelInputV2Variant3).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickModelInputV2Variant3(), typeInfo);
+ }
+ else if (value.IsModelInputV2Variant4)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelInputV2Variant4), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelInputV2Variant4).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickModelInputV2Variant4(), typeInfo);
+ }
+ else if (value.IsModelInputV2Variant5)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelInputV2Variant5), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelInputV2Variant5).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickModelInputV2Variant5(), typeInfo);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant1Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant1Type.g.cs
new file mode 100644
index 00000000..6882831f
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant1Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant1TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant1Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant1TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant1Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant1Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant1Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant1TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant1TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant1TypeNullable.g.cs
new file mode 100644
index 00000000..0d9228bc
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant1TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant1TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant1Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant1TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant1Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant1Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant1Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant1TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsDetailLevelsType.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsDetailLevelsType.g.cs
new file mode 100644
index 00000000..d1aea74f
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsDetailLevelsType.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsDetailLevelsTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsType Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsTypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsType);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsType value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsTypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsDetailLevelsTypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsDetailLevelsTypeNullable.g.cs
new file mode 100644
index 00000000..97a702a9
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsDetailLevelsTypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsDetailLevelsTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsType? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsTypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsType?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsType? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsTypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsDetailLevelsValue.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsDetailLevelsValue.g.cs
new file mode 100644
index 00000000..a2281791
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsDetailLevelsValue.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsDetailLevelsValueJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsValue Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsValueExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsValue);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsValue value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsValueExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsDetailLevelsValueNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsDetailLevelsValueNullable.g.cs
new file mode 100644
index 00000000..324301fd
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsDetailLevelsValueNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsDetailLevelsValueNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsValue? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsValueExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsValue?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsValue? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsDetailLevelsValueExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsFormatsType.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsFormatsType.g.cs
new file mode 100644
index 00000000..5458d0a6
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsFormatsType.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsFormatsTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsFormatsType Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsFormatsTypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant2ParamsFormatsType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsFormatsType);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsFormatsType value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsFormatsTypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsFormatsTypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsFormatsTypeNullable.g.cs
new file mode 100644
index 00000000..982094c8
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsFormatsTypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsFormatsTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsFormatsType? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsFormatsTypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant2ParamsFormatsType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsFormatsType?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsFormatsType? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsFormatsTypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsFormatsValue.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsFormatsValue.g.cs
new file mode 100644
index 00000000..494b7d67
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsFormatsValue.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsFormatsValueJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsFormatsValue Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsFormatsValueExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsFormatsValue);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsFormatsValue value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsFormatsValueExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsFormatsValueNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsFormatsValueNullable.g.cs
new file mode 100644
index 00000000..00c62ea5
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsFormatsValueNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsFormatsValueNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsFormatsValue? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsFormatsValueExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsFormatsValue?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsFormatsValue? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsFormatsValueExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsReferencesType.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsReferencesType.g.cs
new file mode 100644
index 00000000..2241b8d8
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsReferencesType.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsReferencesTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsReferencesType Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsReferencesTypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant2ParamsReferencesType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsReferencesType);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsReferencesType value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsReferencesTypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsReferencesTypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsReferencesTypeNullable.g.cs
new file mode 100644
index 00000000..d1927f50
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsReferencesTypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsReferencesTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsReferencesType? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsReferencesTypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant2ParamsReferencesType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsReferencesType?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsReferencesType? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsReferencesTypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsRoleType.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsRoleType.g.cs
new file mode 100644
index 00000000..54d0905f
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsRoleType.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsRoleTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsRoleType Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsRoleTypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant2ParamsRoleType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsRoleType);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsRoleType value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsRoleTypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsRoleTypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsRoleTypeNullable.g.cs
new file mode 100644
index 00000000..5f645c7e
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsRoleTypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsRoleTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsRoleType? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsRoleTypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant2ParamsRoleType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsRoleType?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsRoleType? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsRoleTypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.SpeechRequestProviderDataCollection.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsRoleValue.g.cs
similarity index 67%
rename from src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.SpeechRequestProviderDataCollection.g.cs
rename to src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsRoleValue.g.cs
index eae59f7d..983ab651 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.SpeechRequestProviderDataCollection.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsRoleValue.g.cs
@@ -3,10 +3,10 @@
namespace OpenRouter.JsonConverters
{
///
- public sealed class SpeechRequestProviderDataCollectionJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ public sealed class ModelInputV2Variant2ParamsRoleValueJsonConverter : global::System.Text.Json.Serialization.JsonConverter
{
///
- public override global::OpenRouter.SpeechRequestProviderDataCollection Read(
+ public override global::OpenRouter.ModelInputV2Variant2ParamsRoleValue Read(
ref global::System.Text.Json.Utf8JsonReader reader,
global::System.Type typeToConvert,
global::System.Text.Json.JsonSerializerOptions options)
@@ -18,14 +18,14 @@ public sealed class SpeechRequestProviderDataCollectionJsonConverter : global::S
var stringValue = reader.GetString();
if (stringValue != null)
{
- return global::OpenRouter.SpeechRequestProviderDataCollectionExtensions.ToEnum(stringValue) ?? default;
+ return global::OpenRouter.ModelInputV2Variant2ParamsRoleValueExtensions.ToEnum(stringValue) ?? default;
}
break;
}
case global::System.Text.Json.JsonTokenType.Null:
{
- return default(global::OpenRouter.SpeechRequestProviderDataCollection);
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsRoleValue);
}
default:
throw new global::System.ArgumentOutOfRangeException(nameof(reader));
@@ -37,12 +37,12 @@ public sealed class SpeechRequestProviderDataCollectionJsonConverter : global::S
///
public override void Write(
global::System.Text.Json.Utf8JsonWriter writer,
- global::OpenRouter.SpeechRequestProviderDataCollection value,
+ global::OpenRouter.ModelInputV2Variant2ParamsRoleValue value,
global::System.Text.Json.JsonSerializerOptions options)
{
writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
- writer.WriteStringValue(global::OpenRouter.SpeechRequestProviderDataCollectionExtensions.ToValueString(value));
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsRoleValueExtensions.ToValueString(value));
}
}
}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.SpeechRequestProviderDataCollectionNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsRoleValueNullable.g.cs
similarity index 69%
rename from src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.SpeechRequestProviderDataCollectionNullable.g.cs
rename to src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsRoleValueNullable.g.cs
index 3f6f74b4..88d6d07d 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.SpeechRequestProviderDataCollectionNullable.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsRoleValueNullable.g.cs
@@ -3,10 +3,10 @@
namespace OpenRouter.JsonConverters
{
///
- public sealed class SpeechRequestProviderDataCollectionNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ public sealed class ModelInputV2Variant2ParamsRoleValueNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
{
///
- public override global::OpenRouter.SpeechRequestProviderDataCollection? Read(
+ public override global::OpenRouter.ModelInputV2Variant2ParamsRoleValue? Read(
ref global::System.Text.Json.Utf8JsonReader reader,
global::System.Type typeToConvert,
global::System.Text.Json.JsonSerializerOptions options)
@@ -18,14 +18,14 @@ public sealed class SpeechRequestProviderDataCollectionNullableJsonConverter : g
var stringValue = reader.GetString();
if (stringValue != null)
{
- return global::OpenRouter.SpeechRequestProviderDataCollectionExtensions.ToEnum(stringValue);
+ return global::OpenRouter.ModelInputV2Variant2ParamsRoleValueExtensions.ToEnum(stringValue);
}
break;
}
case global::System.Text.Json.JsonTokenType.Null:
{
- return default(global::OpenRouter.SpeechRequestProviderDataCollection?);
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsRoleValue?);
}
default:
throw new global::System.ArgumentOutOfRangeException(nameof(reader));
@@ -37,7 +37,7 @@ public sealed class SpeechRequestProviderDataCollectionNullableJsonConverter : g
///
public override void Write(
global::System.Text.Json.Utf8JsonWriter writer,
- global::OpenRouter.SpeechRequestProviderDataCollection? value,
+ global::OpenRouter.ModelInputV2Variant2ParamsRoleValue? value,
global::System.Text.Json.JsonSerializerOptions options)
{
writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
@@ -48,7 +48,7 @@ public override void Write(
}
else
{
- writer.WriteStringValue(global::OpenRouter.SpeechRequestProviderDataCollectionExtensions.ToValueString(value.Value));
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsRoleValueExtensions.ToValueString(value.Value));
}
}
}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsSourcesType.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsSourcesType.g.cs
new file mode 100644
index 00000000..90ecb583
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsSourcesType.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsSourcesTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsSourcesType Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsSourcesTypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant2ParamsSourcesType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsSourcesType);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsSourcesType value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsSourcesTypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsSourcesTypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsSourcesTypeNullable.g.cs
new file mode 100644
index 00000000..b9690002
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsSourcesTypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsSourcesTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsSourcesType? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsSourcesTypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant2ParamsSourcesType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsSourcesType?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsSourcesType? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsSourcesTypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsSourcesValue.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsSourcesValue.g.cs
new file mode 100644
index 00000000..4ea87fa4
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsSourcesValue.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsSourcesValueJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsSourcesValue Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsSourcesValueExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsSourcesValue);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsSourcesValue value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsSourcesValueExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsSourcesValueNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsSourcesValueNullable.g.cs
new file mode 100644
index 00000000..799dcc02
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2ParamsSourcesValueNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2ParamsSourcesValueNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2ParamsSourcesValue? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2ParamsSourcesValueExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2ParamsSourcesValue?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2ParamsSourcesValue? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2ParamsSourcesValueExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2Type.g.cs
new file mode 100644
index 00000000..adcd0f2b
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant2Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2TypeNullable.g.cs
new file mode 100644
index 00000000..44914e7d
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant2TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant2TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant2Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant2TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant2Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant2Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant2Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant2TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsFormatsType.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsFormatsType.g.cs
new file mode 100644
index 00000000..623a16b9
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsFormatsType.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant3ParamsFormatsTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant3ParamsFormatsType Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant3ParamsFormatsTypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant3ParamsFormatsType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant3ParamsFormatsType);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant3ParamsFormatsType value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant3ParamsFormatsTypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsFormatsTypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsFormatsTypeNullable.g.cs
new file mode 100644
index 00000000..52d7efff
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsFormatsTypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant3ParamsFormatsTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant3ParamsFormatsType? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant3ParamsFormatsTypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant3ParamsFormatsType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant3ParamsFormatsType?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant3ParamsFormatsType? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant3ParamsFormatsTypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsFormatsValue.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsFormatsValue.g.cs
new file mode 100644
index 00000000..45f97733
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsFormatsValue.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant3ParamsFormatsValueJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant3ParamsFormatsValue Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant3ParamsFormatsValueExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant3ParamsFormatsValue);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant3ParamsFormatsValue value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant3ParamsFormatsValueExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsFormatsValueNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsFormatsValueNullable.g.cs
new file mode 100644
index 00000000..25b30136
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsFormatsValueNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant3ParamsFormatsValueNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant3ParamsFormatsValue? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant3ParamsFormatsValueExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant3ParamsFormatsValue?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant3ParamsFormatsValue? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant3ParamsFormatsValueExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsSourcesType.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsSourcesType.g.cs
new file mode 100644
index 00000000..9a846cdb
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsSourcesType.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant3ParamsSourcesTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant3ParamsSourcesType Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant3ParamsSourcesTypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant3ParamsSourcesType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant3ParamsSourcesType);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant3ParamsSourcesType value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant3ParamsSourcesTypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsSourcesTypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsSourcesTypeNullable.g.cs
new file mode 100644
index 00000000..09ef8461
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsSourcesTypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant3ParamsSourcesTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant3ParamsSourcesType? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant3ParamsSourcesTypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant3ParamsSourcesType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant3ParamsSourcesType?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant3ParamsSourcesType? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant3ParamsSourcesTypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsSourcesValue.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsSourcesValue.g.cs
new file mode 100644
index 00000000..aac0e383
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsSourcesValue.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant3ParamsSourcesValueJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant3ParamsSourcesValue Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant3ParamsSourcesValueExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant3ParamsSourcesValue);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant3ParamsSourcesValue value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant3ParamsSourcesValueExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsSourcesValueNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsSourcesValueNullable.g.cs
new file mode 100644
index 00000000..2b2f63f1
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3ParamsSourcesValueNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant3ParamsSourcesValueNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant3ParamsSourcesValue? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant3ParamsSourcesValueExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant3ParamsSourcesValue?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant3ParamsSourcesValue? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant3ParamsSourcesValueExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3Type.g.cs
new file mode 100644
index 00000000..80052b09
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant3TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant3Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant3TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant3Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant3Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant3Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant3TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3TypeNullable.g.cs
new file mode 100644
index 00000000..948ef0e1
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant3TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant3TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant3Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant3TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant3Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant3Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant3Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant3TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsFormatsType.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsFormatsType.g.cs
new file mode 100644
index 00000000..1c829a25
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsFormatsType.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant4ParamsFormatsTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant4ParamsFormatsType Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant4ParamsFormatsTypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant4ParamsFormatsType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant4ParamsFormatsType);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant4ParamsFormatsType value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant4ParamsFormatsTypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsFormatsTypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsFormatsTypeNullable.g.cs
new file mode 100644
index 00000000..d7c71efe
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsFormatsTypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant4ParamsFormatsTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant4ParamsFormatsType? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant4ParamsFormatsTypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant4ParamsFormatsType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant4ParamsFormatsType?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant4ParamsFormatsType? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant4ParamsFormatsTypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsFormatsValue.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsFormatsValue.g.cs
new file mode 100644
index 00000000..eb9ec419
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsFormatsValue.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant4ParamsFormatsValueJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant4ParamsFormatsValue Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant4ParamsFormatsValueExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant4ParamsFormatsValue);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant4ParamsFormatsValue value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant4ParamsFormatsValueExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsFormatsValueNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsFormatsValueNullable.g.cs
new file mode 100644
index 00000000..4b1ee705
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsFormatsValueNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant4ParamsFormatsValueNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant4ParamsFormatsValue? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant4ParamsFormatsValueExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant4ParamsFormatsValue?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant4ParamsFormatsValue? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant4ParamsFormatsValueExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsSourcesType.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsSourcesType.g.cs
new file mode 100644
index 00000000..9024ecf8
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsSourcesType.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant4ParamsSourcesTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant4ParamsSourcesType Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant4ParamsSourcesTypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant4ParamsSourcesType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant4ParamsSourcesType);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant4ParamsSourcesType value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant4ParamsSourcesTypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsSourcesTypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsSourcesTypeNullable.g.cs
new file mode 100644
index 00000000..5827a778
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsSourcesTypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant4ParamsSourcesTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant4ParamsSourcesType? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant4ParamsSourcesTypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant4ParamsSourcesType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant4ParamsSourcesType?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant4ParamsSourcesType? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant4ParamsSourcesTypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsSourcesValue.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsSourcesValue.g.cs
new file mode 100644
index 00000000..4a57bdc2
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsSourcesValue.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant4ParamsSourcesValueJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant4ParamsSourcesValue Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant4ParamsSourcesValueExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant4ParamsSourcesValue);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant4ParamsSourcesValue value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant4ParamsSourcesValueExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsSourcesValueNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsSourcesValueNullable.g.cs
new file mode 100644
index 00000000..b543c12c
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4ParamsSourcesValueNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant4ParamsSourcesValueNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant4ParamsSourcesValue? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant4ParamsSourcesValueExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant4ParamsSourcesValue?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant4ParamsSourcesValue? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant4ParamsSourcesValueExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4Type.g.cs
new file mode 100644
index 00000000..4b884285
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant4TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant4Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant4TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant4Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant4Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant4Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant4TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4TypeNullable.g.cs
new file mode 100644
index 00000000..bcfb3640
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant4TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant4TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant4Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant4TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant4Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant4Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant4Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant4TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsFormatsType.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsFormatsType.g.cs
new file mode 100644
index 00000000..30a16c2a
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsFormatsType.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant5ParamsFormatsTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant5ParamsFormatsType Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant5ParamsFormatsTypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant5ParamsFormatsType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant5ParamsFormatsType);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant5ParamsFormatsType value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant5ParamsFormatsTypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsFormatsTypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsFormatsTypeNullable.g.cs
new file mode 100644
index 00000000..d217edd7
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsFormatsTypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant5ParamsFormatsTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant5ParamsFormatsType? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant5ParamsFormatsTypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant5ParamsFormatsType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant5ParamsFormatsType?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant5ParamsFormatsType? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant5ParamsFormatsTypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsFormatsValue.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsFormatsValue.g.cs
new file mode 100644
index 00000000..5fd0375a
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsFormatsValue.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant5ParamsFormatsValueJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant5ParamsFormatsValue Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant5ParamsFormatsValueExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant5ParamsFormatsValue);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant5ParamsFormatsValue value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant5ParamsFormatsValueExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsFormatsValueNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsFormatsValueNullable.g.cs
new file mode 100644
index 00000000..766d0653
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsFormatsValueNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant5ParamsFormatsValueNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant5ParamsFormatsValue? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant5ParamsFormatsValueExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant5ParamsFormatsValue?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant5ParamsFormatsValue? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant5ParamsFormatsValueExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsReferencesType.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsReferencesType.g.cs
new file mode 100644
index 00000000..3e275e58
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsReferencesType.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant5ParamsReferencesTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant5ParamsReferencesType Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant5ParamsReferencesTypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant5ParamsReferencesType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant5ParamsReferencesType);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant5ParamsReferencesType value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant5ParamsReferencesTypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsReferencesTypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsReferencesTypeNullable.g.cs
new file mode 100644
index 00000000..2a29ac3e
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsReferencesTypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant5ParamsReferencesTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant5ParamsReferencesType? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant5ParamsReferencesTypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant5ParamsReferencesType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant5ParamsReferencesType?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant5ParamsReferencesType? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant5ParamsReferencesTypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsSourcesType.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsSourcesType.g.cs
new file mode 100644
index 00000000..2d0780ab
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsSourcesType.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant5ParamsSourcesTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant5ParamsSourcesType Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant5ParamsSourcesTypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant5ParamsSourcesType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant5ParamsSourcesType);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant5ParamsSourcesType value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant5ParamsSourcesTypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsSourcesTypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsSourcesTypeNullable.g.cs
new file mode 100644
index 00000000..332b3250
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsSourcesTypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant5ParamsSourcesTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant5ParamsSourcesType? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant5ParamsSourcesTypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant5ParamsSourcesType)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant5ParamsSourcesType?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant5ParamsSourcesType? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant5ParamsSourcesTypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsSourcesValue.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsSourcesValue.g.cs
new file mode 100644
index 00000000..a719e2e2
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsSourcesValue.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant5ParamsSourcesValueJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant5ParamsSourcesValue Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant5ParamsSourcesValueExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant5ParamsSourcesValue);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant5ParamsSourcesValue value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant5ParamsSourcesValueExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsSourcesValueNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsSourcesValueNullable.g.cs
new file mode 100644
index 00000000..29ac7621
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5ParamsSourcesValueNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant5ParamsSourcesValueNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant5ParamsSourcesValue? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant5ParamsSourcesValueExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant5ParamsSourcesValue?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant5ParamsSourcesValue? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant5ParamsSourcesValueExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5Type.g.cs
new file mode 100644
index 00000000..c3881b05
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant5TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant5Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant5TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant5Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant5Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant5Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant5TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5TypeNullable.g.cs
new file mode 100644
index 00000000..ebeefcbc
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelInputV2Variant5TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelInputV2Variant5TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelInputV2Variant5Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelInputV2Variant5TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelInputV2Variant5Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelInputV2Variant5Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelInputV2Variant5Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelInputV2Variant5TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2.g.cs
new file mode 100644
index 00000000..ee59f117
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2.g.cs
@@ -0,0 +1,501 @@
+#nullable enable
+#pragma warning disable CS0618 // Type or member is obsolete
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public class ModelOutputV2JsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2 Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ options = options ?? throw new global::System.ArgumentNullException(nameof(options));
+ var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set.");
+
+ using var __jsonDocument = global::System.Text.Json.JsonDocument.ParseValue(ref reader);
+ var __rawJson = __jsonDocument.RootElement.GetRawText();
+ var __jsonProps = new global::System.Collections.Generic.HashSet();
+ if (__jsonDocument.RootElement.ValueKind == global::System.Text.Json.JsonValueKind.Object)
+ {
+ foreach (var __jsonProp in __jsonDocument.RootElement.EnumerateObject())
+ {
+ __jsonProps.Add(__jsonProp.Name);
+ if (__jsonProp.Value.ValueKind == global::System.Text.Json.JsonValueKind.Object)
+ {
+ foreach (var __nestedJsonProp in __jsonProp.Value.EnumerateObject())
+ {
+ __jsonProps.Add(__jsonProp.Name + "." + __nestedJsonProp.Name);
+ }
+ }
+
+ }
+ }
+
+ var __score0 = 0;
+ if (__jsonProps.Contains("capacity")) __score0++;
+ if (__jsonProps.Contains("max_length")) __score0++;
+ if (__jsonProps.Contains("max_length.unit")) __score0++;
+ if (__jsonProps.Contains("max_length.value")) __score0++;
+ if (__jsonProps.Contains("params")) __score0++;
+ if (__jsonProps.Contains("passthrough_parameters")) __score0++;
+ if (__jsonProps.Contains("pricing")) __score0++;
+ if (__jsonProps.Contains("streaming")) __score0++;
+ if (__jsonProps.Contains("type")) __score0++;
+ var __score1 = 0;
+ if (__jsonProps.Contains("capacity")) __score1++;
+ if (__jsonProps.Contains("params")) __score1++;
+ if (__jsonProps.Contains("passthrough_parameters")) __score1++;
+ if (__jsonProps.Contains("pricing")) __score1++;
+ if (__jsonProps.Contains("streaming")) __score1++;
+ if (__jsonProps.Contains("type")) __score1++;
+ var __score2 = 0;
+ if (__jsonProps.Contains("capacity")) __score2++;
+ if (__jsonProps.Contains("params")) __score2++;
+ if (__jsonProps.Contains("passthrough_parameters")) __score2++;
+ if (__jsonProps.Contains("pricing")) __score2++;
+ if (__jsonProps.Contains("streaming")) __score2++;
+ if (__jsonProps.Contains("type")) __score2++;
+ var __score3 = 0;
+ if (__jsonProps.Contains("capacity")) __score3++;
+ if (__jsonProps.Contains("params")) __score3++;
+ if (__jsonProps.Contains("passthrough_parameters")) __score3++;
+ if (__jsonProps.Contains("pricing")) __score3++;
+ if (__jsonProps.Contains("streaming")) __score3++;
+ if (__jsonProps.Contains("type")) __score3++;
+ var __score4 = 0;
+ if (__jsonProps.Contains("capacity")) __score4++;
+ if (__jsonProps.Contains("params")) __score4++;
+ if (__jsonProps.Contains("passthrough_parameters")) __score4++;
+ if (__jsonProps.Contains("pricing")) __score4++;
+ if (__jsonProps.Contains("streaming")) __score4++;
+ if (__jsonProps.Contains("type")) __score4++;
+ var __score5 = 0;
+ if (__jsonProps.Contains("capacity")) __score5++;
+ if (__jsonProps.Contains("params")) __score5++;
+ if (__jsonProps.Contains("passthrough_parameters")) __score5++;
+ if (__jsonProps.Contains("pricing")) __score5++;
+ if (__jsonProps.Contains("type")) __score5++;
+ var __score6 = 0;
+ if (__jsonProps.Contains("capacity")) __score6++;
+ if (__jsonProps.Contains("params")) __score6++;
+ if (__jsonProps.Contains("passthrough_parameters")) __score6++;
+ if (__jsonProps.Contains("pricing")) __score6++;
+ if (__jsonProps.Contains("type")) __score6++;
+ var __score7 = 0;
+ if (__jsonProps.Contains("capacity")) __score7++;
+ if (__jsonProps.Contains("params")) __score7++;
+ if (__jsonProps.Contains("passthrough_parameters")) __score7++;
+ if (__jsonProps.Contains("pricing")) __score7++;
+ if (__jsonProps.Contains("type")) __score7++;
+ var __score8 = 0;
+ if (__jsonProps.Contains("capacity")) __score8++;
+ if (__jsonProps.Contains("params")) __score8++;
+ if (__jsonProps.Contains("passthrough_parameters")) __score8++;
+ if (__jsonProps.Contains("pricing")) __score8++;
+ if (__jsonProps.Contains("streaming")) __score8++;
+ if (__jsonProps.Contains("type")) __score8++;
+ var __bestScore = 0;
+ var __bestIndex = -1;
+ if (__score0 > __bestScore) { __bestScore = __score0; __bestIndex = 0; }
+ if (__score1 > __bestScore) { __bestScore = __score1; __bestIndex = 1; }
+ if (__score2 > __bestScore) { __bestScore = __score2; __bestIndex = 2; }
+ if (__score3 > __bestScore) { __bestScore = __score3; __bestIndex = 3; }
+ if (__score4 > __bestScore) { __bestScore = __score4; __bestIndex = 4; }
+ if (__score5 > __bestScore) { __bestScore = __score5; __bestIndex = 5; }
+ if (__score6 > __bestScore) { __bestScore = __score6; __bestIndex = 6; }
+ if (__score7 > __bestScore) { __bestScore = __score7; __bestIndex = 7; }
+ if (__score8 > __bestScore) { __bestScore = __score8; __bestIndex = 8; }
+
+ global::OpenRouter.ModelOutputV2Variant1? modelOutputV2Variant1 = default;
+ global::OpenRouter.ModelOutputV2Variant2? modelOutputV2Variant2 = default;
+ global::OpenRouter.ModelOutputV2Variant3? modelOutputV2Variant3 = default;
+ global::OpenRouter.ModelOutputV2Variant4? modelOutputV2Variant4 = default;
+ global::OpenRouter.ModelOutputV2Variant5? modelOutputV2Variant5 = default;
+ global::OpenRouter.ModelOutputV2Variant6? modelOutputV2Variant6 = default;
+ global::OpenRouter.ModelOutputV2Variant7? modelOutputV2Variant7 = default;
+ global::OpenRouter.ModelOutputV2Variant8? modelOutputV2Variant8 = default;
+ global::OpenRouter.ModelOutputV2Variant9? modelOutputV2Variant9 = default;
+ if (__bestIndex >= 0)
+ {
+ if (__bestIndex == 0)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant1).Name}");
+ modelOutputV2Variant1 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ else if (__bestIndex == 1)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant2).Name}");
+ modelOutputV2Variant2 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ else if (__bestIndex == 2)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant3), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant3).Name}");
+ modelOutputV2Variant3 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ else if (__bestIndex == 3)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant4), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant4).Name}");
+ modelOutputV2Variant4 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ else if (__bestIndex == 4)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant5), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant5).Name}");
+ modelOutputV2Variant5 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ else if (__bestIndex == 5)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant6), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant6).Name}");
+ modelOutputV2Variant6 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ else if (__bestIndex == 6)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant7), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant7).Name}");
+ modelOutputV2Variant7 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ else if (__bestIndex == 7)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant8), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant8).Name}");
+ modelOutputV2Variant8 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ else if (__bestIndex == 8)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant9), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant9).Name}");
+ modelOutputV2Variant9 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ }
+
+ if (modelOutputV2Variant1 == null && modelOutputV2Variant2 == null && modelOutputV2Variant3 == null && modelOutputV2Variant4 == null && modelOutputV2Variant5 == null && modelOutputV2Variant6 == null && modelOutputV2Variant7 == null && modelOutputV2Variant8 == null && modelOutputV2Variant9 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant1).Name}");
+ modelOutputV2Variant1 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ if (modelOutputV2Variant1 == null && modelOutputV2Variant2 == null && modelOutputV2Variant3 == null && modelOutputV2Variant4 == null && modelOutputV2Variant5 == null && modelOutputV2Variant6 == null && modelOutputV2Variant7 == null && modelOutputV2Variant8 == null && modelOutputV2Variant9 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant2).Name}");
+ modelOutputV2Variant2 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ if (modelOutputV2Variant1 == null && modelOutputV2Variant2 == null && modelOutputV2Variant3 == null && modelOutputV2Variant4 == null && modelOutputV2Variant5 == null && modelOutputV2Variant6 == null && modelOutputV2Variant7 == null && modelOutputV2Variant8 == null && modelOutputV2Variant9 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant3), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant3).Name}");
+ modelOutputV2Variant3 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ if (modelOutputV2Variant1 == null && modelOutputV2Variant2 == null && modelOutputV2Variant3 == null && modelOutputV2Variant4 == null && modelOutputV2Variant5 == null && modelOutputV2Variant6 == null && modelOutputV2Variant7 == null && modelOutputV2Variant8 == null && modelOutputV2Variant9 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant4), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant4).Name}");
+ modelOutputV2Variant4 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ if (modelOutputV2Variant1 == null && modelOutputV2Variant2 == null && modelOutputV2Variant3 == null && modelOutputV2Variant4 == null && modelOutputV2Variant5 == null && modelOutputV2Variant6 == null && modelOutputV2Variant7 == null && modelOutputV2Variant8 == null && modelOutputV2Variant9 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant5), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant5).Name}");
+ modelOutputV2Variant5 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ if (modelOutputV2Variant1 == null && modelOutputV2Variant2 == null && modelOutputV2Variant3 == null && modelOutputV2Variant4 == null && modelOutputV2Variant5 == null && modelOutputV2Variant6 == null && modelOutputV2Variant7 == null && modelOutputV2Variant8 == null && modelOutputV2Variant9 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant6), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant6).Name}");
+ modelOutputV2Variant6 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ if (modelOutputV2Variant1 == null && modelOutputV2Variant2 == null && modelOutputV2Variant3 == null && modelOutputV2Variant4 == null && modelOutputV2Variant5 == null && modelOutputV2Variant6 == null && modelOutputV2Variant7 == null && modelOutputV2Variant8 == null && modelOutputV2Variant9 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant7), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant7).Name}");
+ modelOutputV2Variant7 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ if (modelOutputV2Variant1 == null && modelOutputV2Variant2 == null && modelOutputV2Variant3 == null && modelOutputV2Variant4 == null && modelOutputV2Variant5 == null && modelOutputV2Variant6 == null && modelOutputV2Variant7 == null && modelOutputV2Variant8 == null && modelOutputV2Variant9 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant8), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant8).Name}");
+ modelOutputV2Variant8 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ if (modelOutputV2Variant1 == null && modelOutputV2Variant2 == null && modelOutputV2Variant3 == null && modelOutputV2Variant4 == null && modelOutputV2Variant5 == null && modelOutputV2Variant6 == null && modelOutputV2Variant7 == null && modelOutputV2Variant8 == null && modelOutputV2Variant9 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant9), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant9).Name}");
+ modelOutputV2Variant9 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ var __value = new global::OpenRouter.ModelOutputV2(
+ modelOutputV2Variant1,
+
+ modelOutputV2Variant2,
+
+ modelOutputV2Variant3,
+
+ modelOutputV2Variant4,
+
+ modelOutputV2Variant5,
+
+ modelOutputV2Variant6,
+
+ modelOutputV2Variant7,
+
+ modelOutputV2Variant8,
+
+ modelOutputV2Variant9
+ );
+
+ return __value;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2 value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ options = options ?? throw new global::System.ArgumentNullException(nameof(options));
+ var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set.");
+
+ if (value.IsModelOutputV2Variant1)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant1).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickModelOutputV2Variant1(), typeInfo);
+ }
+ else if (value.IsModelOutputV2Variant2)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant2).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickModelOutputV2Variant2(), typeInfo);
+ }
+ else if (value.IsModelOutputV2Variant3)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant3), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant3).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickModelOutputV2Variant3(), typeInfo);
+ }
+ else if (value.IsModelOutputV2Variant4)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant4), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant4).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickModelOutputV2Variant4(), typeInfo);
+ }
+ else if (value.IsModelOutputV2Variant5)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant5), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant5).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickModelOutputV2Variant5(), typeInfo);
+ }
+ else if (value.IsModelOutputV2Variant6)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant6), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant6).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickModelOutputV2Variant6(), typeInfo);
+ }
+ else if (value.IsModelOutputV2Variant7)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant7), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant7).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickModelOutputV2Variant7(), typeInfo);
+ }
+ else if (value.IsModelOutputV2Variant8)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant8), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant8).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickModelOutputV2Variant8(), typeInfo);
+ }
+ else if (value.IsModelOutputV2Variant9)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.ModelOutputV2Variant9), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.ModelOutputV2Variant9).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickModelOutputV2Variant9(), typeInfo);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant1Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant1Type.g.cs
new file mode 100644
index 00000000..8e044aed
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant1Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant1TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant1Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant1TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant1Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant1Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant1Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant1TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant1TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant1TypeNullable.g.cs
new file mode 100644
index 00000000..d3c65cbe
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant1TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant1TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant1Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant1TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant1Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant1Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant1Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant1TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant2Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant2Type.g.cs
new file mode 100644
index 00000000..b16f4c94
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant2Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant2TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant2Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant2TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant2Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant2Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant2Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant2TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant2TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant2TypeNullable.g.cs
new file mode 100644
index 00000000..3cb2af89
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant2TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant2TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant2Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant2TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant2Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant2Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant2Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant2TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant3Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant3Type.g.cs
new file mode 100644
index 00000000..aba85f02
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant3Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant3TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant3Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant3TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant3Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant3Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant3Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant3TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant3TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant3TypeNullable.g.cs
new file mode 100644
index 00000000..e6f12b78
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant3TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant3TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant3Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant3TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant3Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant3Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant3Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant3TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant4Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant4Type.g.cs
new file mode 100644
index 00000000..f6900bde
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant4Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant4TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant4Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant4TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant4Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant4Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant4Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant4TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant4TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant4TypeNullable.g.cs
new file mode 100644
index 00000000..17246381
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant4TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant4TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant4Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant4TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant4Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant4Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant4Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant4TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant5Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant5Type.g.cs
new file mode 100644
index 00000000..5e399300
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant5Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant5TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant5Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant5TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant5Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant5Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant5Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant5TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant5TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant5TypeNullable.g.cs
new file mode 100644
index 00000000..72f36dac
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant5TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant5TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant5Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant5TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant5Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant5Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant5Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant5TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant6Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant6Type.g.cs
new file mode 100644
index 00000000..0d995a9f
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant6Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant6TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant6Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant6TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant6Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant6Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant6Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant6TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant6TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant6TypeNullable.g.cs
new file mode 100644
index 00000000..bbc0cdad
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant6TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant6TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant6Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant6TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant6Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant6Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant6Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant6TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant7Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant7Type.g.cs
new file mode 100644
index 00000000..891f7ad3
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant7Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant7TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant7Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant7TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant7Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant7Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant7Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant7TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant7TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant7TypeNullable.g.cs
new file mode 100644
index 00000000..c12b4679
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant7TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant7TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant7Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant7TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant7Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant7Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant7Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant7TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant8Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant8Type.g.cs
new file mode 100644
index 00000000..a25d2cf0
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant8Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant8TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant8Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant8TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant8Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant8Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant8Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant8TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant8TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant8TypeNullable.g.cs
new file mode 100644
index 00000000..21bdaba1
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant8TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant8TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant8Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant8TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant8Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant8Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant8Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant8TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant9Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant9Type.g.cs
new file mode 100644
index 00000000..6fb848f1
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant9Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant9TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant9Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant9TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant9Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant9Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant9Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant9TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant9TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant9TypeNullable.g.cs
new file mode 100644
index 00000000..b3eca3fd
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelOutputV2Variant9TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelOutputV2Variant9TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelOutputV2Variant9Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelOutputV2Variant9TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.ModelOutputV2Variant9Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelOutputV2Variant9Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelOutputV2Variant9Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelOutputV2Variant9TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2Input.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2Input.g.cs
new file mode 100644
index 00000000..cebac38f
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2Input.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelV2InputJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelV2Input Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelV2InputExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelV2Input);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelV2Input value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelV2InputExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2InputNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2InputNullable.g.cs
new file mode 100644
index 00000000..9d30fe2d
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2InputNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelV2InputNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelV2Input? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelV2InputExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelV2Input?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelV2Input? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelV2InputExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2Kind.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2Kind.g.cs
new file mode 100644
index 00000000..42171a3d
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2Kind.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelV2KindJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelV2Kind Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelV2KindExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelV2Kind);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelV2Kind value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelV2KindExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2KindNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2KindNullable.g.cs
new file mode 100644
index 00000000..5f3eb304
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2KindNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelV2KindNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelV2Kind? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelV2KindExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelV2Kind?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelV2Kind? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelV2KindExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2Output.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2Output.g.cs
new file mode 100644
index 00000000..17326a97
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2Output.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelV2OutputJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelV2Output Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelV2OutputExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelV2Output);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelV2Output value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelV2OutputExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2OutputNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2OutputNullable.g.cs
new file mode 100644
index 00000000..ed0933f8
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2OutputNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelV2OutputNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelV2Output? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelV2OutputExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelV2Output?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelV2Output? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelV2OutputExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2Variant.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2Variant.g.cs
new file mode 100644
index 00000000..ea6fbb23
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2Variant.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelV2VariantJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelV2Variant Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelV2VariantExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelV2Variant);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelV2Variant value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ModelV2VariantExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2VariantNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2VariantNullable.g.cs
new file mode 100644
index 00000000..497a9807
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ModelV2VariantNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ModelV2VariantNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ModelV2Variant? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ModelV2VariantExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ModelV2Variant?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ModelV2Variant? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ModelV2VariantExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2.g.cs
new file mode 100644
index 00000000..00223adf
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2.g.cs
@@ -0,0 +1,146 @@
+#nullable enable
+#pragma warning disable CS0618 // Type or member is obsolete
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public class OutputCapacityEntryV2JsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.OutputCapacityEntryV2 Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ options = options ?? throw new global::System.ArgumentNullException(nameof(options));
+ var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set.");
+
+ using var __jsonDocument = global::System.Text.Json.JsonDocument.ParseValue(ref reader);
+ var __rawJson = __jsonDocument.RootElement.GetRawText();
+ var __jsonProps = new global::System.Collections.Generic.HashSet();
+ if (__jsonDocument.RootElement.ValueKind == global::System.Text.Json.JsonValueKind.Object)
+ {
+ foreach (var __jsonProp in __jsonDocument.RootElement.EnumerateObject())
+ {
+ __jsonProps.Add(__jsonProp.Name);
+
+ }
+ }
+
+ var __score0 = 0;
+ if (__jsonProps.Contains("per")) __score0++;
+ if (__jsonProps.Contains("type")) __score0++;
+ if (__jsonProps.Contains("unit")) __score0++;
+ if (__jsonProps.Contains("value")) __score0++;
+ var __score1 = 0;
+ if (__jsonProps.Contains("type")) __score1++;
+ if (__jsonProps.Contains("unit")) __score1++;
+ if (__jsonProps.Contains("value")) __score1++;
+ var __bestScore = 0;
+ var __bestIndex = -1;
+ if (__score0 > __bestScore) { __bestScore = __score0; __bestIndex = 0; }
+ if (__score1 > __bestScore) { __bestScore = __score1; __bestIndex = 1; }
+
+ global::OpenRouter.OutputCapacityEntryV2Variant1? outputCapacityEntryV2Variant1 = default;
+ global::OpenRouter.OutputCapacityEntryV2Variant2? outputCapacityEntryV2Variant2 = default;
+ if (__bestIndex >= 0)
+ {
+ if (__bestIndex == 0)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.OutputCapacityEntryV2Variant1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.OutputCapacityEntryV2Variant1).Name}");
+ outputCapacityEntryV2Variant1 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ else if (__bestIndex == 1)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.OutputCapacityEntryV2Variant2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.OutputCapacityEntryV2Variant2).Name}");
+ outputCapacityEntryV2Variant2 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+ }
+
+ if (outputCapacityEntryV2Variant1 == null && outputCapacityEntryV2Variant2 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.OutputCapacityEntryV2Variant1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.OutputCapacityEntryV2Variant1).Name}");
+ outputCapacityEntryV2Variant1 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ if (outputCapacityEntryV2Variant1 == null && outputCapacityEntryV2Variant2 == null)
+ {
+ try
+ {
+
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.OutputCapacityEntryV2Variant2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.OutputCapacityEntryV2Variant2).Name}");
+ outputCapacityEntryV2Variant2 = global::System.Text.Json.JsonSerializer.Deserialize(__rawJson, typeInfo);
+ }
+ catch (global::System.Text.Json.JsonException)
+ {
+ }
+ catch (global::System.InvalidOperationException)
+ {
+ }
+ }
+
+ var __value = new global::OpenRouter.OutputCapacityEntryV2(
+ outputCapacityEntryV2Variant1,
+
+ outputCapacityEntryV2Variant2
+ );
+
+ return __value;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.OutputCapacityEntryV2 value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ options = options ?? throw new global::System.ArgumentNullException(nameof(options));
+ var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set.");
+
+ if (value.IsOutputCapacityEntryV2Variant1)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.OutputCapacityEntryV2Variant1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.OutputCapacityEntryV2Variant1).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickOutputCapacityEntryV2Variant1(), typeInfo);
+ }
+ else if (value.IsOutputCapacityEntryV2Variant2)
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::OpenRouter.OutputCapacityEntryV2Variant2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ??
+ throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::OpenRouter.OutputCapacityEntryV2Variant2).Name}");
+ global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickOutputCapacityEntryV2Variant2(), typeInfo);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.STTRequestProviderDataCollection.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant1Per.g.cs
similarity index 68%
rename from src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.STTRequestProviderDataCollection.g.cs
rename to src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant1Per.g.cs
index 050c68a9..05bb27b9 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.STTRequestProviderDataCollection.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant1Per.g.cs
@@ -3,10 +3,10 @@
namespace OpenRouter.JsonConverters
{
///
- public sealed class STTRequestProviderDataCollectionJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ public sealed class OutputCapacityEntryV2Variant1PerJsonConverter : global::System.Text.Json.Serialization.JsonConverter
{
///
- public override global::OpenRouter.STTRequestProviderDataCollection Read(
+ public override global::OpenRouter.OutputCapacityEntryV2Variant1Per Read(
ref global::System.Text.Json.Utf8JsonReader reader,
global::System.Type typeToConvert,
global::System.Text.Json.JsonSerializerOptions options)
@@ -18,14 +18,14 @@ public sealed class STTRequestProviderDataCollectionJsonConverter : global::Syst
var stringValue = reader.GetString();
if (stringValue != null)
{
- return global::OpenRouter.STTRequestProviderDataCollectionExtensions.ToEnum(stringValue) ?? default;
+ return global::OpenRouter.OutputCapacityEntryV2Variant1PerExtensions.ToEnum(stringValue) ?? default;
}
break;
}
case global::System.Text.Json.JsonTokenType.Null:
{
- return default(global::OpenRouter.STTRequestProviderDataCollection);
+ return default(global::OpenRouter.OutputCapacityEntryV2Variant1Per);
}
default:
throw new global::System.ArgumentOutOfRangeException(nameof(reader));
@@ -37,12 +37,12 @@ public sealed class STTRequestProviderDataCollectionJsonConverter : global::Syst
///
public override void Write(
global::System.Text.Json.Utf8JsonWriter writer,
- global::OpenRouter.STTRequestProviderDataCollection value,
+ global::OpenRouter.OutputCapacityEntryV2Variant1Per value,
global::System.Text.Json.JsonSerializerOptions options)
{
writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
- writer.WriteStringValue(global::OpenRouter.STTRequestProviderDataCollectionExtensions.ToValueString(value));
+ writer.WriteStringValue(global::OpenRouter.OutputCapacityEntryV2Variant1PerExtensions.ToValueString(value));
}
}
}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.STTRequestProviderDataCollectionNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant1PerNullable.g.cs
similarity index 70%
rename from src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.STTRequestProviderDataCollectionNullable.g.cs
rename to src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant1PerNullable.g.cs
index 4f0676ed..edd75aaf 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.STTRequestProviderDataCollectionNullable.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant1PerNullable.g.cs
@@ -3,10 +3,10 @@
namespace OpenRouter.JsonConverters
{
///
- public sealed class STTRequestProviderDataCollectionNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ public sealed class OutputCapacityEntryV2Variant1PerNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
{
///
- public override global::OpenRouter.STTRequestProviderDataCollection? Read(
+ public override global::OpenRouter.OutputCapacityEntryV2Variant1Per? Read(
ref global::System.Text.Json.Utf8JsonReader reader,
global::System.Type typeToConvert,
global::System.Text.Json.JsonSerializerOptions options)
@@ -18,14 +18,14 @@ public sealed class STTRequestProviderDataCollectionNullableJsonConverter : glob
var stringValue = reader.GetString();
if (stringValue != null)
{
- return global::OpenRouter.STTRequestProviderDataCollectionExtensions.ToEnum(stringValue);
+ return global::OpenRouter.OutputCapacityEntryV2Variant1PerExtensions.ToEnum(stringValue);
}
break;
}
case global::System.Text.Json.JsonTokenType.Null:
{
- return default(global::OpenRouter.STTRequestProviderDataCollection?);
+ return default(global::OpenRouter.OutputCapacityEntryV2Variant1Per?);
}
default:
throw new global::System.ArgumentOutOfRangeException(nameof(reader));
@@ -37,7 +37,7 @@ public sealed class STTRequestProviderDataCollectionNullableJsonConverter : glob
///
public override void Write(
global::System.Text.Json.Utf8JsonWriter writer,
- global::OpenRouter.STTRequestProviderDataCollection? value,
+ global::OpenRouter.OutputCapacityEntryV2Variant1Per? value,
global::System.Text.Json.JsonSerializerOptions options)
{
writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
@@ -48,7 +48,7 @@ public override void Write(
}
else
{
- writer.WriteStringValue(global::OpenRouter.STTRequestProviderDataCollectionExtensions.ToValueString(value.Value));
+ writer.WriteStringValue(global::OpenRouter.OutputCapacityEntryV2Variant1PerExtensions.ToValueString(value.Value));
}
}
}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant1Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant1Type.g.cs
new file mode 100644
index 00000000..871c01ff
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant1Type.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class OutputCapacityEntryV2Variant1TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.OutputCapacityEntryV2Variant1Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.OutputCapacityEntryV2Variant1TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.OutputCapacityEntryV2Variant1Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.OutputCapacityEntryV2Variant1Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.OutputCapacityEntryV2Variant1TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant1TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant1TypeNullable.g.cs
new file mode 100644
index 00000000..ca53b337
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant1TypeNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class OutputCapacityEntryV2Variant1TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.OutputCapacityEntryV2Variant1Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.OutputCapacityEntryV2Variant1TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.OutputCapacityEntryV2Variant1Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.OutputCapacityEntryV2Variant1Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.OutputCapacityEntryV2Variant1TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant2Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant2Type.g.cs
new file mode 100644
index 00000000..a4272105
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant2Type.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class OutputCapacityEntryV2Variant2TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.OutputCapacityEntryV2Variant2Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.OutputCapacityEntryV2Variant2TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.OutputCapacityEntryV2Variant2Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.OutputCapacityEntryV2Variant2Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.OutputCapacityEntryV2Variant2Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.OutputCapacityEntryV2Variant2TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant2TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant2TypeNullable.g.cs
new file mode 100644
index 00000000..8d8302f7
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputCapacityEntryV2Variant2TypeNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class OutputCapacityEntryV2Variant2TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.OutputCapacityEntryV2Variant2Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.OutputCapacityEntryV2Variant2TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.OutputCapacityEntryV2Variant2Type)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.OutputCapacityEntryV2Variant2Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.OutputCapacityEntryV2Variant2Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.OutputCapacityEntryV2Variant2TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputPricingEntryV2Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputPricingEntryV2Type.g.cs
new file mode 100644
index 00000000..176a766e
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputPricingEntryV2Type.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class OutputPricingEntryV2TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.OutputPricingEntryV2Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.OutputPricingEntryV2TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.OutputPricingEntryV2Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.OutputPricingEntryV2Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.OutputPricingEntryV2TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputPricingEntryV2TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputPricingEntryV2TypeNullable.g.cs
new file mode 100644
index 00000000..4f237564
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputPricingEntryV2TypeNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class OutputPricingEntryV2TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.OutputPricingEntryV2Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.OutputPricingEntryV2TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.OutputPricingEntryV2Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.OutputPricingEntryV2Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.OutputPricingEntryV2TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputPricingUnitV2.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputPricingUnitV2.g.cs
new file mode 100644
index 00000000..28541ae3
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputPricingUnitV2.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class OutputPricingUnitV2JsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.OutputPricingUnitV2 Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.OutputPricingUnitV2Extensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.OutputPricingUnitV2);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.OutputPricingUnitV2 value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.OutputPricingUnitV2Extensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputPricingUnitV2Nullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputPricingUnitV2Nullable.g.cs
new file mode 100644
index 00000000..01b66185
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.OutputPricingUnitV2Nullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class OutputPricingUnitV2NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.OutputPricingUnitV2? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.OutputPricingUnitV2Extensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.OutputPricingUnitV2?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.OutputPricingUnitV2? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.OutputPricingUnitV2Extensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ParameterDescriptorV2Type.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ParameterDescriptorV2Type.g.cs
new file mode 100644
index 00000000..0a18cf68
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ParameterDescriptorV2Type.g.cs
@@ -0,0 +1,48 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ParameterDescriptorV2TypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ParameterDescriptorV2Type Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ParameterDescriptorV2TypeExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ParameterDescriptorV2Type);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ParameterDescriptorV2Type value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.ParameterDescriptorV2TypeExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ParameterDescriptorV2TypeNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ParameterDescriptorV2TypeNullable.g.cs
new file mode 100644
index 00000000..ebfc479c
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ParameterDescriptorV2TypeNullable.g.cs
@@ -0,0 +1,55 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class ParameterDescriptorV2TypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.ParameterDescriptorV2Type? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.ParameterDescriptorV2TypeExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.ParameterDescriptorV2Type?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.ParameterDescriptorV2Type? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.ParameterDescriptorV2TypeExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.PricingPredicateV2.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.PricingPredicateV2.g.cs
new file mode 100644
index 00000000..668fdd75
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.PricingPredicateV2.g.cs
@@ -0,0 +1,228 @@
+#nullable enable
+#pragma warning disable CS0618 // Type or member is obsolete
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public class PricingPredicateV2JsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.PricingPredicateV2 Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ options = options ?? throw new global::System.ArgumentNullException(nameof(options));
+ var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set.");
+
+ using var __jsonDocument = global::System.Text.Json.JsonDocument.ParseValue(ref reader);
+ var __rawJson = __jsonDocument.RootElement.GetRawText();
+ var __jsonProps = new global::System.Collections.Generic.HashSet();
+ if (__jsonDocument.RootElement.ValueKind == global::System.Text.Json.JsonValueKind.Object)
+ {
+ foreach (var __jsonProp in __jsonDocument.RootElement.EnumerateObject())
+ {
+ __jsonProps.Add(__jsonProp.Name);
+
+ }
+ }
+
+ var __score0 = 0;
+ var __score1 = 0;
+ if (__jsonProps.Contains("allOf")) __score1++;
+ var __score2 = 0;
+ if (__jsonProps.Contains("anyOf")) __score2++;
+ var __score3 = 0;
+ if (__jsonProps.Contains("not")) __score3++;
+ var __bestScore = 0;
+ var __bestIndex = -1;
+ if (__score0 > __bestScore) { __bestScore = __score0; __bestIndex = 0; }
+ if (__score1 > __bestScore) { __bestScore = __score1; __bestIndex = 1; }
+ if (__score2 > __bestScore) { __bestScore = __score2; __bestIndex = 2; }
+ if (__score3 > __bestScore) { __bestScore = __score3; __bestIndex = 3; }
+
+ object? pricingPredicateV2Variant1 = default;
+ global::OpenRouter.PricingPredicateV2Variant2? pricingPredicateV2Variant2 = default;
+ global::OpenRouter.PricingPredicateV2Variant3? pricingPredicateV2Variant3 = default;
+ global::OpenRouter.PricingPredicateV2Variant4? pricingPredicateV2Variant4 = default;
+ if (__bestIndex >= 0)
+ {
+ if (__bestIndex == 0)
+ {
+ try
+ {
+ var typeInfo = typeInfoResolver.GetTypeInfo(typeof(object), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo