Commit Graph
58 Commits
Author SHA1 Message Date
chiyiandDevin 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
chiyiandDevin 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
chiyiandDevin e7a4613bac fix(upstream): vivid 协议的 quality 原样透传分辨率档位
vivid 的 quality 就是模型自己的档位字符串——图像 1K/2K/4K、视频
720p/1080p。之前映射成 OpenAI 的 low/medium/high 导致视频上游收到
"1K" 报 4001 "该模型支持 720p"。现在原样透传,空值才默认 1K。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-14 16:59:13 +08:00
chiyiandDevin 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
chiyiandDevin babfc71f13 feat(upstream): 自定义上游支持 Vivid 协议(/v1/generate NDJSON)
- custom 上游新增 protocol 选项(openai|vivid);vivid 走
  POST /v1/generate NDJSON 流:跳过心跳空行,取末行终态,
  断流携 jobId 重连不重复扣费;参考图先 POST /v1/uploads
  拿预签名再 PUT 直传;错误码 4011/4002/4293/5001/4001 分类
- 添加上游弹窗加协议二选一;账号 meta 存 protocol 并可回显
- 附 vivid 链路单测(成功流/URL 透传/失败帧/错误码/两步上传)

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-14 12:18:26 +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 4fb7fc9204 feat: sync all features to image2api 2026-08-15 23:00:30 +08:00
GlossSeaDress f94a7ace5f feat(api): GET /v1/user/balance 查询用户余额
users 表新增 credits_used(累计消耗积分):扣费累加、失败退款回减(refundIfNeeded / 维护清扫改走 RefundCredits),充值/CDK/签到发放不计入。接口返回 {object,balance,used,total},Bearer API Key 鉴权,与其他 v1 接口同一 CORS 与错误格式。站内接口文档与 README 补充端点说明。
2026-08-10 14:59:48 +08:00
GlossSeaDress 2c47344ed9 fix(leonardo): cookie 写回改 CAS,并补上额度对账后的轮换写回
Leonardo 只认加密的 session_data 缓存,轮换值一旦没存住账号就会被判死。写回原先是无条件 update:长任务(生成、慢额度查询)手里的旧 cookie 完成时会盖掉期间 keepalive 存好的新值。改为 SwapValue(WHERE value = 旧值 才写),旧值无法覆盖新值;reconcileLeonardoCredits 原先完全没写回 FetchCreditsBalance 带回的轮换值,补上。
2026-08-10 12:13:11 +08:00
chiyi 6190f814d9 fix(leonardo): 连续 3 次鉴权失败才判死,get-session 补齐浏览器头并保护 session_data 2026-08-09 02:17:01 +08:00
chiyi 6d17caaf80 feat(leonardo): 接入视频通道并新增 seedance-2.0/minimax-h3 模型 2026-08-08 21:55:33 +08:00
chiyi 6ba80f5109 tweak(video): 视频渲染预算拉到 30 分钟 2026-08-08 11:16:56 +08:00
chiyi ebcf3c5779 feat(grok): 视频改走 Grok Console 并新增图片模型
- grok 视频/图片统一走 console.x.ai:sso 换 DPoP 短期 token,绕开 grok.com 的 statsig 反爬

- 新增 grok-image:不带参考图走 /v1/images/generations,带图自动走 quality 上游 + /v1/images/edits

- grok 额度改本地写死 图5/视频2,成功各扣一次,两份归零直接判死,无恢复时间

- 视频渲染预算统一 20 分钟(adobe/runway/grok/custom)

