✨ feat(kling): send both model_name and model fields for upstream compatibility
Some upstream Kling deployments still expect the legacy `model` key instead of `model_name`. This change adds the `model` field to `requestPayload` and populates it with the same value as `model_name`, ensuring the generated JSON works with both old and new versions. Changes: • Added `Model string "json:\"model,omitempty\""` to `requestPayload` • Set `Model` alongside `ModelName` in `convertToRequestPayload` • Updated comments to clarify compatibility purpose Result: Kling task requests now contain both `model_name` and `model`, removing integration issues with upstreams that only recognize one of the keys.
This commit is contained in:
@@ -18,7 +18,7 @@ func KlingRequestConvert() func(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
// 支持 model_name 和 model 两个字段
|
||||
// Support both model_name and model fields
|
||||
model, _ := originalReq["model_name"].(string)
|
||||
if model == "" {
|
||||
model, _ = originalReq["model"].(string)
|
||||
|
||||
@@ -44,6 +44,7 @@ type requestPayload struct {
|
||||
Duration string `json:"duration,omitempty"`
|
||||
AspectRatio string `json:"aspect_ratio,omitempty"`
|
||||
ModelName string `json:"model_name,omitempty"`
|
||||
Model string `json:"model,omitempty"` // Compatible with upstreams that only recognize "model"
|
||||
CfgScale float64 `json:"cfg_scale,omitempty"`
|
||||
}
|
||||
|
||||
@@ -227,6 +228,7 @@ func (a *TaskAdaptor) convertToRequestPayload(req *SubmitReq) (*requestPayload,
|
||||
Duration: fmt.Sprintf("%d", defaultInt(req.Duration, 5)),
|
||||
AspectRatio: a.getAspectRatio(req.Size),
|
||||
ModelName: req.Model,
|
||||
Model: req.Model, // Keep consistent with model_name, double writing improves compatibility
|
||||
CfgScale: 0.5,
|
||||
}
|
||||
if r.ModelName == "" {
|
||||
|
||||
Reference in New Issue
Block a user