diff --git a/api/types.go b/api/types.go index 29e5a699..6789feca 100644 --- a/api/types.go +++ b/api/types.go @@ -82,6 +82,8 @@ type GenerateRequest struct { Options map[string]interface{} `json:"options"` Audio string `json:"audio,omitempty"` + + Transcribe bool `json:"transcribe,omitempty"` } // ChatRequest describes a request sent by [Client.Chat]. diff --git a/server/routes.go b/server/routes.go index 308970bc..0e1cf52e 100644 --- a/server/routes.go +++ b/server/routes.go @@ -287,7 +287,17 @@ func (s *Server) GenerateHandler(c *gin.Context) { return } - req.Prompt = w.Text + if req.Transcribe { + c.JSON(http.StatusOK, api.GenerateResponse{ + Model: req.Model, + CreatedAt: time.Now().UTC(), + Response: w.Text, + Done: true, + DoneReason: "stop", + }) + } + + req.Prompt += w.Text } r, m, opts, err := s.scheduleRunner(c.Request.Context(), req.Model, caps, req.Options, req.KeepAlive)