- 删除参考图人脸打码(facemask + onnxruntime 依赖 + 前台开关)
2026-08-08 11:15:42 +08:00
chiyi 554dea6252 feat(facemask): 黑丝网眼加粗并给 Seedance 提示词追加忽略网格说明 2026-08-07 14:30:43 +08:00
chiyi 2e3a4e9d3f feat: seedance参考图人脸打码(YuNet+切块旋转/白点阵) + VIP零额度降级 + veo3.1 1080p + CGO Dockerfile 2026-08-07 10:08:24 +08:00
chiyi f76ecd5769 feat: 二次元前端改版 + 后端账号plan探测/调度修复 2026-08-06 10:11:05 +08:00
chiyi 7f4701d362 feat: veo3.1 拆分 fast/standard, seedance双模型, per_second定价, 子号过滤, 随机种子, UI优化 2026-08-03 20:27:20 +08:00
chiyi 4987717d23 feat: Adobe积分号不锁定额度 + Nano Banana双通道 + 前端显示额度
- Adobe不再区分视频/图片额度,移除ImageLimited/VideoLimited限制
- Adobe积分号quota耗尽不锁定(status不改为quota),只记录失败用于轮转
- Nano Banana 2/Pro 保留Runway通道,新增nano-banana-2/nano-banana-pro走Adobe
- Adobe模型重命名: runway-nano-banana-2, runway-nano-banana-pro
- 前端管理后台Adobe账号显示积分余额(之前固定显示—)
- README更新模型列表
2026-08-02 20:09:03 +08:00
chiyi cd0b7090f2 refactor(adobe): switch to express.adobe.com origin, remove ErrAuthPermanent, simplify ARP session/PID 2026-08-02 00:07:17 +08:00
chiyi 0a1811b254 优化408 2026-08-01 14:44:05 +08:00
chiyi b0cd4a8b33 参考图适配 2026-07-19 11:34:14 +08:00
chiyi 50060f9180 去掉oss保存 2026-07-19 11:23:48 +08:00
chiyi 60be9201e5 支持远程url吗 2026-07-16 00:50:27 +08:00
chiyi 8d792e66e0 加回 nano-banana-2 与 nano-banana-pro 并存 2026-07-10 12:02:14 +08:00
chiyi 2afb4e7857 nano-banana-2 升级为 nano-banana-pro (workflow_gemini_image / gemini-3-pro-image-preview, 支持 2K/4K) 2026-07-10 11:19:51 +08:00
chiyi a636f79cd8 更新 2026-07-10 10:59:14 +08:00
chiyi 788c97d9d5 ai去特征展示 2026-07-10 00:23:14 +08:00
chiyi 6a3588b35b ai去特征增加开关 2026-07-10 00:13:09 +08:00
chiyi 6d6bd2a638 增加ai去特征 2026-07-09 23:48:58 +08:00
chiyi 81c040cb0b 优化上游错误重试 2026-07-09 17:45:31 +08:00
chiyi 98b5f5a5c3 chatgot更新换号重试 2026-07-08 13:13:25 +08:00
chiyi 5e809d375b 更新调度 2026-07-07 13:22:34 +08:00
chiyi ce390d9b67 增加指纹随机 2026-07-07 12:28:02 +08:00
chiyi 10c312eb09 修复账号没了找不到email 2026-07-06 18:36:11 +08:00
chiyi c25e162841 grok 判死 2026-07-06 15:43:31 +08:00
chiyi 23dd70505a 优化违禁词 2026-07-06 14:28:43 +08:00
chiyi 89e0a9df9f 优化违禁词 2026-07-06 12:18:09 +08:00
chiyi e517c56225 更新chatgpt协议 2026-07-06 10:21:44 +08:00
chiyi 28fe59a1af 修复视频分辨率问题 2026-07-05 14:35:36 +08:00
chiyi 06f16e7924 所有拦截请求都写入日志 2026-07-05 03:15:43 +08:00
chiyi 10d0732f8c 增加违禁词管理 增加多选操作 2026-07-05 03:00:49 +08:00
chiyi fab9998a18 更新调度 2026-07-04 15:38:32 +08:00
chiyi daad121f12 优化调度 2026-07-04 15:23:43 +08:00
chiyi 03f9744dcb 增加模型别名 2026-07-04 14:49:52 +08:00
chiyi f9e72c0168 修复bug 2026-07-03 18:12:46 +08:00
chiyi 53dc178804 更新尺寸兼容 2026-07-03 10:27:49 +08:00
chiyi 1f205fc096 修复分辨率 2026-07-03 10:13:48 +08:00
chiyi 273892f98f 更新缩略图 2026-07-03 00:15:41 +08:00
chiyi c5a059df6c 去掉1500字数限制 2026-07-02 20:54:52 +08:00
chiyi 7a168a1dd8 adobe限流不封号 2026-07-02 16:59:27 +08:00