diff --git a/models.go b/models.go index 1980938..b9a7297 100644 --- a/models.go +++ b/models.go @@ -14,6 +14,7 @@ import ( type ModelPricing struct { Input float64 `json:"input"` Output float64 `json:"output"` + Image float64 `json:"image,omitzero"` } type Model struct { @@ -99,6 +100,7 @@ func LoadModels(initial bool) error { input, _ := strconv.ParseFloat(model.Pricing.Prompt, 64) output, _ := strconv.ParseFloat(model.Pricing.Completion, 64) + image, _ := strconv.ParseFloat(model.Pricing.Image, 64) m := &Model{ ID: model.ID, @@ -109,6 +111,7 @@ func LoadModels(initial bool) error { Pricing: ModelPricing{ Input: input * 1000000, Output: output * 1000000, + Image: image, }, } diff --git a/static/js/chat.js b/static/js/chat.js index 119a585..d6d4fca 100644 --- a/static/js/chat.js +++ b/static/js/chat.js @@ -1456,10 +1456,13 @@ model.name, separator, `Created:\t\t${formatTimestamp(model.created)}`, - `Pricing/1M:\t$${fixed(model.pricing.input, 2)} In | $${fixed(model.pricing.output, 2)} Out`, + `Pricing/1M:\t${formatMoney(model.pricing.input)} In | ${formatMoney(model.pricing.output)} Out`, + model.pricing.image ? `Images:\t\t${formatMoney(model.pricing.image)} each` : null, separator, stripMarkdown(model.description), - ].join("\n"); + ] + .filter(Boolean) + .join("\n"); el.value = model.id; el.textContent = model.name;