chiyi and Devin
b76e6ab717
feat(model): 同步 vivid 最新变更 — 去模型开关,配价即上架
...
对齐 vivid a338edb / 7fb5c57 / 4f454b6:
- model_configs.enabled 列删除:上架唯一门槛 = 绑定了启用渠道 + 全部档位
有价(视频另需时长有价)。/v1/models、/api/models、video-presets、
managed-models 全部改按 sellable 透出
- 保存渠道即全量同步上游模型(消失解绑/孤儿删除/失败告警不删库)
- v1 job 持久化 upstream jobId,重启后维护循环按 jobId 续等不丢单
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-16 22:01:00 +08:00
chiyi and Devin
b4efe6b192
feat!: 账号池改渠道网关,对外协议换成 vivid /v1
...
- 新增 channels/channel_models:上游 URL + AES-GCM 加密 key +
并发/权重/本地统计,模型经渠道 /v1/models 导入绑定
- internal/upstream:vivid 协议客户端(NDJSON 流 + jobId 断流重连 +
uploads 预签名 + models + balance + 错误分类)
- service/v1 重写:权重分组调度、Redis 并发槽 conc:c:、故障转移,
站内/测试/对外统一走渠道执行器
- 对外端点换成 vivid 四件套:POST /v1/generate(NDJSON+jobId 重连)、
POST /v1/uploads(SigV4 预签名 PUT)、GET /v1/models、GET /v1/balance,
错误包 {"error":{"code","message"}}
- API key 新发改 vk_+48hex;删除全部内置 provider 与 token 池
- 管理端:渠道 CRUD/拉模型/导入/余额端点,前端账号页换渠道页,
概览/文档/测试弹窗适配
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-16 21:14:18 +08:00
chiyi and Devin
1be1b00511
feat(upstream): custom 模型按媒体分类配置参考文件上限
...
- ModelConfig 新增 max_reference_videos / max_reference_audios
(配合既有 max_reference_images);admin 读写接口透传
- custom 模型表单去掉「参考模式」下拉,改为参考图/参考视频/
参考音频三个数量输入;合计张数走 totalRefLimit 校验
- vivid 上游 /v1/uploads 按文件魔数自动选 kind(image/video/
audio)与 mime;openai 协议上游遇视频/音频参考自动跳过换号
- videoCaps 让 custom 模型的分类上限在画图台/文档徽标生效
- reference_mode 请求级 override 放行 "media"
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-14 14:58:34 +08:00
dokploy-bot
42208c0753
security: fix rate-limit bypass, payment amount check, stats leak, owner-dir collision, video panic guard
...
- clientIP: stop trusting client-supplied X-Forwarded-For; use gin ClientIP
with trusted proxies limited to private docker networks
- payment: verify notify money matches order amount; remove hardcoded
gateway default, fail loudly when api_base is unset
- stats: public endpoint now serves aggregates only; recent files (owner
names) moved to admin-only /stats/recent
- auth: reject signups whose username/email-local collides with another
user's media directory namespace
- v1: recover panics in background video jobs, refund + mark failed
2026-09-19 22:13:08 +08:00
chiyi
788c97d9d5
ai去特征展示
2026-07-10 00:23:14 +08:00
chiyi
67354c3b8c
增加随机指纹
2026-07-07 12:03:52 +08:00
chiyi
89e0a9df9f
优化违禁词
2026-07-06 12:18:09 +08:00
chiyi
729a061840
更新统计
2026-07-05 19:54:49 +08:00
chiyi
07aa50e8ff
更新统计
2026-07-05 19:52:47 +08:00
chiyi
10d0732f8c
增加违禁词管理 增加多选操作
2026-07-05 03:00:49 +08:00
chiyi
aef01923b0
支持模型别名
2026-07-04 15:01:24 +08:00
chiyi
03f9744dcb
增加模型别名
2026-07-04 14:49:52 +08:00
chiyi
273892f98f
更新缩略图
2026-07-03 00:15:41 +08:00
chiyi
12070ff4fd
更新日志展示
2026-07-02 14:23:30 +08:00
chiyi and Claude Opus 4.8
1137d0bd1d
feat: 画图台并发重构 + 品牌定制 + 用户备注 + provider/UI 多项修复
...
画图台(并发出图):
- 不再锁定 UI:点「生成」开独立任务,可连续多次并发
- 结果网格一行5个、最多10张,进行中/成功/失败状态回显,刷新保留进行中
- 生图张数 1/2/3/4,各自独立计费出卡
- 点图=参考图(单张替换/多张替换末位);首尾帧模型点视频=抓末帧设为首帧,否则放大
- /logs 新增 statuses=pending,success 服务端过滤(status IN 专用 SQL)
品牌定制(设置→网站):
- 自定义 Logo 图片 + 子标题(公开页头部 + 管理侧栏)
- 邮件验证码标题改用站点名:{title} 邮箱验证码
提示词复制:
- 去掉复制按钮,点提示词文字即复制(预览/后台日志/图片管理/画图记录),统一弹「指令已复制」
- 新增 utils/clipboard.js:execCommand 回退,非安全上下文(http/IP)也能复制
用户管理:列表加「备注」列,新建/编辑可填改备注(默认空)
provider 修复:
- grok 401 正确判死封号(markTokenFailure 漏了 grok 池)
- grok 视频支持 15s
- custom 上游报错去敏感(抹掉上游 URL/IP,改英文短描述)
- custom 去掉额度耗尽锁定:429/欠费当临时错误,账号保持 active
UI/其它:
- 展示位弹窗浅色主题适配(tab 选中高亮、输入框边框)— 主题变量 + 中心补丁
- 自定义模型:时长可填任意秒数 + 15s 预设
- 首页设置/卡密弹窗去固定高度与滚动条
- 顶部菜单「记录」→「图片」
- 下线 Flow provider(代码移除)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-30 01:11:22 +08:00
chiyi and Claude Opus 4.8
17cd289dfd
feat: add Grok (grok.com) video provider; runway nano-banana image; unify runway/grok pool policy
...
- grok provider: imagine text/image-to-video (media.post.create → conversations/new),
GetGrokCreditsConfig credit query (remaining = 100 - used) + weekly reset, spoofed
x-statsig-id (no Cloudflare clearance needed), /api/auth/session email lookup,
6 reference images, 10 concurrent jobs/account, no token refresh (dead = dead)
- runway: nano-banana-2 image flow (Nano Banana 2); drop pre-deduct + post-success
reconcile; out-of-credits/403 → dead (no revive); 10-ratio support
- imagine: drop post-success credit reconcile (consistent with krea)
- account gate: per-account N-concurrency (grok=10, others=1)
- admin: provider health lists all 7 providers; frontend import auto-detects Grok SSO
- docs: README (CN/EN) updated to 7 providers + Grok
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-28 04:01:06 +08:00
chiyi and Claude Opus 4.8
606caaf047
Initial open-source release (MIT): image2api AI gateway
...
Full Go backend + Vue 3 frontend, OpenAI-compatible API, multi-provider
account pools, billing/admin, Docker one-command deploy with auto HTTPS.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-25 22:59:04 +08:00