diff --git a/relay/relay-audio.go b/relay/relay-audio.go index d4458ce..6c1ca25 100644 --- a/relay/relay-audio.go +++ b/relay/relay-audio.go @@ -100,6 +100,22 @@ func AudioHelper(c *gin.Context, relayMode int) *dto.OpenAIErrorWithStatusCode { } } + succeed := false + defer func() { + if succeed { + return + } + if preConsumedQuota > 0 { + // we need to roll back the pre-consumed quota + defer func() { + go func() { + // negative means add quota back for token & user + returnPreConsumedQuota(c, tokenId, userQuota, preConsumedQuota) + }() + }() + } + }() + // map model name modelMapping := c.GetString("model_mapping") if modelMapping != "" { @@ -163,6 +179,7 @@ func AudioHelper(c *gin.Context, relayMode int) *dto.OpenAIErrorWithStatusCode { if resp.StatusCode != http.StatusOK { return relaycommon.RelayErrorHandler(resp) } + succeed = true var audioResponse dto.AudioResponse diff --git a/relay/relay-image.go b/relay/relay-image.go index aabe4ba..a43daeb 100644 --- a/relay/relay-image.go +++ b/relay/relay-image.go @@ -34,7 +34,7 @@ func RelayImageHelper(c *gin.Context, relayMode int) *dto.OpenAIErrorWithStatusC } if imageRequest.Model == "" { - imageRequest.Model = "dall-e-2" + imageRequest.Model = "dall-e-3" } if imageRequest.Size == "" { imageRequest.Size = "1024x1024"