Files
ttstd-infinite-canvas/backend/internal/handler/channel_models.go
爱笑的毛毛虫 5088f66e91 fix(canvas): 分镜与视频模型 - 按端点协议适配并修复分镜生成
* fix(backend): 分镜生成 - 自动修复携带原始剧情并支持有界重试

* fix(canvas): 视频模型 - 按端点协议拉取模型并适配分镜视频节点

* fix(canvas): 视频模型 - 保留已有协议并刷新分镜节点模型

* fix(canvas): 引用图预览 - 修正提示面板代码格式

---------

Co-authored-by: sikongyue <3155157671@qq.com>
Co-authored-by: ddCat <2695092045@qq.com>
2026-08-10 01:42:47 +08:00

37 lines
893 B
Go

package handler
import (
"errors"
"net/http"
"time"
"infinite-canvas/backend/internal/service"
"github.com/gin-gonic/gin"
)
func RegisterChannelModelRoutes(r *gin.RouterGroup, svc *service.Service) {
r.POST("/ai/models", func(c *gin.Context) {
user, err := currentUser(c, svc)
if err != nil {
failService(c, err)
return
}
if !enforceRateLimit(c, "channel-models:"+user.ID, 30, time.Minute) {
return
}
var input service.ChannelModelsRequest
if err := c.ShouldBindJSON(&input); err != nil {
fail(c, http.StatusBadRequest, errors.New("模型渠道参数格式错误"))
return
}
// handler 不接触上游响应细节,密钥校验和模型目录解析统一收敛到 service。
models, err := svc.FetchChannelModelCatalog(c.Request.Context(), user, input)
if err != nil {
failService(c, err)
return
}
ok(c, gin.H{"models": models})
})
}