feat(console): 注册 grok-imagine-video-1.5 并支持原生 1080p - #896
Conversation
- 在 console 媒体目录注册 grok-imagine-video-1.5 视频模型,路由发现与图片/视频能力一致 - VideoRequest 增加 UpstreamModel,GenerateVideo 按实际上游模型分流,不再硬编码 grok-imagine-video - 分辨率规则:基础 grok-imagine-video 仍限 480p/720p;grok-imagine-video-1.5 起原生支持 1080p - 计价:补齐 grok-imagine-video-1.5 的 1080p 档($0.25/s),基础模型明确不计 1080p - 补充 pricing 与 console catalog 的对应单元测试
|
请问 是否存在这个问题 视频生成的 reference_images 被错误当作首帧 |
|
@baiya123 这个问题我们注意到了,也做了实测。 先直接回答:本 PR 不涉及这段逻辑。#896 只做模型注册( 不过 #900「预期行为」的第三条 —— 两个字段可以同时传递并保持各自语义 —— 经实测上游不支持。这也是我们没把这块一起推上来的原因:不是遗漏,而是目前还没找到能同时表达「首帧 + 参考图」的实现路径。 实测记录(2026-08-13,Console 1)同时传 {"code":"invalid-argument","error":"Cannot specify both 'image' and 'reference_images'. Use 'image' for image-to-video or 'reference_images' for reference-to-video."}
上游把这两个字段设计成二选一的两种生成模式(image-to-video vs reference-to-video),不是可叠加的两个输入槽。 2) 3) 结论:在上游放开之前,网关侧能做到最好的是两个字段同时出现时本地直接 400 并说明用法,不要让用户去吃上游报错。我们还在看有没有别的路子能达到同样效果(例如先 image-to-video 出片、再走 复测提醒:Console 团队级限频很紧(实测约 60 RPM, 另外说明本 PR 与 #885 的关系:#885 分支目前已包含模型注册与 1080p 这两块,若 #885 先合入,本 PR 即为冗余,我会主动 close。两者都改到 |
|
#885 已合入 main,本 PR 的三项内容(注册 实测过程中另外发现两处 main 上仍与上游行为不一致的地方( 关于 @baiya123 问的 #900: |
背景
Console 通道目前只注册了
grok-imagine-video(v1),视频生成里把上游模型名硬编码成了grok-imagine-video。实际上 x.ai 已提供grok-imagine-video-1.5,且该模型原生支持 1080p(v1 只有 480p/720p)。本 PR 把 1.5 接进来,并让分辨率与计价随模型区分。改动
console/catalog.go的mediaCatalog增加grok-imagine-video-1.5(Video 能力);model_repository.go的路由发现把它与grok-imagine-video一并识别为 Video 能力。provider.VideoRequest新增UpstreamModel字段,gateway/video.go透传当前路由的上游模型;console/media.go的GenerateVideo不再硬编码grok-imagine-video,改用请求携带的模型名(缺省仍回落到grok-imagine-video,保持向后兼容)。grok-imagine-video维持仅480p/720p;grok-imagine-video-1.5起放行1080p。audit/pricing.go补齐grok-imagine-video-1.5的1080p档(x.ai 官方 $0.25/s,即2_500_000_000ticks/s),并对基础grok-imagine-video的1080p明确返回不支持,避免误计价。console_test.go的路由数量断言(11→12),并在pricing_test.go增加 1.5 的 1080p 估价与还原用例、基础模型拒绝 1080p 的用例。验证
go build ./...、go vet通过。go test ./internal/infra/provider/console/ ./internal/domain/audit/全部通过。说明