From 92fc973bc3311009d089dcf10721227420424d28 Mon Sep 17 00:00:00 2001 From: feitianbubu Date: Sat, 18 Oct 2025 01:13:54 +0800 Subject: [PATCH] feat: AudioRequest add metadata support custom params --- dto/audio.go | 17 ++++++++++------- relay/channel/volcengine/adaptor.go | 7 +++++++ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/dto/audio.go b/dto/audio.go index c56d6573d..ea51516f8 100644 --- a/dto/audio.go +++ b/dto/audio.go @@ -1,19 +1,22 @@ package dto import ( + "encoding/json" + "github.com/QuantumNous/new-api/types" "github.com/gin-gonic/gin" ) type AudioRequest struct { - Model string `json:"model"` - Input string `json:"input"` - Voice string `json:"voice"` - Instructions string `json:"instructions,omitempty"` - ResponseFormat string `json:"response_format,omitempty"` - Speed float64 `json:"speed,omitempty"` - StreamFormat string `json:"stream_format,omitempty"` + Model string `json:"model"` + Input string `json:"input"` + Voice string `json:"voice"` + Instructions string `json:"instructions,omitempty"` + ResponseFormat string `json:"response_format,omitempty"` + Speed float64 `json:"speed,omitempty"` + StreamFormat string `json:"stream_format,omitempty"` + Metadata json.RawMessage `json:"metadata,omitempty"` } func (r *AudioRequest) GetTokenCountMeta() *types.TokenCountMeta { diff --git a/relay/channel/volcengine/adaptor.go b/relay/channel/volcengine/adaptor.go index 94cb776e8..411bdc8ef 100644 --- a/relay/channel/volcengine/adaptor.go +++ b/relay/channel/volcengine/adaptor.go @@ -75,6 +75,13 @@ func (a *Adaptor) ConvertAudioRequest(c *gin.Context, info *relaycommon.RelayInf }, } + // 同步扩展字段的厂商自定义metadata + if len(request.Metadata) > 0 { + if err = json.Unmarshal(request.Metadata, &volcRequest); err != nil { + return nil, fmt.Errorf("error unmarshalling metadata to volcengine request: %w", err) + } + } + jsonData, err := json.Marshal(volcRequest) if err != nil { return nil, fmt.Errorf("error marshalling volcengine request: %w", err)