From b1a72f5a1023b6b444354206006e0f55240e1575 Mon Sep 17 00:00:00 2001 From: hobokenchicken Date: Mon, 27 Apr 2026 10:28:39 -0400 Subject: [PATCH] fix: estimate image gen tokens from prompt length instead of hardcoding --- internal/server/server.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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)