= ({
: "No Limit"}
Budget Reset: {info.budget_duration || "Never"}
+ {modelMaxBudgetToEntries(info.model_max_budget as ModelMaxBudget | null | undefined).map(
+ ({ model, budgetLimit, timePeriod }) => {
+ const spent = model === null ? undefined : info.model_max_budget_usage?.[model]?.current_spend;
+ return (
+
+ Per-Model Budget ({model}): ${budgetLimit ?? "?"} per {timePeriod}
+ {spent !== undefined && `, spent $${spent}`}
+
+ );
+ },
+ )}
{info.metadata?.soft_budget_alerting_emails &&
Array.isArray(info.metadata.soft_budget_alerting_emails) &&
info.metadata.soft_budget_alerting_emails.length > 0 && (
diff --git a/ui/litellm-dashboard/src/lib/http/schema.d.ts b/ui/litellm-dashboard/src/lib/http/schema.d.ts
index 7ca30d5c4f0..f7a26a26370 100644
--- a/ui/litellm-dashboard/src/lib/http/schema.d.ts
+++ b/ui/litellm-dashboard/src/lib/http/schema.d.ts
@@ -15626,6 +15626,7 @@ export interface paths {
* - prompts: Optional[List[str]] - List of prompts that the team is allowed to use.
* - organization_id: Optional[str] - The organization id of the team. Default is None. Create via `/organization/new`.
* - model_aliases: Optional[dict] - Model aliases for the team. [Docs](https://docs.litellm.ai/docs/proxy/team_based_routing#create-team-with-model-alias)
+ * - model_max_budget: Optional[dict] - Per-model max budget every key on the team inherits unless the key sets its own for that model. Example: {"gpt-4o": {"max_budget": 10, "budget_duration": "1d"}}
* - guardrails: Optional[List[str]] - Guardrails for the team. [Docs](https://docs.litellm.ai/docs/proxy/guardrails)
* - policies: Optional[List[str]] - Policies for the team. [Docs](https://docs.litellm.ai/docs/proxy/guardrails/guardrail_policies)
* - disable_global_guardrails: Optional[bool] - Whether to disable global guardrails for the key.
@@ -15852,6 +15853,7 @@ export interface paths {
* - tags: Optional[List[str]] - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing).
* - organization_id: Optional[str] - The organization id of the team. Default is None. Create via `/organization/new`.
* - model_aliases: Optional[dict] - Model aliases for the team. [Docs](https://docs.litellm.ai/docs/proxy/team_based_routing#create-team-with-model-alias)
+ * - model_max_budget: Optional[dict] - Per-model max budget every key on the team inherits unless the key sets its own for that model. Example: {"gpt-4o": {"max_budget": 10, "budget_duration": "1d"}}
* - guardrails: Optional[List[str]] - Guardrails for the team. [Docs](https://docs.litellm.ai/docs/proxy/guardrails)
* - policies: Optional[List[str]] - Policies for the team. [Docs](https://docs.litellm.ai/docs/proxy/guardrails/guardrail_policies)
* - disable_global_guardrails: Optional[bool] - Whether to disable global guardrails for the key.
@@ -33328,6 +33330,13 @@ export interface components {
model_aliases?: {
[key: string]: unknown;
} | null;
+ /**
+ * Model Max Budget
+ * @description Max budget per model for every key on the team, overridable per key (e.g. {'gpt-4o': {'max_budget': 10, 'budget_duration': '1d'}})
+ */
+ model_max_budget?: {
+ [key: string]: components["schemas"]["BudgetConfig"];
+ } | null;
/** Model Rpm Limit */
model_rpm_limit?: {
[key: string]: number;
@@ -34086,6 +34095,13 @@ export interface components {
model_aliases?: {
[key: string]: unknown;
} | null;
+ /**
+ * Model Max Budget
+ * @description Max budget per model for every key on the team, overridable per key (e.g. {'gpt-4o': {'max_budget': 10, 'budget_duration': '1d'}})
+ */
+ model_max_budget?: {
+ [key: string]: components["schemas"]["BudgetConfig"];
+ } | null;
/** Model Rpm Limit */
model_rpm_limit?: {
[key: string]: number;
@@ -39225,6 +39241,13 @@ export interface components {
model_aliases?: {
[key: string]: unknown;
} | null;
+ /**
+ * Model Max Budget
+ * @description Max budget per model for every key on the team, overridable per key (e.g. {'gpt-4o': {'max_budget': 10, 'budget_duration': '1d'}})
+ */
+ model_max_budget?: {
+ [key: string]: components["schemas"]["BudgetConfig"];
+ } | null;
/** Model Rpm Limit */
model_rpm_limit?: {
[key: string]: number;
@@ -39936,6 +39959,10 @@ export interface components {
team_model_aliases?: {
[key: string]: unknown;
} | null;
+ /** Team Model Max Budget */
+ team_model_max_budget?: {
+ [key: string]: unknown;
+ } | null;
/**
* Team Models
* @default []