diff --git a/internal/server/server.go b/internal/server/server.go index bf30d41a..d8a3bb50 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -558,10 +558,16 @@ func (s *Server) handleImageGenerations(c *gin.Context) { return } + // Estimate tokens from prompt text (~4 chars per token) + promptTokens := uint32(len(req.Prompt) / 4) + if promptTokens < 1 { + promptTokens = 1 + } + s.logRequest(startTime, clientID, providerName, req.Model, &models.Usage{ - PromptTokens: 1, + PromptTokens: promptTokens, CompletionTokens: uint32(len(resp.Data)), - TotalTokens: 1 + uint32(len(resp.Data)), + TotalTokens: promptTokens + uint32(len(resp.Data)), }, nil, false) c.JSON(http.StatusOK, resp)