diff --git a/ui/litellm-dashboard/src/components/add_model/handle_add_model_submit.tsx b/ui/litellm-dashboard/src/components/add_model/handle_add_model_submit.tsx index 8fa5ffd56a..1d8c980c5a 100644 --- a/ui/litellm-dashboard/src/components/add_model/handle_add_model_submit.tsx +++ b/ui/litellm-dashboard/src/components/add_model/handle_add_model_submit.tsx @@ -38,10 +38,11 @@ export const prepareModelAddRequest = async (formValues: Record, ac litellmParamsObj["model"] = mapping.litellm_model; // Handle pricing conversion before processing other fields - if (formValues.input_cost_per_token) { + // Use explicit checks to allow 0 (zero cost models for budget bypass) + if (formValues.input_cost_per_token !== undefined && formValues.input_cost_per_token !== null && formValues.input_cost_per_token !== "") { formValues.input_cost_per_token = Number(formValues.input_cost_per_token) / 1000000; } - if (formValues.output_cost_per_token) { + if (formValues.output_cost_per_token !== undefined && formValues.output_cost_per_token !== null && formValues.output_cost_per_token !== "") { formValues.output_cost_per_token = Number(formValues.output_cost_per_token) / 1000000; } // Keep input_cost_per_second as is, no conversion needed @@ -116,7 +117,7 @@ export const prepareModelAddRequest = async (formValues: Record, ac // Handle the pricing fields else if (key === "input_cost_per_token" || key === "output_cost_per_token" || key === "input_cost_per_second") { - if (value) { + if (value !== undefined && value !== null && value !== "") { litellmParamsObj[key] = Number(value); } continue;